From edc48bbaae647bbf0e1ee61eae5fcecb751525ea Mon Sep 17 00:00:00 2001 From: x Date: Thu, 2 Mar 2023 00:59:58 +0800 Subject: [PATCH] wahway --- arch/arm/Kconfig | 7 + arch/arm/Makefile | 6 + arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/hi3716cv200.dts | 231 + arch/arm/boot/dts/hi3716dv100.dts | 534 ++ arch/arm/boot/dts/hi3716mv410.dts | 610 +++ arch/arm/boot/dts/hi3716mv420n.dts | 613 +++ arch/arm/boot/dts/hi3796mv200.dts | 908 ++++ arch/arm/boot/dts/hi3796mv200_fpga_umap6.dts | 734 +++ arch/arm/boot/dts/hi3798cv200.dts | 845 ++++ arch/arm/boot/dts/hi3798mv100.dts | 587 +++ arch/arm/boot/dts/hi3798mv200.dts | 867 ++++ arch/arm/configs/hi3716dv100_defconfig | 3381 +++++++++++++ arch/arm/configs/hi3716dv100_loader_defconfig | 2476 ++++++++++ .../hi3716mv410_420_ca_debug_defconfig | 2390 +++++++++ .../hi3716mv410_420_ca_lxc_debug_defconfig | 2373 +++++++++ .../hi3716mv410_420_ca_lxc_release_defconfig | 2295 +++++++++ .../hi3716mv410_420_ca_release_defconfig | 1949 ++++++++ .../hi3716mv410_420_loader_ca_debug_defconfig | 2208 +++++++++ ...i3716mv410_420_loader_ca_release_defconfig | 1907 ++++++++ .../configs/hi3716mv410_420_loader_defconfig | 2275 +++++++++ arch/arm/configs/hi3716mv410_defconfig | 3221 ++++++++++++ arch/arm/configs/hi3716mv420_defconfig | 3876 +++++++++++++++ arch/arm/configs/hi3716mv420n_defconfig | 3793 ++++++++++++++ .../arm/configs/hi3796mv100_android_defconfig | 3814 +++++++++++++++ arch/arm/configs/hi3796mv100_defconfig | 3384 +++++++++++++ arch/arm/configs/hi3796mv100_loader_defconfig | 2476 ++++++++++ .../arm/configs/hi3796mv200_android_defconfig | 4354 ++++++++++++++++ arch/arm/configs/hi3796mv200_defconfig | 3966 +++++++++++++++ arch/arm/configs/hi3796mv200_loader_defconfig | 2430 +++++++++ .../arm/configs/hi3798cv200_android_defconfig | 4347 ++++++++++++++++ arch/arm/configs/hi3798cv200_defconfig | 3854 +++++++++++++++ arch/arm/configs/hi3798cv200_loader_defconfig | 2417 +++++++++ .../arm/configs/hi3798mv100_android_defconfig | 3814 +++++++++++++++ arch/arm/configs/hi3798mv100_defconfig | 3384 +++++++++++++ arch/arm/configs/hi3798mv100_loader_defconfig | 2476 ++++++++++ arch/arm/configs/hi3798mv200_a_defconfig | 3950 +++++++++++++++ .../arm/configs/hi3798mv200_android_defconfig | 4355 +++++++++++++++++ arch/arm/configs/hi3798mv200_defconfig | 3966 +++++++++++++++ arch/arm/configs/hi3798mv200_loader_defconfig | 2431 +++++++++ arch/arm/mach-hi3716mv420n/Kconfig | 33 + arch/arm/mach-hi3716mv420n/Makefile | 12 + arch/arm/mach-hi3716mv420n/Makefile.boot | 4 + arch/arm/mach-hi3716mv420n/core.c | 124 + arch/arm/mach-hi3716mv420n/headsmp.S | 98 + arch/arm/mach-hi3716mv420n/hi_cma.c | 136 + arch/arm/mach-hi3716mv420n/hotplug.c | 161 + arch/arm/mach-hi3716mv420n/hotplug.h | 32 + .../include/mach/debug-macro.S | 9 + .../mach-hi3716mv420n/include/mach/hardware.h | 13 + arch/arm/mach-hi3716mv420n/include/mach/io.h | 30 + .../arm/mach-hi3716mv420n/include/mach/irqs.h | 54 + .../mach-hi3716mv420n/include/mach/memory.h | 20 + .../mach-hi3716mv420n/include/mach/platform.h | 164 + .../mach-hi3716mv420n/include/mach/timex.h | 6 + .../include/mach/uncompress.h | 38 + arch/arm/mach-hi3716mv420n/platsmp.c | 192 + arch/arm/mach-hi3716mv420n/platsmp.h | 30 + arch/arm/mach-hi3716mv420n/pmu.c | 71 + arch/arm/mach-hi3796mv2x/Kconfig | 29 + arch/arm/mach-hi3796mv2x/Makefile | 12 + arch/arm/mach-hi3796mv2x/Makefile.boot | 4 + arch/arm/mach-hi3796mv2x/core.c | 154 + arch/arm/mach-hi3796mv2x/headsmp.S | 78 + arch/arm/mach-hi3796mv2x/hotplug.c | 131 + arch/arm/mach-hi3796mv2x/hotplug.h | 29 + .../include/mach/debug-macro.S | 10 + .../mach-hi3796mv2x/include/mach/hardware.h | 13 + arch/arm/mach-hi3796mv2x/include/mach/io.h | 22 + arch/arm/mach-hi3796mv2x/include/mach/irqs.h | 38 + .../arm/mach-hi3796mv2x/include/mach/memory.h | 20 + .../mach-hi3796mv2x/include/mach/platform.h | 169 + arch/arm/mach-hi3796mv2x/include/mach/timex.h | 6 + .../mach-hi3796mv2x/include/mach/uncompress.h | 38 + arch/arm/mach-hi3796mv2x/platsmp.c | 199 + arch/arm/mach-hi3796mv2x/platsmp.h | 30 + arch/arm/mach-hi3796mv2x/pmu.c | 30 + arch/arm/mach-hi3798cv2x/Kconfig | 29 + arch/arm/mach-hi3798cv2x/Makefile | 12 + arch/arm/mach-hi3798cv2x/Makefile.boot | 4 + arch/arm/mach-hi3798cv2x/core.c | 155 + arch/arm/mach-hi3798cv2x/headsmp.S | 82 + arch/arm/mach-hi3798cv2x/hotplug.c | 125 + arch/arm/mach-hi3798cv2x/hotplug.h | 29 + .../mach-hi3798cv2x/include/mach/hardware.h | 13 + arch/arm/mach-hi3798cv2x/include/mach/io.h | 22 + arch/arm/mach-hi3798cv2x/include/mach/irqs.h | 38 + .../arm/mach-hi3798cv2x/include/mach/memory.h | 20 + .../mach-hi3798cv2x/include/mach/platform.h | 163 + arch/arm/mach-hi3798cv2x/include/mach/timex.h | 6 + .../mach-hi3798cv2x/include/mach/uncompress.h | 38 + arch/arm/mach-hi3798cv2x/platsmp.c | 187 + arch/arm/mach-hi3798cv2x/platsmp.h | 30 + arch/arm/mach-hi3798cv2x/pmu.c | 30 + arch/arm/mach-hi3798mv2x/Kconfig | 44 + arch/arm/mach-hi3798mv2x/Makefile | 12 + arch/arm/mach-hi3798mv2x/Makefile.boot | 4 + arch/arm/mach-hi3798mv2x/core.c | 155 + arch/arm/mach-hi3798mv2x/headsmp.S | 81 + arch/arm/mach-hi3798mv2x/hotplug.c | 125 + arch/arm/mach-hi3798mv2x/hotplug.h | 29 + .../include/mach/debug-macro.S | 10 + .../mach-hi3798mv2x/include/mach/hardware.h | 13 + arch/arm/mach-hi3798mv2x/include/mach/io.h | 22 + arch/arm/mach-hi3798mv2x/include/mach/irqs.h | 38 + .../arm/mach-hi3798mv2x/include/mach/memory.h | 20 + .../mach-hi3798mv2x/include/mach/platform.h | 168 + arch/arm/mach-hi3798mv2x/include/mach/timex.h | 6 + .../mach-hi3798mv2x/include/mach/uncompress.h | 38 + arch/arm/mach-hi3798mv2x/platsmp.c | 200 + arch/arm/mach-hi3798mv2x/platsmp.h | 30 + arch/arm/mach-hi3798mv2x/pmu.c | 30 + arch/arm/mach-hi3798mx/Kconfig | 54 + arch/arm/mach-hi3798mx/Makefile | 13 + arch/arm/mach-hi3798mx/Makefile.boot | 4 + arch/arm/mach-hi3798mx/core.c | 150 + arch/arm/mach-hi3798mx/headsmp.S | 92 + arch/arm/mach-hi3798mx/hotplug.c | 165 + arch/arm/mach-hi3798mx/hotplug.h | 29 + .../mach-hi3798mx/include/mach/debug-macro.S | 10 + .../arm/mach-hi3798mx/include/mach/hardware.h | 13 + arch/arm/mach-hi3798mx/include/mach/io.h | 30 + arch/arm/mach-hi3798mx/include/mach/irqs.h | 51 + arch/arm/mach-hi3798mx/include/mach/memory.h | 20 + .../arm/mach-hi3798mx/include/mach/platform.h | 159 + arch/arm/mach-hi3798mx/include/mach/timex.h | 6 + .../mach-hi3798mx/include/mach/uncompress.h | 40 + arch/arm/mach-hi3798mx/platsmp.c | 210 + arch/arm/mach-hi3798mx/platsmp.h | 30 + arch/arm/mach-hi3798mx/pmu.c | 30 + arch/arm/mach-s40/Kconfig | 33 + arch/arm/mach-s40/Makefile | 12 + arch/arm/mach-s40/Makefile.boot | 4 + arch/arm/mach-s40/core.c | 124 + arch/arm/mach-s40/headsmp.S | 98 + arch/arm/mach-s40/hi_cma.c | 136 + arch/arm/mach-s40/hotplug.c | 161 + arch/arm/mach-s40/hotplug.h | 32 + arch/arm/mach-s40/include/mach/debug-macro.S | 9 + arch/arm/mach-s40/include/mach/hardware.h | 13 + arch/arm/mach-s40/include/mach/io.h | 30 + arch/arm/mach-s40/include/mach/irqs.h | 54 + arch/arm/mach-s40/include/mach/memory.h | 20 + arch/arm/mach-s40/include/mach/platform.h | 156 + arch/arm/mach-s40/include/mach/timex.h | 6 + arch/arm/mach-s40/include/mach/uncompress.h | 38 + arch/arm/mach-s40/platsmp.c | 192 + arch/arm/mach-s40/platsmp.h | 30 + arch/arm/mach-s40/pmu.c | 71 + drivers/clk/Makefile | 2 +- drivers/clk/hisilicon/Kconfig | 4 +- drivers/clk/hisilicon/crg-hi3798cv200.c | 54 +- drivers/i2c/busses/Kconfig | 2 +- drivers/media/rc/rc-core-priv.h | 5 + drivers/mtd/Kconfig | 2 + drivers/mtd/Makefile | 1 + drivers/mtd/devices/Kconfig | 2 + drivers/mtd/devices/Makefile | 1 + drivers/mtd/devices/hisfc350/Kconfig | 10 + drivers/mtd/devices/hisfc350/Makefile | 7 + drivers/mtd/devices/hisfc350/hisfc350.c | 873 ++++ drivers/mtd/devices/hisfc350/hisfc350.h | 205 + .../devices/hisfc350/hisfc350_s40_spi_ids.c | 2308 +++++++++ .../devices/hisfc350/hisfc350_spi_general.c | 122 + .../devices/hisfc350/hisfc350_spi_n25q256a.c | 46 + .../devices/hisfc350/hisfc350_spi_s25fl256s.c | 54 + drivers/mtd/devices/hisfc350/hisfc_ids.c | 81 + drivers/mtd/devices/hisfc350/hisfc_ids.h | 122 + drivers/mtd/hisilicon/Kconfig | 29 + drivers/mtd/hisilicon/Makefile | 12 + drivers/mtd/hisilicon/flash_cache.c | 1018 ++++ drivers/mtd/hisilicon/flash_cache.h | 70 + drivers/mtd/hisilicon/hiflash.c | 168 + drivers/mtd/hisilicon/hiflash.h | 305 ++ drivers/mtd/hisilicon/hifmc100/Makefile | 14 + .../hifmc100/hifmc100_clock_hi3716mv410.c | 69 + .../hifmc100/hifmc100_clock_hi3796mv2x.c | 70 + .../hifmc100/hifmc100_clock_hi3798cv2x.c | 71 + .../hifmc100/hifmc100_clock_hi3798mv2x.c | 63 + .../mtd/hisilicon/hifmc100/hifmc100_host.c | 586 +++ .../mtd/hisilicon/hifmc100/hifmc100_host.h | 200 + drivers/mtd/hisilicon/hifmc100/hifmc100_reg.h | 201 + .../mtd/hisilicon/hifmc100/hifmc100_spinor.c | 654 +++ .../mtd/hisilicon/hifmc100/hifmc100_xnand.c | 2075 ++++++++ drivers/mtd/hisilicon/nand_ids.c | 597 +++ drivers/mtd/hisilicon/readretry/Makefile | 6 + drivers/mtd/hisilicon/readretry/read_retry.c | 47 + drivers/mtd/hisilicon/readretry/read_retry.h | 30 + .../hisilicon/readretry/read_retry_hynix.c | 103 + .../hisilicon/readretry/read_retry_micron.c | 63 + .../hisilicon/readretry/read_retry_samsung.c | 95 + .../readretry/read_retry_toshiba_v2012.c | 115 + .../readretry/read_retry_toshiba_v2013.c | 159 + drivers/mtd/hisilicon/regop_intf.c | 414 ++ drivers/mtd/hisilicon/spinand_driver.c | 238 + drivers/mtd/hisilicon/spinand_ids.c | 194 + drivers/mtd/hisilicon/spinor_driver.c | 282 ++ drivers/mtd/hisilicon/spinor_ids.c | 122 + drivers/mtd/nand/hinfc610/Kconfig | 93 + drivers/mtd/nand/hinfc610/Makefile | 33 + drivers/mtd/nand/hinfc610/hinfc610.c | 1358 +++++ drivers/mtd/nand/hinfc610/hinfc610.h | 483 ++ drivers/mtd/nand/hinfc610/hinfc610_cache.c | 1589 ++++++ drivers/mtd/nand/hinfc610/hinfc610_cache.h | 61 + drivers/mtd/nand/hinfc610/hinfc610_dbg.c | 290 ++ drivers/mtd/nand/hinfc610/hinfc610_dbg.h | 35 + .../mtd/nand/hinfc610/hinfc610_dbg_cache.c | 79 + drivers/mtd/nand/hinfc610/hinfc610_dbg_dump.c | 440 ++ .../nand/hinfc610/hinfc610_dbg_ecc_count.c | 485 ++ .../mtd/nand/hinfc610/hinfc610_dbg_ecc_dump.c | 126 + .../nand/hinfc610/hinfc610_dbg_erase_count.c | 301 ++ drivers/mtd/nand/hinfc610/hinfc610_dbg_inf.c | 69 + drivers/mtd/nand/hinfc610/hinfc610_dbg_inf.h | 23 + .../nand/hinfc610/hinfc610_dbg_read_count.c | 233 + .../nand/hinfc610/hinfc610_dbg_read_retry.c | 367 ++ drivers/mtd/nand/hinfc610/hinfc610_ecc_info.c | 378 ++ drivers/mtd/nand/hinfc610/hinfc610_ecc_info.h | 29 + drivers/mtd/nand/hinfc610/hinfc610_gen.c | 80 + drivers/mtd/nand/hinfc610/hinfc610_gen.h | 47 + .../mtd/nand/hinfc610/hinfc610_hi3716mv310.c | 17 + drivers/mtd/nand/hinfc610/hinfc610_hifone.c | 56 + drivers/mtd/nand/hinfc610/hinfc610_os.c | 324 ++ drivers/mtd/nand/hinfc610/hinfc610_os.h | 35 + .../mtd/nand/hinfc610/hinfc610_read_retry.c | 42 + .../mtd/nand/hinfc610/hinfc610_read_retry.h | 15 + .../hinfc610_read_retry_hynix_bg_bdie.c | 127 + .../hinfc610_read_retry_hynix_bg_cdie.c | 246 + .../hinfc610_read_retry_hynix_cg_adie.c | 252 + .../hinfc610/hinfc610_read_retry_micron.c | 87 + .../hinfc610/hinfc610_read_retry_samsung.c | 106 + .../hinfc610_read_retry_toshiba_v2012.c | 110 + .../hinfc610_read_retry_toshiba_v2013.c | 147 + drivers/mtd/nand/hinfc610/hinfc610_rw_latch.c | 25 + drivers/mtd/nand/hinfc610/hinfc610_rw_latch.h | 21 + .../hinfc610/hinfc610_rw_latch_hi3716mv310.c | 31 + .../hinfc610/hinfc610_rw_latch_hi3798mv100.c | 31 + .../nand/hinfc610/hinfc610_rw_latch_hifone.c | 35 + .../mtd/nand/hinfc610/hinfc610_rw_latch_s40.c | 21 + drivers/mtd/nand/hinfc610/hinfc610_s40.c | 55 + drivers/mtd/nand/hinfc610/hinfc610_sync.c | 181 + drivers/mtd/nand/hinfc610/hinfc610_sync.h | 15 + .../mtd/nand/hinfc610/hinfc610_sync_onfi_23.c | 95 + .../mtd/nand/hinfc610/hinfc610_sync_toggle.c | 89 + drivers/mtd/nand/hinfc610/hinfc620_gen.c | 77 + drivers/mtd/nand/hinfc610/hinfc620_gen.h | 43 + drivers/mtd/nand/hinfc_gen.c | 166 + drivers/mtd/nand/hinfc_gen.h | 204 + drivers/mtd/nand/hinfc_spl_ids.c | 763 +++ drivers/net/ethernet/Kconfig | 1 + drivers/net/ethernet/Makefile | 1 + drivers/net/ethernet/hieth/Kconfig | 22 + drivers/net/ethernet/hieth/Makefile | 6 + drivers/net/ethernet/hieth/autoeee.c | 219 + drivers/net/ethernet/hieth/hieth.c | 1540 ++++++ drivers/net/ethernet/hieth/hieth.h | 338 ++ drivers/net/ethernet/hieth/hieth_dbg.c | 322 ++ drivers/net/ethernet/hieth/hieth_dbg.h | 16 + drivers/net/ethernet/hieth/mdio.c | 184 + drivers/net/ethernet/hieth/mdio.h | 64 + drivers/net/ethernet/hieth/phy.c | 2639 ++++++++++ drivers/net/ethernet/hieth/phy.h | 34 + drivers/net/ethernet/hieth/pm.c | 325 ++ drivers/net/ethernet/hisilicon/Kconfig | 2 + drivers/net/ethernet/hisilicon/Makefile | 1 + drivers/net/ethernet/hisilicon/higmac/Kconfig | 36 + .../net/ethernet/hisilicon/higmac/Makefile | 2 + .../hisilicon/higmac/autoeee/autoeee.c | 105 + .../hisilicon/higmac/autoeee/autoeee.h | 35 + .../hisilicon/higmac/autoeee/phy_id_table.c | 165 + drivers/net/ethernet/hisilicon/higmac/board.c | 221 + .../ethernet/hisilicon/higmac/festa_v200.h | 1064 ++++ .../hisilicon/higmac/festa_v300_2204.h | 2713 ++++++++++ .../net/ethernet/hisilicon/higmac/higmac.c | 2930 +++++++++++ .../net/ethernet/hisilicon/higmac/higmac.h | 554 +++ drivers/net/ethernet/hisilicon/higmac/mdio.c | 52 + drivers/net/ethernet/hisilicon/higmac/mdio.h | 89 + .../net/ethernet/hisilicon/higmac/phy_fix.c | 376 ++ .../net/ethernet/hisilicon/higmac/phy_fix.h | 44 + drivers/net/ethernet/hisilicon/higmac/pm.c | 357 ++ .../net/ethernet/hisilicon/higmac/proc-dev.c | 146 + .../net/ethernet/hisilicon/higmac/sockioctl.h | 12 + drivers/net/ethernet/hisilicon/higmac/tso.h | 53 + drivers/net/ethernet/hisilicon/higmac/util.h | 44 + drivers/net/phy/Kconfig | 5 + drivers/net/phy/Makefile | 1 + drivers/net/phy/hisilicon.c | 499 ++ drivers/phy/hisilicon/Kconfig | 2 +- drivers/phy/hisilicon/phy-hisi-inno-usb2.c | 16 +- include/dt-bindings/clock/hi3716cv200-clock.h | 120 + include/dt-bindings/clock/hi3796mv200-clock.h | 134 + include/dt-bindings/clock/hi3798cv200-clock.h | 132 + include/dt-bindings/clock/hi3798mv100-clock.h | 117 + include/dt-bindings/clock/hi3798mv200-clock.h | 130 + include/dt-bindings/clock/histb-clock.h | 13 +- include/linux/cpuhotplug.h | 1 + include/linux/hikapi.h | 97 + include/linux/hisilicon/cputable.h | 81 + include/linux/hisilicon/flash_stats.h | 40 + include/linux/hisilicon/freq.h | 43 + include/linux/hisilicon/himisc.h | 56 + include/linux/hisilicon/hiotg.h | 46 + include/linux/hisilicon/hisi-iommu.h | 69 + include/linux/hisilicon/platform.h | 4 + include/linux/hisilicon/rdr_pub.h | 373 ++ include/linux/hisilicon/rdr_types.h | 21 + include/linux/hisilicon/tee_smmu.h | 214 + include/media/rc-map.h | 3 + include/uapi/linux/lirc.h | 5 +- 308 files changed, 138978 insertions(+), 20 deletions(-) create mode 100644 arch/arm/boot/dts/hi3716cv200.dts create mode 100644 arch/arm/boot/dts/hi3716dv100.dts create mode 100644 arch/arm/boot/dts/hi3716mv410.dts create mode 100644 arch/arm/boot/dts/hi3716mv420n.dts create mode 100644 arch/arm/boot/dts/hi3796mv200.dts create mode 100644 arch/arm/boot/dts/hi3796mv200_fpga_umap6.dts create mode 100644 arch/arm/boot/dts/hi3798cv200.dts create mode 100644 arch/arm/boot/dts/hi3798mv100.dts create mode 100644 arch/arm/boot/dts/hi3798mv200.dts create mode 100644 arch/arm/configs/hi3716dv100_defconfig create mode 100644 arch/arm/configs/hi3716dv100_loader_defconfig create mode 100644 arch/arm/configs/hi3716mv410_420_ca_debug_defconfig create mode 100644 arch/arm/configs/hi3716mv410_420_ca_lxc_debug_defconfig create mode 100644 arch/arm/configs/hi3716mv410_420_ca_lxc_release_defconfig create mode 100644 arch/arm/configs/hi3716mv410_420_ca_release_defconfig create mode 100644 arch/arm/configs/hi3716mv410_420_loader_ca_debug_defconfig create mode 100644 arch/arm/configs/hi3716mv410_420_loader_ca_release_defconfig create mode 100644 arch/arm/configs/hi3716mv410_420_loader_defconfig create mode 100644 arch/arm/configs/hi3716mv410_defconfig create mode 100644 arch/arm/configs/hi3716mv420_defconfig create mode 100644 arch/arm/configs/hi3716mv420n_defconfig create mode 100644 arch/arm/configs/hi3796mv100_android_defconfig create mode 100644 arch/arm/configs/hi3796mv100_defconfig create mode 100644 arch/arm/configs/hi3796mv100_loader_defconfig create mode 100644 arch/arm/configs/hi3796mv200_android_defconfig create mode 100644 arch/arm/configs/hi3796mv200_defconfig create mode 100644 arch/arm/configs/hi3796mv200_loader_defconfig create mode 100644 arch/arm/configs/hi3798cv200_android_defconfig create mode 100644 arch/arm/configs/hi3798cv200_defconfig create mode 100644 arch/arm/configs/hi3798cv200_loader_defconfig create mode 100644 arch/arm/configs/hi3798mv100_android_defconfig create mode 100644 arch/arm/configs/hi3798mv100_defconfig create mode 100644 arch/arm/configs/hi3798mv100_loader_defconfig create mode 100644 arch/arm/configs/hi3798mv200_a_defconfig create mode 100644 arch/arm/configs/hi3798mv200_android_defconfig create mode 100644 arch/arm/configs/hi3798mv200_defconfig create mode 100644 arch/arm/configs/hi3798mv200_loader_defconfig create mode 100644 arch/arm/mach-hi3716mv420n/Kconfig create mode 100644 arch/arm/mach-hi3716mv420n/Makefile create mode 100644 arch/arm/mach-hi3716mv420n/Makefile.boot create mode 100644 arch/arm/mach-hi3716mv420n/core.c create mode 100644 arch/arm/mach-hi3716mv420n/headsmp.S create mode 100644 arch/arm/mach-hi3716mv420n/hi_cma.c create mode 100644 arch/arm/mach-hi3716mv420n/hotplug.c create mode 100644 arch/arm/mach-hi3716mv420n/hotplug.h create mode 100644 arch/arm/mach-hi3716mv420n/include/mach/debug-macro.S create mode 100644 arch/arm/mach-hi3716mv420n/include/mach/hardware.h create mode 100644 arch/arm/mach-hi3716mv420n/include/mach/io.h create mode 100644 arch/arm/mach-hi3716mv420n/include/mach/irqs.h create mode 100644 arch/arm/mach-hi3716mv420n/include/mach/memory.h create mode 100644 arch/arm/mach-hi3716mv420n/include/mach/platform.h create mode 100644 arch/arm/mach-hi3716mv420n/include/mach/timex.h create mode 100644 arch/arm/mach-hi3716mv420n/include/mach/uncompress.h create mode 100644 arch/arm/mach-hi3716mv420n/platsmp.c create mode 100644 arch/arm/mach-hi3716mv420n/platsmp.h create mode 100644 arch/arm/mach-hi3716mv420n/pmu.c create mode 100644 arch/arm/mach-hi3796mv2x/Kconfig create mode 100644 arch/arm/mach-hi3796mv2x/Makefile create mode 100644 arch/arm/mach-hi3796mv2x/Makefile.boot create mode 100644 arch/arm/mach-hi3796mv2x/core.c create mode 100644 arch/arm/mach-hi3796mv2x/headsmp.S create mode 100644 arch/arm/mach-hi3796mv2x/hotplug.c create mode 100644 arch/arm/mach-hi3796mv2x/hotplug.h create mode 100644 arch/arm/mach-hi3796mv2x/include/mach/debug-macro.S create mode 100644 arch/arm/mach-hi3796mv2x/include/mach/hardware.h create mode 100644 arch/arm/mach-hi3796mv2x/include/mach/io.h create mode 100644 arch/arm/mach-hi3796mv2x/include/mach/irqs.h create mode 100644 arch/arm/mach-hi3796mv2x/include/mach/memory.h create mode 100644 arch/arm/mach-hi3796mv2x/include/mach/platform.h create mode 100644 arch/arm/mach-hi3796mv2x/include/mach/timex.h create mode 100644 arch/arm/mach-hi3796mv2x/include/mach/uncompress.h create mode 100644 arch/arm/mach-hi3796mv2x/platsmp.c create mode 100644 arch/arm/mach-hi3796mv2x/platsmp.h create mode 100644 arch/arm/mach-hi3796mv2x/pmu.c create mode 100644 arch/arm/mach-hi3798cv2x/Kconfig create mode 100644 arch/arm/mach-hi3798cv2x/Makefile create mode 100644 arch/arm/mach-hi3798cv2x/Makefile.boot create mode 100644 arch/arm/mach-hi3798cv2x/core.c create mode 100644 arch/arm/mach-hi3798cv2x/headsmp.S create mode 100644 arch/arm/mach-hi3798cv2x/hotplug.c create mode 100644 arch/arm/mach-hi3798cv2x/hotplug.h create mode 100644 arch/arm/mach-hi3798cv2x/include/mach/hardware.h create mode 100644 arch/arm/mach-hi3798cv2x/include/mach/io.h create mode 100644 arch/arm/mach-hi3798cv2x/include/mach/irqs.h create mode 100644 arch/arm/mach-hi3798cv2x/include/mach/memory.h create mode 100644 arch/arm/mach-hi3798cv2x/include/mach/platform.h create mode 100644 arch/arm/mach-hi3798cv2x/include/mach/timex.h create mode 100644 arch/arm/mach-hi3798cv2x/include/mach/uncompress.h create mode 100644 arch/arm/mach-hi3798cv2x/platsmp.c create mode 100644 arch/arm/mach-hi3798cv2x/platsmp.h create mode 100644 arch/arm/mach-hi3798cv2x/pmu.c create mode 100644 arch/arm/mach-hi3798mv2x/Kconfig create mode 100644 arch/arm/mach-hi3798mv2x/Makefile create mode 100644 arch/arm/mach-hi3798mv2x/Makefile.boot create mode 100644 arch/arm/mach-hi3798mv2x/core.c create mode 100644 arch/arm/mach-hi3798mv2x/headsmp.S create mode 100644 arch/arm/mach-hi3798mv2x/hotplug.c create mode 100644 arch/arm/mach-hi3798mv2x/hotplug.h create mode 100644 arch/arm/mach-hi3798mv2x/include/mach/debug-macro.S create mode 100644 arch/arm/mach-hi3798mv2x/include/mach/hardware.h create mode 100644 arch/arm/mach-hi3798mv2x/include/mach/io.h create mode 100644 arch/arm/mach-hi3798mv2x/include/mach/irqs.h create mode 100644 arch/arm/mach-hi3798mv2x/include/mach/memory.h create mode 100644 arch/arm/mach-hi3798mv2x/include/mach/platform.h create mode 100644 arch/arm/mach-hi3798mv2x/include/mach/timex.h create mode 100644 arch/arm/mach-hi3798mv2x/include/mach/uncompress.h create mode 100644 arch/arm/mach-hi3798mv2x/platsmp.c create mode 100644 arch/arm/mach-hi3798mv2x/platsmp.h create mode 100644 arch/arm/mach-hi3798mv2x/pmu.c create mode 100644 arch/arm/mach-hi3798mx/Kconfig create mode 100644 arch/arm/mach-hi3798mx/Makefile create mode 100644 arch/arm/mach-hi3798mx/Makefile.boot create mode 100644 arch/arm/mach-hi3798mx/core.c create mode 100644 arch/arm/mach-hi3798mx/headsmp.S create mode 100644 arch/arm/mach-hi3798mx/hotplug.c create mode 100644 arch/arm/mach-hi3798mx/hotplug.h create mode 100644 arch/arm/mach-hi3798mx/include/mach/debug-macro.S create mode 100644 arch/arm/mach-hi3798mx/include/mach/hardware.h create mode 100644 arch/arm/mach-hi3798mx/include/mach/io.h create mode 100644 arch/arm/mach-hi3798mx/include/mach/irqs.h create mode 100644 arch/arm/mach-hi3798mx/include/mach/memory.h create mode 100644 arch/arm/mach-hi3798mx/include/mach/platform.h create mode 100644 arch/arm/mach-hi3798mx/include/mach/timex.h create mode 100644 arch/arm/mach-hi3798mx/include/mach/uncompress.h create mode 100644 arch/arm/mach-hi3798mx/platsmp.c create mode 100644 arch/arm/mach-hi3798mx/platsmp.h create mode 100644 arch/arm/mach-hi3798mx/pmu.c create mode 100644 arch/arm/mach-s40/Kconfig create mode 100644 arch/arm/mach-s40/Makefile create mode 100644 arch/arm/mach-s40/Makefile.boot create mode 100644 arch/arm/mach-s40/core.c create mode 100644 arch/arm/mach-s40/headsmp.S create mode 100644 arch/arm/mach-s40/hi_cma.c create mode 100644 arch/arm/mach-s40/hotplug.c create mode 100644 arch/arm/mach-s40/hotplug.h create mode 100644 arch/arm/mach-s40/include/mach/debug-macro.S create mode 100644 arch/arm/mach-s40/include/mach/hardware.h create mode 100644 arch/arm/mach-s40/include/mach/io.h create mode 100644 arch/arm/mach-s40/include/mach/irqs.h create mode 100644 arch/arm/mach-s40/include/mach/memory.h create mode 100644 arch/arm/mach-s40/include/mach/platform.h create mode 100644 arch/arm/mach-s40/include/mach/timex.h create mode 100644 arch/arm/mach-s40/include/mach/uncompress.h create mode 100644 arch/arm/mach-s40/platsmp.c create mode 100644 arch/arm/mach-s40/platsmp.h create mode 100644 arch/arm/mach-s40/pmu.c create mode 100644 drivers/mtd/devices/hisfc350/Kconfig create mode 100644 drivers/mtd/devices/hisfc350/Makefile create mode 100644 drivers/mtd/devices/hisfc350/hisfc350.c create mode 100644 drivers/mtd/devices/hisfc350/hisfc350.h create mode 100644 drivers/mtd/devices/hisfc350/hisfc350_s40_spi_ids.c create mode 100644 drivers/mtd/devices/hisfc350/hisfc350_spi_general.c create mode 100644 drivers/mtd/devices/hisfc350/hisfc350_spi_n25q256a.c create mode 100644 drivers/mtd/devices/hisfc350/hisfc350_spi_s25fl256s.c create mode 100644 drivers/mtd/devices/hisfc350/hisfc_ids.c create mode 100644 drivers/mtd/devices/hisfc350/hisfc_ids.h create mode 100644 drivers/mtd/hisilicon/Kconfig create mode 100644 drivers/mtd/hisilicon/Makefile create mode 100644 drivers/mtd/hisilicon/flash_cache.c create mode 100644 drivers/mtd/hisilicon/flash_cache.h create mode 100644 drivers/mtd/hisilicon/hiflash.c create mode 100644 drivers/mtd/hisilicon/hiflash.h create mode 100644 drivers/mtd/hisilicon/hifmc100/Makefile create mode 100644 drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3716mv410.c create mode 100644 drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3796mv2x.c create mode 100644 drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3798cv2x.c create mode 100644 drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3798mv2x.c create mode 100644 drivers/mtd/hisilicon/hifmc100/hifmc100_host.c create mode 100644 drivers/mtd/hisilicon/hifmc100/hifmc100_host.h create mode 100644 drivers/mtd/hisilicon/hifmc100/hifmc100_reg.h create mode 100644 drivers/mtd/hisilicon/hifmc100/hifmc100_spinor.c create mode 100644 drivers/mtd/hisilicon/hifmc100/hifmc100_xnand.c create mode 100644 drivers/mtd/hisilicon/nand_ids.c create mode 100644 drivers/mtd/hisilicon/readretry/Makefile create mode 100644 drivers/mtd/hisilicon/readretry/read_retry.c create mode 100644 drivers/mtd/hisilicon/readretry/read_retry.h create mode 100644 drivers/mtd/hisilicon/readretry/read_retry_hynix.c create mode 100644 drivers/mtd/hisilicon/readretry/read_retry_micron.c create mode 100644 drivers/mtd/hisilicon/readretry/read_retry_samsung.c create mode 100644 drivers/mtd/hisilicon/readretry/read_retry_toshiba_v2012.c create mode 100644 drivers/mtd/hisilicon/readretry/read_retry_toshiba_v2013.c create mode 100644 drivers/mtd/hisilicon/regop_intf.c create mode 100644 drivers/mtd/hisilicon/spinand_driver.c create mode 100644 drivers/mtd/hisilicon/spinand_ids.c create mode 100644 drivers/mtd/hisilicon/spinor_driver.c create mode 100644 drivers/mtd/hisilicon/spinor_ids.c create mode 100644 drivers/mtd/nand/hinfc610/Kconfig create mode 100644 drivers/mtd/nand/hinfc610/Makefile create mode 100644 drivers/mtd/nand/hinfc610/hinfc610.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610.h create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_cache.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_cache.h create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_dbg.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_dbg.h create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_dbg_cache.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_dbg_dump.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_dbg_ecc_count.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_dbg_ecc_dump.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_dbg_erase_count.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_dbg_inf.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_dbg_inf.h create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_dbg_read_count.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_dbg_read_retry.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_ecc_info.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_ecc_info.h create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_gen.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_gen.h create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_hi3716mv310.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_hifone.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_os.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_os.h create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_read_retry.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_read_retry.h create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_read_retry_hynix_bg_bdie.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_read_retry_hynix_bg_cdie.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_read_retry_hynix_cg_adie.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_read_retry_micron.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_read_retry_samsung.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_read_retry_toshiba_v2012.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_read_retry_toshiba_v2013.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_rw_latch.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_rw_latch.h create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_rw_latch_hi3716mv310.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_rw_latch_hi3798mv100.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_rw_latch_hifone.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_rw_latch_s40.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_s40.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_sync.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_sync.h create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_sync_onfi_23.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc610_sync_toggle.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc620_gen.c create mode 100644 drivers/mtd/nand/hinfc610/hinfc620_gen.h create mode 100644 drivers/mtd/nand/hinfc_gen.c create mode 100644 drivers/mtd/nand/hinfc_gen.h create mode 100644 drivers/mtd/nand/hinfc_spl_ids.c create mode 100644 drivers/net/ethernet/hieth/Kconfig create mode 100644 drivers/net/ethernet/hieth/Makefile create mode 100644 drivers/net/ethernet/hieth/autoeee.c create mode 100644 drivers/net/ethernet/hieth/hieth.c create mode 100644 drivers/net/ethernet/hieth/hieth.h create mode 100644 drivers/net/ethernet/hieth/hieth_dbg.c create mode 100644 drivers/net/ethernet/hieth/hieth_dbg.h create mode 100644 drivers/net/ethernet/hieth/mdio.c create mode 100644 drivers/net/ethernet/hieth/mdio.h create mode 100644 drivers/net/ethernet/hieth/phy.c create mode 100644 drivers/net/ethernet/hieth/phy.h create mode 100644 drivers/net/ethernet/hieth/pm.c create mode 100644 drivers/net/ethernet/hisilicon/higmac/Kconfig create mode 100644 drivers/net/ethernet/hisilicon/higmac/Makefile create mode 100644 drivers/net/ethernet/hisilicon/higmac/autoeee/autoeee.c create mode 100644 drivers/net/ethernet/hisilicon/higmac/autoeee/autoeee.h create mode 100644 drivers/net/ethernet/hisilicon/higmac/autoeee/phy_id_table.c create mode 100644 drivers/net/ethernet/hisilicon/higmac/board.c create mode 100644 drivers/net/ethernet/hisilicon/higmac/festa_v200.h create mode 100644 drivers/net/ethernet/hisilicon/higmac/festa_v300_2204.h create mode 100644 drivers/net/ethernet/hisilicon/higmac/higmac.c create mode 100644 drivers/net/ethernet/hisilicon/higmac/higmac.h create mode 100644 drivers/net/ethernet/hisilicon/higmac/mdio.c create mode 100644 drivers/net/ethernet/hisilicon/higmac/mdio.h create mode 100644 drivers/net/ethernet/hisilicon/higmac/phy_fix.c create mode 100644 drivers/net/ethernet/hisilicon/higmac/phy_fix.h create mode 100644 drivers/net/ethernet/hisilicon/higmac/pm.c create mode 100644 drivers/net/ethernet/hisilicon/higmac/proc-dev.c create mode 100644 drivers/net/ethernet/hisilicon/higmac/sockioctl.h create mode 100644 drivers/net/ethernet/hisilicon/higmac/tso.h create mode 100644 drivers/net/ethernet/hisilicon/higmac/util.h create mode 100644 drivers/net/phy/hisilicon.c create mode 100644 include/dt-bindings/clock/hi3716cv200-clock.h create mode 100644 include/dt-bindings/clock/hi3796mv200-clock.h create mode 100644 include/dt-bindings/clock/hi3798cv200-clock.h create mode 100644 include/dt-bindings/clock/hi3798mv100-clock.h create mode 100644 include/dt-bindings/clock/hi3798mv200-clock.h create mode 100644 include/linux/hikapi.h create mode 100644 include/linux/hisilicon/cputable.h create mode 100644 include/linux/hisilicon/flash_stats.h create mode 100644 include/linux/hisilicon/freq.h create mode 100644 include/linux/hisilicon/himisc.h create mode 100644 include/linux/hisilicon/hiotg.h create mode 100644 include/linux/hisilicon/hisi-iommu.h create mode 100644 include/linux/hisilicon/platform.h create mode 100644 include/linux/hisilicon/rdr_pub.h create mode 100644 include/linux/hisilicon/rdr_types.h create mode 100644 include/linux/hisilicon/tee_smmu.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 43c7773b8..527ecba55 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -460,6 +460,13 @@ source "arch/arm/mach-hisi/Kconfig" source "arch/arm/mach-hpe/Kconfig" +source "arch/arm/mach-s40/Kconfig" +source "arch/arm/mach-hi3716mv420n/Kconfig" +source "arch/arm/mach-hi3798mx/Kconfig" +source "arch/arm/mach-hi3798cv2x/Kconfig" +source "arch/arm/mach-hi3798mv2x/Kconfig" +source "arch/arm/mach-hi3796mv2x/Kconfig" + source "arch/arm/mach-imx/Kconfig" source "arch/arm/mach-iop32x/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 955b0362c..9835213a2 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -232,6 +232,12 @@ machine-$(CONFIG_ARCH_VT8500) += vt8500 machine-$(CONFIG_ARCH_ZYNQ) += zynq machine-$(CONFIG_PLAT_VERSATILE) += versatile machine-$(CONFIG_PLAT_SPEAR) += spear +machine-$(CONFIG_ARCH_S40) += s40 +machine-$(CONFIG_ARCH_HI3798MX) += hi3798mx +machine-$(CONFIG_ARCH_HI3798CV2X) += hi3798cv2x +machine-$(CONFIG_ARCH_HI3798MV2X) += hi3798mv2x +machine-$(CONFIG_ARCH_HI3796MV2X) += hi3796mv2x +machine-$(CONFIG_ARCH_HI3716MV420N) += hi3716mv420n # legacy platforms provide their own mach/*.h headers globally, # these three are mutually exclusive diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index d08a3c450..4631ae9ce 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -260,6 +260,8 @@ dtb-$(CONFIG_ARCH_GEMINI) += \ gemini-wbd222.dtb dtb-$(CONFIG_ARCH_HI3xxx) += \ hi3620-hi4511.dtb +dtb-$(CONFIG_ARCH_HI3798MX) += \ + hi3798mv100.dtb dtb-$(CONFIG_ARCH_HIGHBANK) += \ highbank.dtb \ ecx-2000.dtb diff --git a/arch/arm/boot/dts/hi3716cv200.dts b/arch/arm/boot/dts/hi3716cv200.dts new file mode 100644 index 000000000..3affef9bf --- /dev/null +++ b/arch/arm/boot/dts/hi3716cv200.dts @@ -0,0 +1,231 @@ +/dts-v1/; + +#include + +/ { + model = "Hisilicon"; + compatible = "hi3716cv200-series"; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + + chosen { + bootargs = "rw"; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + reg = <0>; + }; + + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + reg = <1>; + }; + }; + + clocks { + xtal_clk: xtal_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-output-names = "clk24M"; + }; + + clk_83p3m: clk_83p3m { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <83300000>; + clock-output-names = "clk83.3M"; + }; + + clk_3m: clk_3m{ + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <3000000>; + clock-output-names = "clk3M"; + }; + }; + + gic: interrupt-controller { + compatible = "arm,cortex-a9-gic"; + #interrupt-cells = <3>; + #address-cells = <0>; + interrupt-controller; + reg = <0xf8a01000 0x1000>, + <0xf8a00100 0x100>; + }; + + soc { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + device_type = "soc"; + ranges = <0x0 0x0 0xffffffff>; + + amba { + compatible = "arm,amba-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + /* + * Used for clocksource and local timer + */ + timer@0xf8a29000 { + compatible = "hisilicon,timer"; + reg = <0xf8a29000 0x20>, /* clocksource */ + <0xf8a29020 0x20>, /* local timer for each cpu */ + <0xf8a2a000 0x20>; + interrupts = <0 25 4>, /* irq of local timer */ + <0 26 4>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + uart0: uart@0xf8b00000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0xf8b00000 0x1000>; + interrupts = <0 49 4>; + clocks = <&clk_83p3m>; + clock-names = "apb_pclk"; + }; + + uart1: uart@0xf8006000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0xf8006000 0x1000>; + interrupts = <0 50 4>; + clocks = <&clk_3m>; + clock-names = "apb_pclk"; + }; + + uart2: uart@0xf8b02000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0xf8b02000 0x1000>; + interrupts = <0 51 4>; + clocks = <&clk_83p3m>; + clock-names = "apb_pclk"; + }; + + uart3: uart@0xf8b03000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0xf8b03000 0x1000>; + interrupts = <0 52 4>; + clocks = <&clk_83p3m>; + clock-names = "apb_pclk"; + }; + + uart4: uart@0xf8b04000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0xf8b04000 0x1000>; + interrupts = <0 53 4>; + clocks = <&clk_83p3m>; + clock-names = "apb_pclk"; + }; + }; + + himciv200.MMC@0xf9830000 { + compatible = "hi3716cv200,himciv200"; + reg = <0xf9830000 0x1000>; + interrupts = <0 35 4>; + + clocks = <&hi3716cv200_clock PERI_CRG40_SDIO1>; + clock-names = "clk"; + + caps = <0x80000147>; + max-frequency = <50000000>; + }; + + himciv200.SD@0xf9820000 { + compatible = "hi3716cv200,himciv200"; + reg = <0xf9820000 0x1000>; + interrupts = <0 34 4>; + + clocks = <&hi3716cv200_clock PERI_CRG39_SDIO0>; + clock-names = "clk"; + + caps = <0x80000147>; + max-frequency = <50000000>; + }; + + hi3716cv200.hisfc350 { + compatible = "hi3716cv200.hisfc350"; + reg = <0xf9800000 0x404>, <0xfa000000 0x4000000>; + + clocks = <&hi3716cv200_clock PERI_CRG23_SFC>; + clock-names = "clk"; + }; + + hi3716cv200.hinfc610 { + compatible = "hi3716cv200.hinfc610"; + reg = <0xf9810000 0x100>, <0xfe000000 0x2176>; + + clocks = <&hi3716cv200_clock PERI_CRG24_NANDC>; + clock-names = "clk"; + }; + + hi3716cv200_clock: Hi3716Cv200_clock { + compatible = "hi3716cv200.clock"; + reg = <0xF8A22000 0x200>,<0xF8A20000 0x0848>; + #clock-cells = <1>; + }; + + hiahci@0xF9900000 { + compatible = "generic-ahci"; + reg = <0xF9900000 0x1000>; + interrupts = <0 70 4>; + + phys = <&hi3716cv200_hiahci_phy>; + phy-names = "sata-phy"; + + clocks = <&hi3716cv200_clock PERI_CRG42_SATA3CTRL>; + clock-names = "clk"; + }; + + hi3716cv200_hiahci_phy: hi3716cv200.hiahci-phy@0xF9900000 { + compatible = "hi3716cv200.hiahci-phy"; + reg = <0xF9900000 0x1000>,<0xF8A20000 0x10>; + #phy-cells = <0>; + }; + + ehci@0xf9890000 { + compatible = "generic-ehci"; + reg = <0xf9890000 0x10000>; + interrupts = <0 66 4>; + + clocks = <&hi3716cv200_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + }; + + ohci@0xf9880000 { + compatible = "generic-ohci"; + reg = <0xf9880000 0x10000>; + interrupts = <0 67 4>; + + clocks = <&hi3716cv200_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + }; + + hiudc@0xf98c0000 { + compatible = "hiudc"; + reg = <0xf98c0000 0x40000>; + interrupts = <0 68 4>; + + clocks = <&hi3716cv200_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + }; + + hi3716cv200.hiusbotg { + compatible = "hiusbotg"; + reg = <0xf9880000 0x10000>,<0xf9890000 0x10000>,<0xf8a20120 0x4>; + host_time = <1500 4>; + device_time = <1000 4>; + }; + }; +}; diff --git a/arch/arm/boot/dts/hi3716dv100.dts b/arch/arm/boot/dts/hi3716dv100.dts new file mode 100644 index 000000000..ee9fa913a --- /dev/null +++ b/arch/arm/boot/dts/hi3716dv100.dts @@ -0,0 +1,534 @@ +/dts-v1/; + +#include + +/ { + model = "Hisilicon"; + compatible = "hi3798mv100-series"; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + + aliases { + net_phy0 = &hieth_phy0; + i2c0=&hii2c0; + i2c2=&hii2c2; + spi0=&spi; + }; + + chosen { + bootargs = "rw"; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a7"; + reg = <0>; + }; + + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a7"; + reg = <1>; + }; + + cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a7"; + reg = <2>; + }; + + cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a7"; + reg = <3>; + }; + }; + + clocks { + xtal_clk: xtal_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-output-names = "clk24M"; + }; + + clk_83p3m: clk_83p3m { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <83300000>; + clock-output-names = "clk83.3M"; + }; + + clk_3m: clk_3m{ + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <3000000>; + clock-output-names = "clk3M"; + }; + }; + + gic: interrupt-controller { + compatible = "arm,cortex-a7-gic"; + #interrupt-cells = <3>; + #address-cells = <0>; + interrupt-controller; + reg = <0xf8a01000 0x1000>, + <0xf8a02000 0x100>; + }; + + trusted_core { + compatible = "trusted_core"; + interrupts = <0 61 4>; + }; + + soc { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + device_type = "soc"; + ranges = <0x0 0x0 0xffffffff>; + + amba { + compatible = "arm,amba-bus"; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + ranges; + + gpio0: gpio0 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B20000 0x1000>; + interrupts = <0 108 0x4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio1: gpio1 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B21000 0x1000>; + interrupts = <0 109 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio2: gpio2 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B22000 0x1000>; + interrupts = <0 110 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio3: gpio3 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B23000 0x1000>; + interrupts = <0 111 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio4: gpio4 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B24000 0x1000>; + interrupts = <0 112 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio5: gpio5 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8004000 0x1000>; + interrupts = <0 113 0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio6: gpio6 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B26000 0x1000>; + interrupts = <0 114 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + /* + * Used for clocksource and local timer + */ + watchdog0: watchdog@0xf8a2c000 { + compatible = "arm,sp805-wdt", "arm,primecell"; + arm,primecell-periphid = <0x00141805>; + reg = <0xf8a2c000 0x1000>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + hii2c0:i2c@0xf8b10000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b10000 0x1000>; + interrupts = <0 38 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C0_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + + hii2c2:i2c@0xf8b12000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b12000 0x1000>; + interrupts = <0 40 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C2_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + spi:spi@0xF8B1A000 { + compatible = "arm,pl022", "arm,primecell"; + arm,primecell-periphid = <0x00041022>; + interrupts = <0 45 4>; + reg = <0xF8B1A000 0x1000>; + num-cs = <2>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&hisilicon_clock PERI_CRG28_SSP>; + clock-names = "apb_pclk"; + pl022,rt; + + /* userspace spi interface + * parse by of_register_spi_devices function + */ + /*spidev@0 { + * compatible = "rohm,dh2228fv"; + * reg = <1>; + * spi-max-frequency = <16000000>; + * }; + */ + }; + + /* + *spi_gpio: spi-gpio { + * compatible = "spi-gpio"; + * #address-cells = <1>; + * #size-cells = <0>; + * gpio-sck = <&gpio1 1 0>; + * gpio-miso = <&gpio1 3 0>; + * gpio-mosi = <&gpio1 2 0>; + * num-chipselects = <1>; + * cs-gpios = <&gpio1 4 1>; + *}; + */ + + ir: ir@f8001000 { + compatible = "hisilicon,hix5hd2-ir"; + reg = <0xf8001000 0x1000>; + interrupts = <0 47 4>; + clocks = <&hisilicon_clock HIIR_CLK>; + linux,rc-map-name = "rc-hisi"; + }; + + timer@hisp804 { + compatible = "hisilicon,hisp804"; + reg = <0xf8a29000 0x20>, /* clocksource */ + <0xf8a2a000 0x20>, /* local timer for each cpu */ + <0xf8a2a020 0x20>, + <0xf8a2b000 0x20>, + <0xf8a2b020 0x20>; + interrupts = <0 26 4>, /* irq of local timer */ + <0 59 4>, + <0 27 4>, + <0 60 4>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + uart0: uart@0xf8b00000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0xf8b00000 0x1000>; + interrupts = <0 49 4>; + clocks = <&clk_83p3m>; + clock-names = "apb_pclk"; + }; + + uart1: uart@0xf8006000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0xf8006000 0x1000>; + interrupts = <0 50 4>; + clocks = <&clk_3m>; + clock-names = "apb_pclk"; + }; + + uart2: uart@0xf8b02000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0xf8b02000 0x1000>; + interrupts = <0 51 4>; + clocks = <&clk_83p3m>; + clock-names = "apb_pclk"; + }; + }; + + himciv200.MMC@0xf9830000 { + compatible = "hi3798mv100,himciv200"; + reg = <0xf9830000 0x1000>; + interrupts = <0 35 4>; + + clocks = <&hisilicon_clock PERI_CRG40_SDIO1>; + clock-names = "clk"; + + caps = <0xc0000847>; + max-frequency = <100000000>; + }; + + himciv200.SD@0xf9820000 { + compatible = "hi3798mv100,himciv200"; + reg = <0xf9820000 0x1000>; + interrupts = <0 34 4>; + + clocks = <&hisilicon_clock PERI_CRG39_SDIO0>; + clock-names = "clk"; + + ldo-addr = <0xf8a2011c>; + ldo-shift = <0>; + + caps = <0x80000047>; + max-frequency = <100000000>; + }; + + hinfc610.NAND@0xf9810000 { + compatible = "hi3798mv100.hinfc610"; + reg = <0xf9810000 0x100>, <0xfe000000 0x2176>; + + clocks = <&hisilicon_clock PERI_CRG24_NANDC>; + clock-names = "clk"; + }; + + hisilicon_clock: hisilicon_clock { + compatible = "hi3798mv100.clock"; + reg = <0xF8A22000 0x200>, <0xF8A20000 0x0848>; + #clock-cells = <1>; + }; + + hieth: hieth@f9840000 { + compatible = "hisilicon,hieth"; + clocks = <&hisilicon_clock PERI_CRG51_SF>; + clock-names = "clk"; + reg = <0xf9840000 0x4000>; + interrupts = <0 71 4>; + phy-handle = <&hieth_phy0>; + #address-cells = <1>; + #size-cells = <0>; + + hieth_phy0: hieth_phy@0 { + reg = <2>; + mac-address = [00 00 00 00 00 00]; + phy-mode = "mii"; + internal-phy; + phy-gpio-base = <0>; + phy-gpio-bit = <0>; + }; + }; + + ehci@0xf9890000 { + compatible = "generic-ehci"; + reg = <0xf9890000 0x10000>; + interrupts = <0 66 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + }; + + ehci@0xf9930000 { + compatible = "generic-ehci"; + reg = <0xf9930000 0x10000>; + interrupts = <0 62 4>; + + clocks = <&hisilicon_clock PERI_CRG102_USB2CTRL2>; + clock-names = "clk"; + }; + + ohci@0xf9880000 { + compatible = "generic-ohci"; + reg = <0xf9880000 0x10000>; + interrupts = <0 67 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + }; + + ohci@0xf9920000 { + compatible = "generic-ohci"; + reg = <0xf9920000 0x10000>; + interrupts = <0 63 4>; + + clocks = <&hisilicon_clock PERI_CRG102_USB2CTRL2>; + clock-names = "clk"; + }; + + xhci@0xf98a0000 { + compatible = "generic-xhci"; + reg = <0xf98a0000 0x10000>; + interrupts = <0 69 4>; + + clocks = <&hisilicon_clock PERI_CRG44_USB3CTRL>; + clock-names = "clk"; + }; + + hiudc@0xf98c0000 { + compatible = "hiudc"; + reg = <0xf98c0000 0x40000>; + interrupts = <0 68 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + }; + + hi3798mv100.hiusbotg { + compatible = "hiusbotg"; + reg = <0xf9880000 0x10000>,<0xf9890000 0x10000>,<0xf8a20120 0x4>; + host_time = <1500 4>; + device_time = <1000 4>; + }; + + vddgpu: regulator@0xf8a23020 { + compatible = "hisilicon,hi3798mv100-volt"; + reg = <0xf8a23020 0x4>; + reg-names = "base-address"; + regulator-name = "vdd-gpu"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1320000>; + regulator-always-on; + status = "okay"; + }; + + gpu:gpu@0xf9200000 { + compatible = "arm,mali-450", "arm,mali-utgard"; + interrupt-parent = <&gic>; + reg = <0xf9200000 0x10000>; + interrupts = <0 94 4>, + <0 94 4>, + <0 94 4>, + <0 94 4>, + <0 94 4>, + <0 94 4>, + <0 94 4>, + <0 94 4>; + interrupt-names = "IRQGP", + "IRQGPMMU", + "IRQPP0", + "IRQPPMMU0", + "IRQPP1", + "IRQPPMMU1", + "IRQPMU", + "IRQPP"; + pmu_domain_config = <0x1 0x2 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x2 0x0>; + pmu_switch_delay = <0x1ff>; + + #cooling-cells = <2>; /* min followed by max */ + + clocks = <&hisilicon_clock PERI_CRG73_GPU_LP>; + clock-names = "clk_mali"; + mali-supply = <&vddgpu>; + operating-points = <150000 000000 + 200000 000000 + 250000 000000 + 300000 000000 + 345600 000000 + 400000 000000 + 432000 000000 + 500000 000000>; + + cooling-min-state = <0>; + cooling-max-state = <7>; + status = "okay"; + + }; + + virtdev { + compatible = "virt-device"; + interrupts = <0 47 4>, /* "ir_std" */ + <0 47 4>, /* "ir_s2" */ + <0 48 4>, /* "keyled_ct1642" */ + <0 48 4>, /* "keyled_std" */ + <0 75 4>, /* "multicipher" */ + <0 82 4>, /* "dmx" */ + <0 84 4>, /* "aiao" */ + <0 88 4>, /* "hdmi" */ + <0 90 4>, /* "vdp" */ + <0 91 4>, /* "tde" */ + <0 93 4>, /* "vpss0" */ + <0 94 4>, /* "gpu" */ + <0 95 4>, /* "vdec_vdh" */ + <0 96 4>, /* "png" */ + <0 97 4>, /* "jpeg" */ + <0 101 4>, /* "venc" */ + <0 102 4>, /* "jpge" */ + <0 104 4>, /* "vdec_scd" */ + <0 105 4>, /* "vdec_vdh_safe" */ + <0 106 4>, /* "vdec_scd_safe" */ + <0 126 4>; /* "cipher" */ + interrupt-names = /* 47 */ "ir_std", + /* 47 */ "ir_s2", + /* 48 */ "keyled_ct1642", + /* 48 */ "keyled_std", + /* 75 */ "multicipher", + /* 82 */ "dmx", + /* 84 */ "aiao", + /* 88 */ "hdmi", + /* 90 */ "vdp", + /* 91 */ "tde", + /* 93 */ "vpss0", + /* 94 */ "gpu", + /* 95 */ "vdec_vdh", + /* 96 */ "png", + /* 97 */ "jpeg", + /* 101 */ "venc", + /* 102 */ "jpge", + /* 104 */ "vdec_scd", + /* 105 */ "vdec_vdh_safe", + /* 106 */ "vdec_scd_safe", + /* 126 */ "cipher"; + }; + }; +}; diff --git a/arch/arm/boot/dts/hi3716mv410.dts b/arch/arm/boot/dts/hi3716mv410.dts new file mode 100644 index 000000000..9f227425e --- /dev/null +++ b/arch/arm/boot/dts/hi3716mv410.dts @@ -0,0 +1,610 @@ +/dts-v1/; + +#include + +/ { + model = "Hisilicon"; + compatible = "hi3716mv410-series"; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + + aliases { + net_phy0 = &hieth_phy0; + net_phy1 = &hieth_phy1; + spi0=&spi; + /* spi1=&spi_gpio; */ + i2c0=&hii2c0; + i2c1=&hii2c1; + i2c2=&hii2c2; + i2c3=&hii2c3; + i2c4=&hii2c4; + i2c5=&hii2c5; + i2c6=&hii2c6; + }; + + chosen { + bootargs = "rw"; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + }; + }; + + clocks { + xtal_clk: xtal_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-output-names = "clk24M"; + }; + + clk_83p3m: clk_83p3m { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <83300000>; + clock-output-names = "clk83.3M"; + }; + + clk_3m: clk_3m{ + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <3000000>; + clock-output-names = "clk3M"; + }; + }; + + gic: interrupt-controller { + compatible = "arm,cortex-a9-gic"; + #interrupt-cells = <3>; + #address-cells = <0>; + interrupt-controller; + reg = <0xf8a01000 0x1000>, + <0xf8a00100 0x100>; + }; + + soc { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + device_type = "soc"; + interrupt-parent = <&gic>; + ranges = <0x0 0x0 0xffffffff>; + + amba { + compatible = "arm,amba-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + gpio0: gpio0 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B20000 0x1000>; + interrupts = <0 108 0x4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio1: gpio1 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B21000 0x1000>; + interrupts = <0 109 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio2: gpio2 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B22000 0x1000>; + interrupts = <0 110 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio3: gpio3 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B23000 0x1000>; + interrupts = <0 111 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio4: gpio4 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B24000 0x1000>; + interrupts = <0 112 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio5: gpio5 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8004000 0x1000>; + interrupts = <0 113 0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio6: gpio6 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B26000 0x1000>; + interrupts = <0 114 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio7: gpio7 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B27000 0x1000>; + interrupts = <0 115 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio8: gpio8 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B28000 0x1000>; + interrupts = <0 116 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio9: gpio9 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B29000 0x1000>; + interrupts = <0 117 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio10: gpio10 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B2a000 0x1000>; + interrupts = <0 118 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + /* + * Used for clocksource and local timer + */ + watchdog0: watchdog@0xf8a2c000 { + compatible = "arm,sp805-wdt", "arm,primecell"; + arm,primecell-periphid = <0x00141805>; + reg = <0xf8a2c000 0x1000>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + hii2c0:i2c@0xf8b10000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b10000 0x1000>; + interrupts = <0 38 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C0_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c1:i2c@0xf8b11000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b11000 0x1000>; + interrupts = <0 39 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C1_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c2:i2c@0xf8b12000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b12000 0x1000>; + interrupts = <0 40 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C2_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c3:i2c@0xf8b13000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b13000 0x1000>; + interrupts = <0 41 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C3_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c4:i2c@0xf8b14000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b14000 0x1000>; + interrupts = <0 42 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C4_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c5:i2c@0xf8b16000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b16000 0x1000>; + interrupts = <0 43 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_ADC_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c6:i2c@0xf8b17000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b17000 0x1000>; + interrupts = <0 44 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_QAM_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + spi:spi@0xF8B1A000 { + compatible = "arm,pl022", "arm,primecell"; + arm,primecell-periphid = <0x00041022>; + interrupts = <0 45 4>; + reg = <0xF8B1A000 0x1000>; + num-cs = <2>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&hisilicon_clock PERI_CRG28_SSP>; + clock-names = "apb_pclk"; + pl022,rt; + + /* userspace spi interface + * parse by of_register_spi_devices function + */ + /*spidev@0 { + * compatible = "rohm,dh2228fv"; + * reg = <1>; + * spi-max-frequency = <16000000>; + * }; + */ + }; + + /* + *spi_gpio: spi-gpio { + * compatible = "spi-gpio"; + * #address-cells = <1>; + * #size-cells = <0>; + * gpio-sck = <&gpio1 1 0>; + * gpio-miso = <&gpio1 3 0>; + * gpio-mosi = <&gpio1 2 0>; + * num-chipselects = <1>; + * cs-gpios = <&gpio1 4 1>; + *}; + */ + + timer@hisp804 { + compatible = "hisilicon,hisp804"; + reg = <0xf8a29000 0x20>, /* clock source */ + <0xf8a29020 0x20>; /* local timer for each cpu */ + interrupts = <0 58 4>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + timer@fixtimer { + compatible = "hisilicon,fixtimer"; + reg = <0xf8a81000 0x20>; + interrupts = <0 28 4>; + timer = <0xf8a29000>; + }; + + uart0: uart@0xf8b00000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0xf8b00000 0x1000>; + interrupts = <0 49 4>; + clocks = <&clk_83p3m>; + clock-names = "apb_pclk"; + }; + + uart1: uart@0xf8b02000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0xf8b02000 0x1000>; + interrupts = <0 51 4>; + clocks = <&clk_3m>; + clock-names = "apb_pclk"; + }; + }; + + himciv200.MMC@0xf9830000 { + compatible = "hi3716cv200,himciv200"; + reg = <0xf9830000 0x1000>; + interrupts = <0 35 4>; + + clocks = <&hisilicon_clock PERI_CRG40_SDIO1>; + clock-names = "clk"; + + caps = <0x80000847>; + max-frequency = <100000000>; + }; + + himciv200.SD@0xf9820000 { + compatible = "hi3716cv200,himciv200"; + reg = <0xf9820000 0x1000>; + interrupts = <0 34 4>; + + clocks = <&hisilicon_clock PERI_CRG39_SDIO0>; + clock-names = "clk"; + + ldo-addr = <0xf8a2011c>; + ldo-shift = <0>; + + caps = <0x80000047>; + max-frequency = <100000000>; + }; + + hisilicon.hifmc100 { + compatible = "hisilicon.hifmc100"; + reg = <0xf9950000 0x200>,<0xFE200000 0x1000>; + interrupts = <0 54 4>; + + clocks = <&hisilicon_clock PERI_CRG23_SFC>; + clock-names = "clk"; + }; + + hisilicon_clock: hisilicon_clock { + compatible = "hi3716mv410.clock"; + reg = <0xF8A22000 0x200>, <0xF8A20000 0x0848>; + #clock-cells = <1>; + }; + + hieth: hieth@f9840000 { + compatible = "hisilicon,hieth"; + clocks = <&hisilicon_clock PERI_CRG51_GSF>; + clock-names = "clk"; + reg = <0xf9840000 0x4000>; + interrupts = <0 71 4>; + phy-handle = <&hieth_phy0 &hieth_phy1>; + #address-cells = <1>; + #size-cells = <0>; + + hieth_phy0: hieth_phy@0 { + reg = <2>; + mac-address = [00 00 00 00 00 00]; + phy-mode = "mii"; + internal-phy; + phy-gpio-base = <0>; + phy-gpio-bit = <0>; + }; + + hieth_phy1: hieth_phy@1{ + reg = <31>; + mac-address = [00 00 00 00 00 00]; + phy-mode = "rmii"; + phy-gpio-base = <0>; + phy-gpio-bit = <0>; + }; + }; + + /* hiahci@0xF9900000 and pcie@f9860000 , select 1 of 2 */ + hiahci@0xF9900000 { + compatible = "generic-ahci"; + reg = <0xF9900000 0x1000>; + interrupts = <0 70 4>; + + phys = <&hiahci_phy>; + phy-names = "sata-phy"; + + clocks = <&hisilicon_clock PERI_CRG42_SATA3CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + vddgpu: regulator@0xf8a23020 { + compatible = "hisilicon,hi3716mv420-volt"; + reg = <0xf8a23020 0x4>; + reg-names = "base-address"; + regulator-name = "vdd-gpu"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1320000>; + regulator-always-on; + status = "okay"; + }; + + gpu:gpu@0xf9200000 { + compatible = "arm,mali-400", "arm,mali-utgard"; + interrupt-parent = <&gic>; + reg = <0xf9200000 0x10000>; + interrupts = <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>; + interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP0", "IRQPPMMU0", "IRQPMU"; + pmu_domain_config = <0x1 0x4 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x0 0x0>; + pmu_switch_delay = <0x1ff>; + + #cooling-cells = <2>; /* min followed by max */ + + clocks = <&hisilicon_clock PERI_CRG73_GPU_LP>; + clock-names = "clk_mali"; + mali-supply = <&vddgpu>; + operating-points = < + 150000 000000 + 200000 000000 + 250000 000000 + 300000 000000 + 345600 000000 + 400000 000000 + 432000 000000 + 500000 000000>; + + cooling-min-state = <0>; + cooling-max-state = <7>; + status = "okay"; + }; + + + pcie@f9860000 { + compatible = "hisilicon,hisilicon-pcie","snps,dw-pcie"; + reg = <0xf9860000 0x80>,<0xf9000000 0x1000>; + interrupts = <0 131 4>; + + clocks = <&hisilicon_clock PERI_CRG99_PCIECTRL>; + clock-names = "clk"; + + #address-cells = <3>; + #size-cells = <2>; + device_type = "pci"; + ranges=<0x00000800 0 0xc8100000 0xc8100000 0 0x00100000 + 0x81000000 0 0xc8000000 0xc8000000 0 0x00100000 + 0x82000000 0 0xc0000000 0xc0000000 0 0x08000000>; + num-lanes = <1>; + status = "disabled"; + }; + + hiahci_phy: hiahci-phy@0xF9900000 { + compatible = "hi3716mv420.hiahci-phy"; + reg = <0xF9900000 0x1000>,<0xF8A20000 0x1000>; + #phy-cells = <0>; + }; + + ehci@0xf9890000 { + compatible = "generic-ehci"; + reg = <0xf9890000 0x10000>; + interrupts = <0 66 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + }; + + ohci@0xf9880000 { + compatible = "generic-ohci"; + reg = <0xf9880000 0x10000>; + interrupts = <0 67 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + }; + + hiudc@0xf98c0000 { + compatible = "hiudc"; + reg = <0xf98c0000 0x40000>; + interrupts = <0 68 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + }; + + hi3716cv200.hiusbotg { + compatible = "hiusbotg"; + reg = <0xf9880000 0x10000>,<0xf9890000 0x10000>,<0xf8a20120 0x4>; + host_time = <1500 4>; + device_time = <1000 4>; + }; + + virtdev { + compatible = "virt-device"; + interrupts =<0 36 4>, /* "sci0" */ + <0 47 4>, /* "ir_std" */ + <0 47 4>, /* "ir_s2" */ + <0 48 4>, /* "keyled_ct1642" */ + <0 48 4>, /* "keyled_std" */ + <0 82 4>, /* "dmx" */ + <0 84 4>, /* "aiao" */ + <0 88 4>, /* "hdmi" */ + <0 90 4>, /* "vdp" */ + <0 91 4>, /* "tde" */ + <0 93 4>, /* "vpss0" */ + <0 94 4>, /* "gpu" */ + <0 95 4>, /* "vdec_vdh" */ + <0 96 4>, /* "png" */ + <0 97 4>, /* "jpeg" */ + <0 101 4>, /* "venc" */ + <0 102 4>, /* "jpge" */ + <0 104 4>, /* "vdec_scd" */ + <0 126 4>; /* "cipher" */ + interrupt-names =/* 36 */ "sci0", + /* 47 */ "ir_std", + /* 47 */ "ir_s2", + /* 48 */ "keyled_ct1642", + /* 48 */ "keyled_std", + /* 82 */ "dmx", + /* 84 */ "aiao", + /* 88 */ "hdmi", + /* 90 */ "vdp", + /* 91 */ "tde", + /* 93 */ "vpss0", + /* 94 */ "gpu", + /* 95 */ "vdec_vdh", + /* 96 */ "png", + /* 97 */ "jpeg", + /* 101 */ "venc", + /* 102 */ "jpge", + /* 104 */ "vdec_scd", + /* 126 */ "cipher"; + }; + }; +}; diff --git a/arch/arm/boot/dts/hi3716mv420n.dts b/arch/arm/boot/dts/hi3716mv420n.dts new file mode 100644 index 000000000..a05fc7630 --- /dev/null +++ b/arch/arm/boot/dts/hi3716mv420n.dts @@ -0,0 +1,613 @@ +/dts-v1/; + +#include + +/ { + model = "Hisilicon"; + compatible = "hi3716mv410-series"; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + + aliases { + net_phy0 = &hieth_phy0; + net_phy1 = &hieth_phy1; + spi0=&spi; + /* spi1=&spi_gpio; */ + i2c0=&hii2c0; + i2c1=&hii2c1; + i2c2=&hii2c2; + i2c3=&hii2c3; + i2c4=&hii2c4; + i2c5=&hii2c5; + i2c6=&hii2c6; + }; + + chosen { + bootargs = "rw"; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu { + device_type = "cpu"; + compatible = "arm,cortex-a9"; + }; + }; + + clocks { + xtal_clk: xtal_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-output-names = "clk24M"; + }; + + clk_83p3m: clk_83p3m { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <83300000>; + clock-output-names = "clk83.3M"; + }; + + clk_3m: clk_3m{ + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <3000000>; + clock-output-names = "clk3M"; + }; + }; + + gic: interrupt-controller { + compatible = "arm,cortex-a9-gic"; + #interrupt-cells = <3>; + #address-cells = <0>; + interrupt-controller; + reg = <0xf8a01000 0x1000>, + <0xf8a00100 0x100>; + }; + + soc { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + device_type = "soc"; + interrupt-parent = <&gic>; + ranges = <0x0 0x0 0xffffffff>; + + amba { + compatible = "arm,amba-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + gpio0: gpio0 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B20000 0x1000>; + interrupts = <0 108 0x4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio1: gpio1 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B21000 0x1000>; + interrupts = <0 109 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio2: gpio2 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B22000 0x1000>; + interrupts = <0 110 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio3: gpio3 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B23000 0x1000>; + interrupts = <0 111 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio4: gpio4 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B24000 0x1000>; + interrupts = <0 112 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio5: gpio5 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8004000 0x1000>; + interrupts = <0 113 0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio6: gpio6 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B26000 0x1000>; + interrupts = <0 114 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio7: gpio7 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B27000 0x1000>; + interrupts = <0 115 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio8: gpio8 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B28000 0x1000>; + interrupts = <0 116 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio9: gpio9 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B29000 0x1000>; + interrupts = <0 117 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio10: gpio10 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B2a000 0x1000>; + interrupts = <0 118 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + /* + * Used for clocksource and local timer + */ + watchdog0: watchdog@0xf8a2c000 { + compatible = "arm,sp805-wdt", "arm,primecell"; + arm,primecell-periphid = <0x00141805>; + reg = <0xf8a2c000 0x1000>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + hii2c0:i2c@0xf8b10000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b10000 0x1000>; + interrupts = <0 38 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C0_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c1:i2c@0xf8b11000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b11000 0x1000>; + interrupts = <0 39 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C1_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c2:i2c@0xf8b12000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b12000 0x1000>; + interrupts = <0 40 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C2_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c3:i2c@0xf8b13000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b13000 0x1000>; + interrupts = <0 41 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C3_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c4:i2c@0xf8b14000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b14000 0x1000>; + interrupts = <0 42 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C4_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c5:i2c@0xf8b16000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b16000 0x1000>; + interrupts = <0 43 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_ADC_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c6:i2c@0xf8b17000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b17000 0x1000>; + interrupts = <0 44 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_QAM_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + spi:spi@0xF8B1A000 { + compatible = "arm,pl022", "arm,primecell"; + arm,primecell-periphid = <0x00041022>; + interrupts = <0 45 4>; + reg = <0xF8B1A000 0x1000>; + num-cs = <2>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&hisilicon_clock PERI_CRG28_SSP>; + clock-names = "apb_pclk"; + pl022,rt; + + /* userspace spi interface + * parse by of_register_spi_devices function + */ + /*spidev@0 { + * compatible = "rohm,dh2228fv"; + * reg = <1>; + * spi-max-frequency = <16000000>; + * }; + */ + }; + + /* + *spi_gpio: spi-gpio { + * compatible = "spi-gpio"; + * #address-cells = <1>; + * #size-cells = <0>; + * gpio-sck = <&gpio1 1 0>; + * gpio-miso = <&gpio1 3 0>; + * gpio-mosi = <&gpio1 2 0>; + * num-chipselects = <1>; + * cs-gpios = <&gpio1 4 1>; + *}; + */ + + timer@hisp804 { + compatible = "hisilicon,hisp804"; + reg = <0xf8a29000 0x20>, /* clock source */ + <0xf8a29020 0x20>; /* local timer for each cpu */ + interrupts = <0 58 4>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + timer@fixtimer { + compatible = "hisilicon,fixtimer"; + reg = <0xf8a81000 0x20>; + interrupts = <0 28 4>; + timer = <0xf8a29000>; + }; + + uart0: uart@0xf8b00000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0xf8b00000 0x1000>; + interrupts = <0 49 4>; + clocks = <&clk_83p3m>; + clock-names = "apb_pclk"; + }; + + uart1: uart@0xf8b02000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0xf8b02000 0x1000>; + interrupts = <0 51 4>; + clocks = <&clk_3m>; + clock-names = "apb_pclk"; + }; + }; + + himciv200.MMC@0xf9830000 { + compatible = "hi3716cv200,himciv200"; + reg = <0xf9830000 0x1000>; + interrupts = <0 35 4>; + + clocks = <&hisilicon_clock PERI_CRG40_SDIO1>; + clock-names = "clk"; + + caps = <0x80000147>; + max-frequency = <100000000>; + }; + + himciv200.SD@0xf9820000 { + compatible = "hi3716cv200,himciv200"; + reg = <0xf9820000 0x1000>; + interrupts = <0 34 4>; + + clocks = <&hisilicon_clock PERI_CRG39_SDIO0>; + clock-names = "clk"; + + ldo-addr = <0xf8a2011c>; + ldo-shift = <0>; + + caps = <0x80000047>; + max-frequency = <100000000>; + status = "disabled"; + }; + + hisilicon.hifmc100 { + compatible = "hisilicon.hifmc100"; + reg = <0xf9950000 0x200>,<0xFE200000 0x1000>; + interrupts = <0 54 4>; + + clocks = <&hisilicon_clock PERI_CRG23_SFC>; + clock-names = "clk"; + }; + + hisilicon_clock: hisilicon_clock { + compatible = "hi3716mv410.clock"; + reg = <0xF8A22000 0x200>, <0xF8A20000 0x0848>; + #clock-cells = <1>; + }; + + hieth: hieth@f9840000 { + compatible = "hisilicon,hieth"; + clocks = <&hisilicon_clock PERI_CRG51_GSF>; + clock-names = "clk"; + reg = <0xf9840000 0x4000>; + interrupts = <0 71 4>; + phy-handle = <&hieth_phy0 &hieth_phy1>; + #address-cells = <1>; + #size-cells = <0>; + + hieth_phy0: hieth_phy@0 { + reg = <2>; + mac-address = [00 00 00 00 00 00]; + phy-mode = "mii"; + internal-phy; + phy-gpio-base = <0>; + phy-gpio-bit = <0>; + }; + + hieth_phy1: hieth_phy@1{ + reg = <31>; + mac-address = [00 00 00 00 00 00]; + phy-mode = "rmii"; + phy-gpio-base = <0>; + phy-gpio-bit = <0>; + }; + }; + + /* hiahci@0xF9900000 and pcie@f9860000 , select 1 of 2 */ + hiahci@0xF9900000 { + compatible = "generic-ahci"; + reg = <0xF9900000 0x1000>; + interrupts = <0 70 4>; + + phys = <&hiahci_phy>; + phy-names = "sata-phy"; + + clocks = <&hisilicon_clock PERI_CRG42_SATA3CTRL>; + clock-names = "clk"; + status = "disabled"; + }; + + vddgpu: regulator@0xf8a23020 { + compatible = "hisilicon,hi3716mv420n-volt"; + reg = <0xf8a23020 0x4>; + reg-names = "base-address"; + regulator-name = "vdd-gpu"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1320000>; + regulator-always-on; + status = "okay"; + }; + + gpu:gpu@0xf9200000 { + compatible = "arm,mali-400", "arm,mali-utgard"; + interrupt-parent = <&gic>; + reg = <0xf9200000 0x10000>; + interrupts = <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>; + interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP0", "IRQPPMMU0", "IRQPMU"; + pmu_domain_config = <0x1 0x4 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x0 0x0>; + pmu_switch_delay = <0x1ff>; + + #cooling-cells = <2>; /* min followed by max */ + + clocks = <&hisilicon_clock PERI_CRG73_GPU_LP>; + clock-names = "clk_mali"; + mali-supply = <&vddgpu>; + operating-points = < + 150000 000000 + 200000 000000 + 250000 000000 + 300000 000000 + 345600 000000 + 400000 000000 + 432000 000000 + 500000 000000>; + + cooling-min-state = <0>; + cooling-max-state = <7>; + status = "okay"; + }; + + + pcie@f9860000 { + compatible = "hisilicon,hisilicon-pcie","snps,dw-pcie"; + reg = <0xf9860000 0x80>,<0xf9000000 0x1000>,<0xf8000000 0x1000>; + interrupts = <0 131 4>; + + clocks = <&hisilicon_clock PERI_CRG99_PCIECTRL>; + clock-names = "clk"; + + #address-cells = <3>; + #size-cells = <2>; + device_type = "pci"; + ranges=<0x00000800 0 0xc8100000 0xc8100000 0 0x00020000 + 0x81000000 0 0x00000000 0xc8000000 0 0x00010000 + 0x82000000 0 0xc0000000 0xc0000000 0 0x01000000>; + num-lanes = <1>; + status = "disabled"; + }; + + hiahci_phy: hiahci-phy@0xF9900000 { + compatible = "hi3716mv420.hiahci-phy"; + reg = <0xF9900000 0x1000>,<0xF8A20000 0x1000>; + #phy-cells = <0>; + }; + + ehci@0xf9890000 { + compatible = "generic-ehci"; + reg = <0xf9890000 0x10000>; + interrupts = <0 66 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + }; + + ohci@0xf9880000 { + compatible = "generic-ohci"; + reg = <0xf9880000 0x10000>; + interrupts = <0 67 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + }; + + hiudc@0xf98c0000 { + compatible = "hiudc"; + reg = <0xf98c0000 0x40000>; + interrupts = <0 68 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + }; + + hi3716cv200.hiusbotg { + compatible = "hiusbotg"; + reg = <0xf9880000 0x10000>,<0xf9890000 0x10000>,<0xf8a20120 0x4>; + host_time = <1500 4>; + device_time = <1000 4>; + }; + + virtdev { + compatible = "virt-device"; + interrupts =<0 36 4>, /* "sci0" */ + <0 47 4>, /* "ir_std" */ + <0 47 4>, /* "ir_s2" */ + <0 48 4>, /* "keyled_ct1642" */ + <0 48 4>, /* "keyled_std" */ + <0 82 4>, /* "dmx" */ + <0 84 4>, /* "aiao" */ + <0 88 4>, /* "hdmi" */ + <0 90 4>, /* "vdp" */ + <0 91 4>, /* "tde" */ + <0 93 4>, /* "vpss0" */ + <0 94 4>, /* "gpu" */ + <0 95 4>, /* "vdec_vdh" */ + <0 96 4>, /* "png" */ + <0 97 4>, /* "jpeg" */ + <0 101 4>, /* "venc" */ + <0 102 4>, /* "jpge" */ + <0 104 4>, /* "vdec_scd" */ + <0 107 4>, /* "plcipher" */ + <0 126 4>; /* "cipher" */ + interrupt-names =/* 36 */ "sci0", + /* 47 */ "ir_std", + /* 47 */ "ir_s2", + /* 48 */ "keyled_ct1642", + /* 48 */ "keyled_std", + /* 82 */ "dmx", + /* 84 */ "aiao", + /* 88 */ "hdmi", + /* 90 */ "vdp", + /* 91 */ "tde", + /* 93 */ "vpss0", + /* 94 */ "gpu", + /* 95 */ "vdec_vdh", + /* 96 */ "png", + /* 97 */ "jpeg", + /* 101 */ "venc", + /* 102 */ "jpge", + /* 104 */ "vdec_scd", + /* 107 */ "plcipher", + /* 126 */ "cipher"; + }; + }; +}; diff --git a/arch/arm/boot/dts/hi3796mv200.dts b/arch/arm/boot/dts/hi3796mv200.dts new file mode 100644 index 000000000..3b692ed94 --- /dev/null +++ b/arch/arm/boot/dts/hi3796mv200.dts @@ -0,0 +1,908 @@ +/dts-v1/; + +#include + +/ { + model = "Hisilicon"; + compatible = "hi3796mv200-series"; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + + aliases { + net_phy0 = &higmac0; + net_phy_addr0 = ð_phy0; + net_phy1 = &higmac1; + net_phy_addr1 = ð_phy1; + emmc = &emmc; + sd = &sd; + sdio = &sdio; + ohci0= &ohci; + ehci0= &ehci; + xhci0= &xhci0; + sata = &sata; + sataphy = &sataphy; + sata1 = &sata1; + sataphy0 = &sataphy0; + pcie = &pcie; + uart0= &uart0; + uart2= &uart2; + uart3= &uart3; + fmc = &fmc; + udc = &udc; + otg = &otg; + i2c0=&hii2c0; + i2c1=&hii2c1; + i2c2=&hii2c2; + i2c3=&hii2c3; + i2c4=&hii2c_adc; + i2c5=&hii2c_qam; + spi0=&spi; + chiptrim=&chiptrim; + }; + + chosen { + bootargs = "rw"; + }; + + cpus { + cluster0: cluster0 { + #address-cells = <1>; + #size-cells = <0>; + + /* cooling options */ + #cooling-cells = <2>; /* min followed by max */ + + cpu@0 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <0>; + }; + cpu@1 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <1>; + }; + cpu@2 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <2>; + }; + cpu@3 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <3>; + }; + + }; /* cluster0 */ + }; /* cpus */ + + gic: interrupt-controller { + compatible = "arm,cortex-a9-gic"; + #interrupt-cells = <3>; + #address-cells = <0>; + interrupt-controller; + reg = <0xf1001000 0x1000>, + <0xf1002000 0x100>; + }; + + clocks { + xtal_clk: xtal_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-output-names = "clk24M"; + }; + + clk_54m: clk_54m{ + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <54000000>; + clock-output-names = "clk54M"; + }; + + clk_75m: clk_75m{ + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <75000000>; + clock-output-names = "clk75M"; + }; + }; + + trusted_core { + compatible = "trusted_core"; + interrupts = <0 64 4>; + }; + + soc { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + device_type = "soc"; + ranges = <0x0 0x0 0xffffffff>; + + chiptrim: chiptrim { + compatible = "chiptrim"; + }; + + hisi_sensor0: hisi-sensor@0 { + compatible = "arm,hisi-thermal"; + #thermal-sensor-cells = <1>; + }; + + thermal-zones { + soc_thermal { + polling-delay = <1000>; + polling-delay-passive = <100>; + sustainable-power = <2500>; + + thermal-sensors = <&hisi_sensor0 0>; + + trips { + threshold: trip-point@0 { + temperature = <95000>; + hysteresis = <5000>; + type = "passive"; + }; + target: trip-point@1 { + temperature = <105000>; + hysteresis = <5000>; + type = "passive"; + }; + critical: trip-point@2 { + temperature = <120000>; + hysteresis = <5000>; + type = "critical"; + }; + }; + + cooling-maps { + map0 { + trip = <&target>; + cooling-device = <&cluster0 0 4>; + contribution = <1024>; + }; + map1 { + trip = <&target>; + cooling-device = <&gpu 0 5>; + contribution = <1024>; + }; + }; + }; + }; + + amba { + compatible = "arm,amba-bus"; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + ranges; + + gpio0: gpio0 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B20000 0x1000>; + interrupts = <0 108 0x4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio1: gpio1 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B21000 0x1000>; + interrupts = <0 109 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio2: gpio2 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B22000 0x1000>; + interrupts = <0 110 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio3: gpio3 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B23000 0x1000>; + interrupts = <0 111 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio4: gpio4 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B24000 0x1000>; + interrupts = <0 112 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio5: gpio5 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8004000 0x1000>; + interrupts = <0 113 0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio6: gpio6 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B26000 0x1000>; + interrupts = <0 114 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio7: gpio7 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B27000 0x1000>; + interrupts = <0 115 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio8: gpio8 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B28000 0x1000>; + interrupts = <0 116 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio9: gpio9 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B29000 0x1000>; + interrupts = <0 117 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + + gpio10: gpio10 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B2A000 0x1000>; + interrupts = <0 118 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio11: gpio11 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B2B000 0x1000>; + interrupts = <0 119 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio12: gpio12 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B2C000 0x1000>; + interrupts = <0 120 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio13: gpio13 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B2D000 0x1000>; + interrupts = <0 121 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + watchdog0: watchdog@0xf8a2c000 { + compatible = "arm,sp805-wdt", "arm,primecell"; + arm,primecell-periphid = <0x00141805>; + reg = <0xf8a2c000 0x1000>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + hii2c0:i2c@0xf8b10000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b10000 0x1000>; + interrupts = <0 38 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C0_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c1:i2c@0xf8b11000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b11000 0x1000>; + interrupts = <0 39 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C1_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c2:i2c@0xf8b12000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b12000 0x1000>; + interrupts = <0 40 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C2_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c3:i2c@0xf8b13000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b13000 0x1000>; + interrupts = <0 41 4>; + clock-frequency = <400000>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + hii2c_adc:i2c@0xf8b16000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b16000 0x1000>; + interrupts = <0 43 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_ADC_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + hii2c_qam:i2c@0xf8b17000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b17000 0x1000>; + interrupts = <0 44 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_QAM_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + spi:spi@0xF8B1A000 { + compatible = "arm,pl022", "arm,primecell"; + arm,primecell-periphid = <0x00041022>; + interrupts = <0 45 4>; + reg = <0xF8B1A000 0x1000>; + num-cs = <2>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&hisilicon_clock PERI_CRG28_SSP>; + clock-names = "apb_pclk"; + pl022,rt; + + /* userspace spi interface + * parse by of_register_spi_devices function + */ + /*spidev@0 { + * compatible = "rohm,dh2228fv"; + * reg = <1>; + * spi-max-frequency = <16000000>; + * }; + */ + }; + + /* + *spi_gpio: spi-gpio { + * compatible = "spi-gpio"; + * #address-cells = <1>; + * #size-cells = <0>; + * gpio-sck = <&gpio1 1 0>; + * gpio-miso = <&gpio1 3 0>; + * gpio-mosi = <&gpio1 2 0>; + * num-chipselects = <1>; + * cs-gpios = <&gpio1 4 1>; + *}; + */ + + ir: ir@f8001000 { + compatible = "hisilicon,hix5hd2-ir"; + reg = <0xf8001000 0x1000>; + interrupts = <0 47 4>; + clocks = <&hisilicon_clock HIIR_CLK>; + linux,rc-map-name = "rc-hisi"; + }; + + armv7-pmu { + compatible = "arm,cortex-a17-pmu"; + interrupts = <0 8 4>, + <0 9 4>, + <0 10 4>, + <0 11 4>; + }; +#if 0 + arm-timer { + compatible = "arm,armv7-timer"; + interrupts = <1 13 0xf04>, + <1 14 0xf04>; + clock-frequency = <24000000>; + }; +#endif + timer@hisp804 { + compatible = "hisilicon,hisp804"; + reg = <0xf8a29000 0x20>, /* clocksource */ + <0xf8a2a000 0x20>, /* local timer for each cpu */ + <0xf8a2a020 0x20>, + <0xf8a2b000 0x20>, + <0xf8a2b020 0x20>; + interrupts = <0 26 4>, /* irq of local timer */ + <0 59 4>, + <0 27 4>, + <0 60 4>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + uart0: uart@0xf8b00000 { + compatible = "arm,pl011", "arm,primecell"; + arm,primecell-periphid = <0x00241011>; + reg = <0xf8b00000 0x1000>; + interrupts = <0 49 4>; + clocks = <&clk_75m>; + clock-names = "apb_pclk"; + status = "okay"; + }; + + uart2: uart@0xf8b02000 { + compatible = "arm,pl011", "arm,primecell"; + arm,primecell-periphid = <0x00241011>; + reg = <0xf8b02000 0x1000>; + interrupts = <0 51 4>; + clocks = <&clk_75m>; + clock-names = "apb_pclk"; + status = "okay"; + }; + + uart3: uart@0xf8b03000 { + compatible = "arm,pl011", "arm,primecell"; + arm,primecell-periphid = <0x00241011>; + reg = <0xf8b03000 0x1000>; + interrupts = <0 52 4>; + clocks = <&clk_75m>; + clock-names = "apb_pclk"; + status = "okay"; + }; + + }; + + emmc: himciv200.MMC@0xf9830000 { + compatible = "hi3796mv200,himciv200"; + reg = <0xf9830000 0x1000>,<0xF8A21000 0x60>; + interrupts = <0 35 4>; + + clocks = <&hisilicon_clock PERI_CRG40_SDIO1>; + clock-names = "clk"; + + caps = <0xc0000847>; + caps2 = <0x0>; + max-frequency = <50000000>; + status = "okay"; + }; + + sd:himciv200.SD@0xf9820000 { + compatible = "hi3796mv200,himciv200"; + reg = <0xf9820000 0x1000>,<0xF8A21190 0x20>; + interrupts = <0 34 4>; + + clocks = <&hisilicon_clock PERI_CRG39_SDIO0>; + clock-names = "clk"; + + ldo-addr = <0xf8a2011c>; + ldo-shift = <0>; + + caps = <0x80070007>; + caps2 = <0x4000>; + max-frequency = <50000000>; + status = "okay"; + }; + + sdio:himciv200.SD@0xf9c40000 { + compatible = "hi3796mv200,himciv200"; + reg = <0xf9c40000 0x1000>,<0xF8A210C0 0x20>; + interrupts = <0 86 4>; + + clocks = <&hisilicon_clock PERI_CRG163_SDIO2>; + clock-names = "clk"; + + caps = <0x80000007>; + max-frequency = <50000000>; + status = "okay"; + }; + + fmc:hifmc100.NAND@0xf9950000 { + compatible = "hisilicon.hifmc100"; + reg = <0xf9950000 0x100>, <0xfe200000 0x2176>; + interrupts = <0 54 4>; + + clocks = <&hisilicon_clock PERI_CRG224_FMC>; + clock-names = "clk"; + status = "okay"; + }; + + hisilicon_clock: hisilicon_clock { + compatible = "hi3796mv200.clock","hisilicon,clock-reset"; + reg = <0xF8A22000 0x400>, <0xF8A20000 0x0848>; + #clock-cells = <1>; + #reset-cells = <2>; + }; + + higmac0: ethernet@f9840000 { + compatible = "hisilicon,higmac-v5"; + reg = <0xf9840000 0x1000>,<0xf984300c 0x4>; + interrupts = <0 71 4>, <0 153 4>, <0 154 4>, <0 155 4>; + + clocks = <&hisilicon_clock HIGMAC_MAC0_CLK>, + <&hisilicon_clock HIGMAC_MAC_IF0_CLK>, + <&hisilicon_clock HIGMAC_MAC0_PUB_CLK>; + clock-names = "higmac_clk", + "macif_clk", + "pub_clk"; + status = "okay"; + + resets = <&hisilicon_clock PERI_CRG51_GSF HIGMAC_PORT0_RST_BIT>, + <&hisilicon_clock PERI_CRG51_GSF HIGMAC_MACIF0_RST_BIT>, + <&hisilicon_clock PERI_CRG51_GSF HIGMAC_PHY0_RST_BIT>; + reset-names = "port_reset", + "macif_reset", + "phy_reset"; + + #address-cells = <1>; + #size-cells = <0>; + + mac-address = [00 00 00 00 00 00]; + + internal-phy; + phy-handle = <ð_phy0>; + phy-mode = "mii"; + phy-gpio-base = <0>; + phy-gpio-bit = <0>; + + eth_phy0: ethernet_phy@0 { + reg = <3>; + interrupts = <0 73 4>, <0 107 4>; + }; + }; + + higmac1: ethernet@f9841000 { + compatible = "hisilicon,higmac-v5"; + reg = <0xf9841000 0x1000>,<0xf9843010 0x4>; + interrupts = <0 71 4>, <0 153 4>, <0 154 4>, <0 155 4>; + + clocks = <&hisilicon_clock HIGMAC_MAC1_CLK>, + <&hisilicon_clock HIGMAC_MAC_IF1_CLK>, + <&hisilicon_clock HIGMAC_MAC1_PUB_CLK>; + clock-names = "higmac_clk", + "macif_clk", + "pub_clk"; + status = "okay"; + + resets = <&hisilicon_clock PERI_CRG51_GSF HIGMAC_PORT1_RST_BIT>, + <&hisilicon_clock PERI_CRG51_GSF HIGMAC_MACIF1_RST_BIT>, + <&hisilicon_clock PERI_CRG51_GSF HIGMAC_PHY1_RST_BIT>; + reset-names = "port_reset", + "macif_reset", + "phy_reset"; + + #address-cells = <1>; + #size-cells = <0>; + + mac-address = [00 00 00 00 00 00]; + + phy-handle = <ð_phy1>; + phy-mode = "mii"; + phy-gpio-base = <0>; + phy-gpio-bit = <0>; + + eth_phy1: ethernet_phy@1 { + reg = <3>; + }; + }; + + ehci:ehci@0xf9890000 { + compatible = "generic-ehci"; + reg = <0xf9890000 0x10000>; + interrupts = <0 66 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + ohci:ohci@0xf9880000 { + compatible = "generic-ohci"; + reg = <0xf9880000 0x10000>; + interrupts = <0 67 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + udc:hiudc@0xf98c0000 { + compatible = "hiudc"; + reg = <0xf98c0000 0x40000>; + interrupts = <0 68 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + otg:hi3796mv200.hiusbotg { + compatible = "hiusbotg"; + reg = <0xf9880000 0x10000>,<0xf9890000 0x10000>,<0xf8a2012c 0x4>; + host_time = <1500 4>; + device_time = <1000 4>; + status = "okay"; + }; + + xhci0:xhci@0xf98a0000 { + compatible = "generic-xhci"; + reg = <0xf98a0000 0x10000>; + interrupts = <0 69 4>; + + clocks = <&hisilicon_clock PERI_CRG44_USB3CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + vddgpu: regulator@0xf8a23020 { + compatible = "hisilicon,hi3796mv200-volt"; + reg = <0xf8a23020 0x4>; + reg-names = "base-address"; + regulator-name = "vdd-gpu"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1320000>; + regulator-always-on; + status = "okay"; + }; + + gpu:gpu@0xf9200000 { + compatible = "arm,mali-450", "arm,mali-utgard"; + interrupt-parent = <&gic>; + reg = <0xf9200000 0x10000>; + interrupts = <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>; + interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1", "IRQPMU", "IRQPP"; + pmu_domain_config = <0x1 0x2 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x2 0x0>; + pmu_switch_delay = <0x1ff>; + + #cooling-cells = <2>; /* min followed by max */ + + clocks = <&hisilicon_clock PERI_CRG73_GPU_LP>; + clock-names = "clk_mali"; + mali-supply = <&vddgpu>; + operating-points = < + 150000 000000 + 200000 000000 + 250000 000000 + 300000 000000 + 345600 000000 + 400000 000000 + 432000 000000 + 500000 000000>; + + cooling-min-state = <0>; + cooling-max-state = <7>; + status = "okay"; + + }; + + hiddr_watchpoint: hiddr_watchpoint@0xF8A36000 { + compatible = "hisilicon.ddr_watchpoint"; + reg = <0xF8A36000 0x1000>; + interrupts = <0 31 4>; + }; + hiddr_watchzone: hiddr_watchzone@0xF8A35000 { + compatible = "hisilicon.ddr_watchzone"; + reg = <0xF8A35000 0x1000>; + interrupts = <0 31 4>; + }; + + pcie:pcie@0xF0001000 { + compatible = "hisilicon,hisilicon-pcie","snps,dw-pcie"; + reg = <0xF0001000 0x200>,<0xf0000000 0x1000>,<0xF9860000 0x200>,<0xF8000000 0x1000>; + interrupts = <0 131 4>; + + clocks = <&hisilicon_clock PERI_CRG99_PCIECTRL>; + clock-names = "clk"; + + #address-cells = <3>; + #size-cells = <2>; + device_type = "pci"; + ranges=<0x00000800 0 0xf2100000 0xf2100000 0 0x00020000 + 0x81000000 0 0 0xf4000000 0 0x00010000 + 0x82000000 0 0xf3000000 0xf3000000 0 0x01000000>; + num-lanes = <1>; + status = "okay"; + }; + + sata:hiahci@0xF9900000 { + compatible = "generic-ahci"; + reg = <0xF9900000 0x1000>; + interrupts = <0 70 4>; + + phys = <&hiahci_phy>; + phy-names = "sata-phy"; + + clocks = <&hisilicon_clock PERI_CRG42_SATA3CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + sataphy:hiahci_phy: hiahci-phy@0xF9900000 { + compatible = "hiahci-phy"; + reg = <0xF9900000 0x1000>,<0xF8A20000 0x3000>; + #phy-cells = <0>; + status = "okay"; + }; + + sata1:hiahci1@0xF9910000 { + compatible = "generic-ahci"; + reg = <0xF9910000 0x1000>; + interrupts = <0 163 4>; + + phys = <&hiahci_phy0>; + phy-names = "sata-phy0"; + + clocks = <&hisilicon_clock PERI_CRG256_SATA3CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + sataphy0:hiahci_phy0: hiahci-phy0@0xF9910000 { + compatible = "hiahci-phy0"; + reg = <0xF9910000 0x1000>,<0xF8A20000 0x3000>; + #phy-cells = <0>; + status = "okay"; + }; + + virtdev { + compatible = "virt-device"; + interrupts = <0 36 4>, /* "sci0" */ + <0 47 4>, /* "ir_std" */ + <0 47 4>, /* "ir_s2" */ + <0 48 4>, /* "keyled_ct1642" */ + <0 48 4>, /* "keyled_std" */ + <0 71 4>, /* "gsf0" */ + <0 75 4>, /* "multicipher" */ + <0 79 4>, /* "rsa" */ + <0 82 4>, /* "dmx" */ + <0 84 4>, /* "aiao" */ + <0 88 4>, /* "hdmi" */ + <0 90 4>, /* "vdp" */ + <0 91 4>, /* "tde" */ + <0 91 4>, /* "gfx2d" */ + <0 93 4>, /* "vpss0" */ + <0 94 4>, /* "gpu" */ + <0 95 4>, /* "vdec_vdh" */ + <0 96 4>, /* "png" */ + <0 97 4>, /* "jpeg" */ + <0 101 4>, /* "venc" */ + <0 102 4>, /* "jpge" */ + <0 104 4>, /* "vdec_scd" */ + <0 105 4>, /* "vdec_vdh_safe" */ + <0 106 4>, /* "vdec_scd_safe" */ + <0 126 4>, /* "cipher" */ + <0 146 4>, /* "SecInvokeirq" */ + <0 147 4>, /* "hdmi_cec" */ + <0 148 4>, /* "mmu_vdh_safe" */ + <0 149 4>, /* "mmu_vdh" */ + <0 150 4>, /* "pastc" */ + <0 156 4>, /* "sha3" */ + <0 157 4>, /* "sm2" */ + <0 158 4>, /* "plcipher" */ + <0 174 4>, /* "tsio" */ + <0 182 4>, /* "tsio_phy" */ + <0 176 4>; /* "plcipher_safe" */ + interrupt-names = /* 36 */ "sci0", + /* 47 */ "ir_std", + /* 47 */ "ir_s2", + /* 48 */ "keyled_ct1642", + /* 48 */ "keyled_std", + /* 71 */ "gsf0", + /* 75 */ "multicipher", + /* 79 */ "rsa", + /* 82 */ "dmx", + /* 84 */ "aiao", + /* 88 */ "hdmi", + /* 90 */ "vdp", + /* 91 */ "tde", + /* 91 */ "gfx2d", + /* 93 */ "vpss0", + /* 94 */ "gpu", + /* 95 */ "vdec_vdh", + /* 96 */ "png", + /* 97 */ "jpeg", + /* 101 */ "venc", + /* 102 */ "jpge", + /* 104 */ "vdec_scd", + /* 105 */ "vdec_vdh_safe", + /* 106 */ "vdec_scd_safe", + /* 126 */ "cipher", + /* 146 */ "SecInvokeirq", + /* 147 */ "hdmi_cec", + /* 148 */ "mmu_vdh_safe", + /* 149 */ "mmu_vdh", + /* 150 */ "pastc", + /* 156 */ "sha3", + /* 157 */ "sm2", + /* 158 */ "plcipher", + /* 174 */ "tsio", + /* 182 */ "tsio_phy", + /* 176 */ "plcipher_safe"; + }; + }; +}; diff --git a/arch/arm/boot/dts/hi3796mv200_fpga_umap6.dts b/arch/arm/boot/dts/hi3796mv200_fpga_umap6.dts new file mode 100644 index 000000000..2b9de2a87 --- /dev/null +++ b/arch/arm/boot/dts/hi3796mv200_fpga_umap6.dts @@ -0,0 +1,734 @@ +/dts-v1/; + +#include + +/ { + model = "Hisilicon"; + compatible = "hi3796mv200-series"; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + + aliases { + net_phy0 = &higmac0; + net_phy_addr0 = ð_phy0; + emmc = &emmc; + sd = &sd; + sdio = &sdio; + ohci0= &ohci; + ehci0= &ehci; + xhci0= &xhci0; + sata = &sata; + sataphy = &sataphy; + pcie = &pcie; + uart0= &uart0; + uart2= &uart2; + uart3= &uart3; + fmc = &fmc; + udc = &udc; + otg = &otg; + i2c0=&hii2c0; + i2c1=&hii2c1; + i2c2=&hii2c2; + spi0=&spi; + }; + + chosen { + bootargs = "rw"; + }; + + cpus { + cluster0: cluster0 { + #address-cells = <1>; + #size-cells = <0>; + + /* cooling options */ + #cooling-cells = <2>; /* min followed by max */ + + cpu@0 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <0>; + }; + cpu@1 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <1>; + }; + cpu@2 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <2>; + }; + cpu@3 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <3>; + }; + + }; /* cluster0 */ + }; /* cpus */ + + gic: interrupt-controller { + compatible = "arm,cortex-a9-gic"; + #interrupt-cells = <3>; + #address-cells = <0>; + interrupt-controller; + reg = <0xf1001000 0x1000>, + <0xf1002000 0x100>; + }; + + clocks { + xtal_clk: xtal_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-output-names = "clk24M"; + }; + + clk_54m: clk_54m{ + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <54000000>; + clock-output-names = "clk54M"; + }; + + clk_75m: clk_75m{ + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <75000000>; + clock-output-names = "clk75M"; + }; + }; + + trusted_core { + compatible = "trusted_core"; + interrupts = <0 64 4>; + }; + + soc { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + device_type = "soc"; + ranges = <0x0 0x0 0xffffffff>; + + hisi_sensor0: hisi-sensor@0 { + compatible = "arm,hisi-thermal"; + #thermal-sensor-cells = <1>; + }; + + thermal-zones { + soc_thermal { + polling-delay = <1000>; + polling-delay-passive = <100>; + sustainable-power = <2500>; + + thermal-sensors = <&hisi_sensor0 0>; + + trips { + threshold: trip-point@0 { + temperature = <95000>; + hysteresis = <5000>; + type = "passive"; + }; + target: trip-point@1 { + temperature = <105000>; + hysteresis = <5000>; + type = "passive"; + }; + critical: trip-point@2 { + temperature = <120000>; + hysteresis = <5000>; + type = "critical"; + }; + }; + + cooling-maps { + map0 { + trip = <&target>; + cooling-device = <&cluster0 0 4>; + contribution = <1024>; + }; + map1 { + trip = <&target>; + cooling-device = <&gpu 0 5>; + contribution = <1024>; + }; + }; + }; + }; + + amba { + compatible = "arm,amba-bus"; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + ranges; +#if 0 + gpio0: gpio0 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B20000 0x1000>; + interrupts = <0 108 0x4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio1: gpio1 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B21000 0x1000>; + interrupts = <0 109 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio2: gpio2 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B22000 0x1000>; + interrupts = <0 110 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio3: gpio3 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B23000 0x1000>; + interrupts = <0 111 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio4: gpio4 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B24000 0x1000>; + interrupts = <0 112 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio5: gpio5 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8004000 0x1000>; + interrupts = <0 113 0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio6: gpio6 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B26000 0x1000>; + interrupts = <0 114 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio7: gpio7 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B27000 0x1000>; + interrupts = <0 115 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio8: gpio8 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B28000 0x1000>; + interrupts = <0 116 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio9: gpio9 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B29000 0x1000>; + interrupts = <0 117 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; +#endif + watchdog0: watchdog@0xf8a2c000 { + compatible = "arm,sp805-wdt", "arm,primecell"; + arm,primecell-periphid = <0x00141805>; + reg = <0xf8a2c000 0x1000>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + hii2c0:i2c@0xf8b10000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b10000 0x1000>; + interrupts = <0 38 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C0_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c1:i2c@0xf8b11000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b11000 0x1000>; + interrupts = <0 39 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C1_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c2:i2c@0xf8b12000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b12000 0x1000>; + interrupts = <0 40 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C2_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + spi:spi@0xF8B1A000 { + compatible = "arm,pl022", "arm,primecell"; + arm,primecell-periphid = <0x00041022>; + interrupts = <0 45 4>; + reg = <0xF8B1A000 0x1000>; + num-cs = <2>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&hisilicon_clock PERI_CRG28_SSP>; + clock-names = "apb_pclk"; + pl022,rt; + + /* userspace spi interface + * parse by of_register_spi_devices function + */ + /*spidev@0 { + * compatible = "rohm,dh2228fv"; + * reg = <1>; + * spi-max-frequency = <16000000>; + * }; + */ + }; + + /* + *spi_gpio: spi-gpio { + * compatible = "spi-gpio"; + * #address-cells = <1>; + * #size-cells = <0>; + * gpio-sck = <&gpio1 1 0>; + * gpio-miso = <&gpio1 3 0>; + * gpio-mosi = <&gpio1 2 0>; + * num-chipselects = <1>; + * cs-gpios = <&gpio1 4 1>; + *}; + */ + + ir: ir@f8001000 { + compatible = "hisilicon,hix5hd2-ir"; + reg = <0xf8001000 0x1000>; + interrupts = <0 47 4>; + clocks = <&hisilicon_clock HIIR_CLK>; + linux,rc-map-name = "rc-hisi"; + }; + + arm-timer { + compatible = "arm,armv7-timer"; + interrupts = <1 13 0xf04>, + <1 14 0xf04>; + clock-frequency = <24000000>; + }; + + timer@hisp804 { + compatible = "hisilicon,hisp804"; + reg = <0xf8a29000 0x20>, /* clocksource */ + <0xf8a2a000 0x20>, /* local timer for each cpu */ + <0xf8a2a020 0x20>, + <0xf8a2b000 0x20>, + <0xf8a2b020 0x20>; + interrupts = <0 26 4>, /* irq of local timer */ + <0 59 4>, + <0 27 4>, + <0 60 4>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + uart0: uart@0xf8b00000 { + compatible = "arm,pl011", "arm,primecell"; + arm,primecell-periphid = <0x00241011>; + reg = <0xf8b00000 0x1000>; + interrupts = <0 49 4>; + clocks = <&clk_54m>; + clock-names = "apb_pclk"; + status = "okay"; + }; + + uart2: uart@0xf8b02000 { + compatible = "arm,pl011", "arm,primecell"; + arm,primecell-periphid = <0x00241011>; + reg = <0xf8b02000 0x1000>; + interrupts = <0 51 4>; + clocks = <&clk_54m>; + clock-names = "apb_pclk"; + status = "okay"; + }; + + uart3: uart@0xf8b03000 { + compatible = "arm,pl011", "arm,primecell"; + arm,primecell-periphid = <0x00241011>; + reg = <0xf8b03000 0x1000>; + interrupts = <0 52 4>; + clocks = <&clk_54m>; + clock-names = "apb_pclk"; + status = "okay"; + }; + + }; + + emmc: himciv200.MMC@0xf9830000 { + compatible = "hi3796mv200,himciv200"; + reg = <0xf9830000 0x1000>,<0xF8A21000 0x40>; + interrupts = <0 35 4>; + + clocks = <&hisilicon_clock PERI_CRG40_SDIO1>; + clock-names = "clk"; + + caps = <0xc0000047>; + caps2 = <0x0>; + max-frequency = <50000000>; + status = "okay"; + }; + + sd:himciv200.SD@0xf9820000 { + compatible = "hi3796mv200,himciv200"; + reg = <0xf9820000 0x1000>,<0xF8A21158 0x40>; + interrupts = <0 34 4>; + + clocks = <&hisilicon_clock PERI_CRG39_SDIO0>; + clock-names = "clk"; + + ldo-addr = <0xf8a2011c>; + ldo-shift = <0>; + + caps = <0x80000007>; + max-frequency = <50000000>; + status = "okay"; + }; + + sdio:himciv200.SD@0xf9c40000 { + compatible = "hi3796mv200,himciv200"; + reg = <0xf9c40000 0x1000>,<0xF8A210B0 0x40>; + interrupts = <0 86 4>; + + clocks = <&hisilicon_clock PERI_CRG163_SDIO2>; + clock-names = "clk"; + + caps = <0x80000007>; + max-frequency = <50000000>; + status = "okay"; + }; + + fmc:hifmc100.NAND@0xf9950000 { + compatible = "hisilicon.hifmc100"; + reg = <0xf9950000 0x100>, <0xfe200000 0x2176>; + interrupts = <0 54 4>; + + clocks = <&hisilicon_clock PERI_CRG224_FMC>; + clock-names = "clk"; + status = "okay"; + }; + + hisilicon_clock: hisilicon_clock { + compatible = "hi3796mv200.clock","hisilicon,clock-reset"; + reg = <0xF8A22000 0x400>, <0xF8A20000 0x0848>; + #clock-cells = <1>; + #reset-cells = <2>; + }; + + higmac0: ethernet@f9840000 { + compatible = "hisilicon,higmac"; + reg = <0xf9840000 0x1000>,<0xf984300c 0x4>; + interrupts = <0 71 4>; + + clocks = <&hisilicon_clock HIGMAC_MAC0_CLK>, + <&hisilicon_clock HIGMAC_MAC_IF0_CLK>; + clock-names = "higmac_clk", + "macif_clk"; + status = "okay"; + + resets = <&hisilicon_clock PERI_CRG51_GSF HIGMAC_PORT0_RST_BIT>, + <&hisilicon_clock PERI_CRG51_GSF HIGMAC_MACIF0_RST_BIT>, + <&hisilicon_clock PERI_CRG51_GSF HIGMAC_PHY0_RST_BIT>; + reset-names = "port_reset", + "macif_reset", + "phy_reset"; + + #address-cells = <1>; + #size-cells = <0>; + + mac-address = [00 00 00 00 00 00]; + + phy-handle = <ð_phy0>; + phy-mode = "mii"; + phy-gpio-base = <0>; + phy-gpio-bit = <0>; + + eth_phy0: ethernet_phy@0 { + reg = <3>; + }; + }; + + ehci:ehci@0xf9890000 { + compatible = "generic-ehci"; + reg = <0xf9890000 0x10000>; + interrupts = <0 66 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + status = "disabled"; + }; + + ohci:ohci@0xf9880000 { + compatible = "generic-ohci"; + reg = <0xf9880000 0x10000>; + interrupts = <0 67 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + status = "disabled"; + }; + + udc:hiudc@0xf98c0000 { + compatible = "hiudc"; + reg = <0xf98c0000 0x40000>; + interrupts = <0 68 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + status = "disabled"; + }; + + otg:hi3796mv200.hiusbotg { + compatible = "hiusbotg"; + reg = <0xf9880000 0x10000>,<0xf9890000 0x10000>,<0xf8a2012c 0x4>; + host_time = <1500 4>; + device_time = <1000 4>; + status = "disabled"; + }; + + xhci0:xhci@0xf98a0000 { + compatible = "generic-xhci"; + reg = <0xf98a0000 0x10000>; + interrupts = <0 69 4>; + + clocks = <&hisilicon_clock PERI_CRG44_USB3CTRL>; + clock-names = "clk"; + status = "disabled"; + }; + + vddgpu: regulator@0xf8a23020 { + compatible = "hisilicon,hi3796mv200-volt"; + reg = <0xf8a23020 0x4>; + reg-names = "base-address"; + regulator-name = "vdd-gpu"; + regulator-min-microvolt = <650000>; + regulator-max-microvolt = <1150000>; + regulator-always-on; + status = "disabled"; /* only for FPGA */ + }; + + gpu:gpu@0xf9200000 { + compatible = "arm,malit720", "arm,mali", "arm,mali-midgard"; + reg = <0xf9200000 0x4000>; + interrupts = <0 142 4>, <0 141 4>, <0 143 4>; + interrupt-names = "JOB", "MMU", "GPU"; + + #cooling-cells = <2>; /* min followed by max */ + + clocks = <&hisilicon_clock PERI_CRG73_GPU_LP>; + clock-names = "clk_mali"; + mali-supply = <&vddgpu>; + operating-points = < + 200000 880000 + 300000 880000 + 400000 880000 + 500000 880000 + 600000 920000 + 675000 980000>; + + cooling-min-state = <0>; + cooling-max-state = <5>; + status = "disabled"; /* only for FPGA */ + + }; + hiddr_watchpoint: hiddr_watchpoint@0xF8A36000 { + compatible = "hisilicon.ddr_watchpoint"; + reg = <0xF8A36000 0x1000>; + interrupts = <0 31 4>; + }; + hiddr_watchzone: hiddr_watchzone@0xF8A35000 { + compatible = "hisilicon.ddr_watchzone"; + reg = <0xF8A35000 0x1000>; + interrupts = <0 31 4>; + }; + pcie:pcie@0xF0001000 { + compatible = "hisilicon,hisilicon-pcie","snps,dw-pcie"; + reg = <0xF0001000 0x200>,<0xf0000000 0x1000>; + interrupts = <0 131 4>; + + clocks = <&hisilicon_clock PERI_CRG99_PCIECTRL>; + clock-names = "clk"; + + #address-cells = <3>; + #size-cells = <2>; + device_type = "pci"; + ranges=<0x00000800 0 0xf2100000 0xf2100000 0 0x00020000 + 0x81000000 0 0 0xf4000000 0 0x00010000 + 0x82000000 0 0xf3000000 0xf3000000 0 0x01000000>; + num-lanes = <1>; + status = "disabled"; + }; + + sata:hiahci@0xF9900000 { + compatible = "generic-ahci"; + reg = <0xF9900000 0x1000>; + interrupts = <0 70 4>; + + phys = <&hiahci_phy>; + phy-names = "sata-phy"; + + clocks = <&hisilicon_clock PERI_CRG42_SATA3CTRL>; + clock-names = "clk"; + status = "disabled"; + }; + + sataphy:hiahci_phy: hiahci-phy@0xF9900000 { + compatible = "hiahci-phy"; + reg = <0xF9900000 0x1000>,<0xF8A20000 0x3000>; + #phy-cells = <0>; + status = "disabled"; + }; + + virtdev { + compatible = "virt-device"; + interrupts = <0 36 4>, /* "sci0" */ + <0 47 4>, /* "ir_std" */ + <0 47 4>, /* "ir_s2" */ + <0 48 4>, /* "keyled_ct1642" */ + <0 48 4>, /* "keyled_std" */ + <0 71 4>, /* "gsf0" */ + <0 75 4>, /* "multicipher" */ + <0 79 4>, /* "rsa" */ + <0 82 4>, /* "dmx" */ + <0 84 4>, /* "aiao" */ + <0 88 4>, /* "hdmi" */ + <0 90 4>, /* "vdp" */ + <0 91 4>, /* "tde" */ + <0 91 4>, /* "gfx2d" */ + <0 93 4>, /* "vpss0" */ + <0 94 4>, /* "gpu" */ + <0 95 4>, /* "vdec_vdh" */ + <0 96 4>, /* "png" */ + <0 97 4>, /* "jpeg" */ + <0 101 4>, /* "venc" */ + <0 102 4>, /* "jpge" */ + <0 104 4>, /* "vdec_scd" */ + <0 105 4>, /* "vdec_vdh_safe" */ + <0 106 4>, /* "vdec_scd_safe" */ + <0 126 4>, /* "cipher" */ + <0 147 4>, /* "hdmi_cec" */ + <0 148 4>, /* "mmu_vdh_safe" */ + <0 149 4>, /* "mmu_vdh" */ + <0 150 4>, /* "pastc" */ + <0 156 4>, /* "sha3" */ + <0 157 4>, /* "sm2" */ + <0 158 4>, /* "plcipher" */ + <0 174 4>, /* "tsio" */ + <0 176 4>; /* "plcipher_safe" */ + interrupt-names = /* 36 */ "sci0", + /* 47 */ "ir_std", + /* 47 */ "ir_s2", + /* 48 */ "keyled_ct1642", + /* 48 */ "keyled_std", + /* 71 */ "gsf0", + /* 75 */ "multicipher", + /* 79 */ "rsa", + /* 82 */ "dmx", + /* 84 */ "aiao", + /* 88 */ "hdmi", + /* 90 */ "vdp", + /* 91 */ "tde", + /* 91 */ "gfx2d", + /* 93 */ "vpss0", + /* 94 */ "gpu", + /* 95 */ "vdec_vdh", + /* 96 */ "png", + /* 97 */ "jpeg", + /* 101 */ "venc", + /* 102 */ "jpge", + /* 104 */ "vdec_scd", + /* 105 */ "vdec_vdh_safe", + /* 106 */ "vdec_scd_safe", + /* 126 */ "cipher", + /* 147 */ "hdmi_cec", + /* 148 */ "mmu_vdh_safe", + /* 149 */ "mmu_vdh", + /* 150 */ "pastc", + /* 156 */ "sha3", + /* 157 */ "sm2", + /* 158 */ "plcipher", + /* 174 */ "tsio", + /* 176 */ "plcipher_safe"; + }; + }; +}; diff --git a/arch/arm/boot/dts/hi3798cv200.dts b/arch/arm/boot/dts/hi3798cv200.dts new file mode 100644 index 000000000..ddb31ad75 --- /dev/null +++ b/arch/arm/boot/dts/hi3798cv200.dts @@ -0,0 +1,845 @@ +/dts-v1/; + +#include + +/ { + model = "Hisilicon"; + compatible = "hi3798cv200-series"; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + + aliases { + net_phy0 = &higmac0; + net_phy1 = &higmac1; + net_phy_addr0 = ð_phy0; + net_phy_addr1 = ð_phy1; + emmc = &emmc; + sd = &sd; + sdio = &sdio; + ohci0= &ohci; + ehci0= &ehci; + xhci0= &xhci0; + xhci1= &xhci1; + sata = &sata; + sataphy = &sataphy; + pcie = &pcie; + uart0= &uart0; + uart2= &uart2; + fmc = &fmc; + udc = &udc; + otg = &otg; + i2c0=&hii2c0; + i2c1=&hii2c1; + i2c2=&hii2c2; + i2c3=&hii2c3; + i2c4=&hii2c4; + spi0=&spi; + }; + + chosen { + bootargs = "rw"; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + cpus { + #address-cells = <1>; + #size-cells = <0>; + + /* cooling options */ + #cooling-cells = <2>; /* min followed by max */ + + cpu-map { + cluster0: cluster0 { + core0 { + cpu = <&CPU0>; + }; + core1 { + cpu = <&CPU1>; + }; + core2 { + cpu = <&CPU2>; + }; + core3 { + cpu = <&CPU3>; + }; + }; + }; + + CPU0: cpu@0 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <0>; + enable-method = "psci"; + }; + CPU1: cpu@1 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <1>; + enable-method = "psci"; + }; + CPU2: cpu@2 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <2>; + enable-method = "psci"; + }; + CPU3: cpu@3 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <3>; + enable-method = "psci"; + }; + + }; /* cpus */ + + gic: interrupt-controller { + compatible = "arm,cortex-a9-gic"; + #interrupt-cells = <3>; + #address-cells = <0>; + interrupt-controller; + reg = <0xf1001000 0x1000>, + <0xf1002000 0x100>; + }; + + clocks { + xtal_clk: xtal_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-output-names = "clk24M"; + }; + + clk_75m: clk_75m{ + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <75000000>; + clock-output-names = "clk75M"; + }; + }; + + trusted_core { + compatible = "trusted_core"; + interrupts = <0 64 4>; + }; + + soc { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + device_type = "soc"; + ranges = <0x0 0x0 0xffffffff>; + interrupt-parent = <&gic>; + + hisi_sensor0: hisi-sensor@0 { + compatible = "arm,hisi-thermal"; + #thermal-sensor-cells = <1>; + }; + + thermal-zones { + soc_thermal { + polling-delay = <1000>; + polling-delay-passive = <100>; + sustainable-power = <2500>; + + thermal-sensors = <&hisi_sensor0 0>; + + trips { + threshold: trip-point@0 { + temperature = <95000>; + hysteresis = <5000>; + type = "passive"; + }; + target: trip-point@1 { + temperature = <105000>; + hysteresis = <5000>; + type = "passive"; + }; + critical: trip-point@2 { + temperature = <120000>; + hysteresis = <5000>; + type = "critical"; + }; + }; + + cooling-maps { + map0 { + trip = <&target>; + cooling-device = <&cluster0 0 4>; + contribution = <1024>; + }; + map1 { + trip = <&target>; + cooling-device = <&gpu 0 5>; + contribution = <1024>; + }; + }; + }; + }; + + amba { + compatible = "arm,amba-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + gpio0: gpio0 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B20000 0x1000>; + interrupts = <0 108 0x4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio1: gpio1 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B21000 0x1000>; + interrupts = <0 109 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio2: gpio2 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B22000 0x1000>; + interrupts = <0 110 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio3: gpio3 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B23000 0x1000>; + interrupts = <0 111 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio4: gpio4 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B24000 0x1000>; + interrupts = <0 112 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio5: gpio5 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8004000 0x1000>; + interrupts = <0 113 0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio6: gpio6 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B26000 0x1000>; + interrupts = <0 114 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio7: gpio7 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B27000 0x1000>; + interrupts = <0 115 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio8: gpio8 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B28000 0x1000>; + interrupts = <0 116 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio9: gpio9 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B29000 0x1000>; + interrupts = <0 117 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio10: gpio10 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B2A000 0x1000>; + interrupts = <0 118 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio11: gpio11 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B2B000 0x1000>; + interrupts = <0 119 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio12: gpio12 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B2C000 0x1000>; + interrupts = <0 120 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + watchdog0: watchdog@0xf8a2c000 { + compatible = "arm,sp805-wdt", "arm,primecell"; + arm,primecell-periphid = <0x00141805>; + reg = <0xf8a2c000 0x1000>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + hii2c0:i2c@0xf8b10000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b10000 0x1000>; + interrupts = <0 38 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C0_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c1:i2c@0xf8b11000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b11000 0x1000>; + interrupts = <0 39 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C1_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c2:i2c@0xf8b12000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b12000 0x1000>; + interrupts = <0 40 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C2_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c3:i2c@0xf8b13000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b13000 0x1000>; + interrupts = <0 41 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C3_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c4:i2c@0xf8b14000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b14000 0x1000>; + interrupts = <0 42 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C4_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + spi:spi@0xF8B1A000 { + compatible = "arm,pl022", "arm,primecell"; + arm,primecell-periphid = <0x00041022>; + interrupts = <0 45 4>; + reg = <0xF8B1A000 0x1000>; + num-cs = <2>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&hisilicon_clock PERI_CRG28_SSP>; + clock-names = "apb_pclk"; + pl022,rt; + + /* userspace spi interface + * parse by of_register_spi_devices function + */ + /*spidev@0 { + * compatible = "rohm,dh2228fv"; + * reg = <1>; + * spi-max-frequency = <16000000>; + * }; + */ + }; + + /* + *spi_gpio: spi-gpio { + * compatible = "spi-gpio"; + * #address-cells = <1>; + * #size-cells = <0>; + * gpio-sck = <&gpio1 1 0>; + * gpio-miso = <&gpio1 3 0>; + * gpio-mosi = <&gpio1 2 0>; + * num-chipselects = <1>; + * cs-gpios = <&gpio1 4 1>; + *}; + */ + + ir: ir@f8001000 { + compatible = "hisilicon,hix5hd2-ir"; + reg = <0xf8001000 0x1000>; + interrupts = <0 47 4>; + clocks = <&hisilicon_clock HIIR_CLK>; + linux,rc-map-name = "rc-hisi"; + }; + + armv7-pmu { + compatible = "arm,cortex-a17-pmu"; + interrupts = <0 8 4>, + <0 9 4>, + <0 10 4>, + <0 11 4>; + }; +#if 0 + arm-timer { + compatible = "arm,armv7-timer"; + interrupts = <1 13 0xf04>, + <1 14 0xf04>; + clock-frequency = <24000000>; + }; +#endif + timer@hisp804 { + compatible = "hisilicon,hisp804"; + reg = <0xf8a29000 0x20>, /* clocksource */ + <0xf8a2a000 0x20>, /* local timer for each cpu */ + <0xf8a2a020 0x20>, + <0xf8a2b000 0x20>, + <0xf8a2b020 0x20>; + interrupts = <0 26 4>, /* irq of local timer */ + <0 59 4>, + <0 27 4>, + <0 60 4>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + uart0: uart@0xf8b00000 { + compatible = "arm,pl011", "arm,primecell"; + arm,primecell-periphid = <0x00241011>; + reg = <0xf8b00000 0x1000>; + interrupts = <0 49 4>; + clocks = <&clk_75m>; + clock-names = "apb_pclk"; + status = "okay"; + }; + + uart2: uart@0xf8b02000 { + compatible = "arm,pl011", "arm,primecell"; + arm,primecell-periphid = <0x00241011>; + reg = <0xf8b02000 0x1000>; + interrupts = <0 51 4>; + clocks = <&clk_75m>; + clock-names = "apb_pclk"; + status = "okay"; + }; + + }; + + emmc: himciv200.MMC@0xf9830000 { + compatible = "hi3798cv200,himciv200"; + reg = <0xf9830000 0x1000>,<0xF8A21000 0x40>; + interrupts = <0 35 4>; + + clocks = <&hisilicon_clock PERI_CRG40_SDIO1>; + clock-names = "clk"; + + caps = <0xc0000847>; + caps2 = <0x0>; + max-frequency = <100000000>; + status = "okay"; + }; + + sd:himciv200.SD@0xf9820000 { + compatible = "hi3798cv200,himciv200"; + reg = <0xf9820000 0x1000>,<0xF8A21158 0x40>; + interrupts = <0 34 4>; + + clocks = <&hisilicon_clock PERI_CRG39_SDIO0>; + clock-names = "clk"; + + ldo-addr = <0xf8a2011c>; + ldo-shift = <0>; + + caps = <0x80000007>; + caps2 = <0x4000>; + max-frequency = <50000000>; + status = "okay"; + }; + + sdio:himciv200.SD@0xf9c40000 { + compatible = "hi3798cv200,himciv200"; + reg = <0xf9c40000 0x1000>,<0xF8A210B0 0x40>; + interrupts = <0 86 4>; + + clocks = <&hisilicon_clock PERI_CRG163_SDIO2>; + clock-names = "clk"; + + caps = <0x80000007>; + max-frequency = <50000000>; + status = "okay"; + }; + + fmc:hifmc100.NAND@0xf9950000 { + compatible = "hisilicon.hifmc100"; + reg = <0xf9950000 0x100>, <0xfe200000 0x2176>; + interrupts = <0 54 4>; + + clocks = <&hisilicon_clock PERI_CRG224_FMC>; + clock-names = "clk"; + status = "okay"; + }; + + hisilicon_clock: hisilicon_clock { + compatible = "hi3798cv200.clock","hisilicon,clock-reset"; + reg = <0xF8A22000 0x400>, <0xF8A20000 0x0848>; + #clock-cells = <1>; + #reset-cells = <2>; + }; + + higmac0: ethernet@f9840000 { + compatible = "hisilicon,higmac"; + reg = <0xf9840000 0x1000>,<0xf984300c 0x4>; + interrupts = <0 71 4>; + + clocks = <&hisilicon_clock HIGMAC_MAC0_CLK>, + <&hisilicon_clock HIGMAC_MAC_IF0_CLK>; + clock-names = "higmac_clk", + "macif_clk"; + status = "okay"; + + resets = <&hisilicon_clock PERI_CRG51_GSF HIGMAC_PORT0_RST_BIT>, + <&hisilicon_clock PERI_CRG51_GSF HIGMAC_MACIF0_RST_BIT>, + <&hisilicon_clock PERI_CRG51_GSF HIGMAC_PHY0_RST_BIT>; + reset-names = "port_reset", + "macif_reset", + "phy_reset"; + + #address-cells = <1>; + #size-cells = <0>; + + mac-address = [00 00 00 00 00 00]; + + phy-handle = <ð_phy0>; + phy-mode = "mii"; + phy-gpio-base = <0>; + phy-gpio-bit = <0>; + + eth_phy0: ethernet_phy@0 { + reg = <2>; + }; + }; + + higmac1: ethernet@f9841000 { + compatible = "hisilicon,higmac"; + reg = <0xf9841000 0x1000>,<0xf9843010 0x4>; + interrupts = <0 72 4>; + + clocks = <&hisilicon_clock HIGMAC_MAC1_CLK>, + <&hisilicon_clock HIGMAC_MAC_IF1_CLK>; + clock-names = "higmac_clk", + "macif_clk"; + + status = "okay"; + + resets = <&hisilicon_clock PERI_CRG51_GSF HIGMAC_PORT1_RST_BIT>, + <&hisilicon_clock PERI_CRG51_GSF HIGMAC_MACIF1_RST_BIT>, + <&hisilicon_clock PERI_CRG51_GSF HIGMAC_PHY1_RST_BIT>; + reset-names = "port_reset", + "macif_reset", + "phy_reset"; + + #address-cells = <1>; + #size-cells = <0>; + + mac-address = [00 00 00 00 00 00]; + + phy-handle = <ð_phy1>; + phy-mode = "rgmii"; + phy-gpio-base = <0>; + phy-gpio-bit = <0>; + + eth_phy1: ethernet_phy@1{ + reg = <3>; + }; + }; + + ehci:ehci@0xf9890000 { + compatible = "generic-ehci"; + reg = <0xf9890000 0x10000>; + interrupts = <0 66 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + ohci:ohci@0xf9880000 { + compatible = "generic-ohci"; + reg = <0xf9880000 0x10000>; + interrupts = <0 67 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + udc:hiudc@0xf98c0000 { + compatible = "hiudc"; + reg = <0xf98c0000 0x40000>; + interrupts = <0 68 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + otg:hi3798cv200.hiusbotg { + compatible = "hiusbotg"; + reg = <0xf9880000 0x10000>,<0xf9890000 0x10000>,<0xf8a2012c 0x4>; + host_time = <1500 4>; + device_time = <1000 4>; + status = "okay"; + }; + + xhci0:xhci@0xf98a0000 { + compatible = "generic-xhci"; + reg = <0xf98a0000 0x10000>; + interrupts = <0 69 4>; + + clocks = <&hisilicon_clock PERI_CRG44_USB3CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + xhci1:xhci@0xf98b0000 { + compatible = "generic-xhci"; + reg = <0xf98b0000 0x10000>; + interrupts = <0 85 4>; + + clocks = <&hisilicon_clock PERI_CRG47_USB2PHY>; + clock-names = "clk"; + status = "okay"; + }; + + vddgpu: regulator@0xf8a23020 { + compatible = "hisilicon,hi3798cv200-volt"; + reg = <0xf8a23020 0x4>; + reg-names = "base-address"; + regulator-name = "vdd-gpu"; + regulator-min-microvolt = <650000>; + regulator-max-microvolt = <1150000>; + regulator-always-on; + status = "okay"; + }; + + gpu:gpu@0xf9200000 { + compatible = "arm,malit720", "arm,mali", "arm,mali-midgard"; + reg = <0xf9200000 0x4000>; + interrupts = <0 142 4>, <0 141 4>, <0 143 4>; + interrupt-names = "JOB", "MMU", "GPU"; + + #cooling-cells = <2>; /* min followed by max */ + + clocks = <&hisilicon_clock PERI_CRG73_GPU_LP>; + clock-names = "clk_mali"; + mali-supply = <&vddgpu>; + operating-points = < + 200000 880000 + 300000 880000 + 400000 880000 + 500000 880000 + 600000 920000 + 675000 980000>; + + cooling-min-state = <0>; + cooling-max-state = <5>; + status = "okay"; + + }; + + pcie:pcie@f9860000 { + compatible = "hisilicon,hisilicon-pcie","snps,dw-pcie"; + reg = <0xf9860000 0x200>,<0xf0000000 0x1000>; + interrupts = <0 131 4>; + + clocks = <&hisilicon_clock PERI_CRG99_PCIECTRL>; + clock-names = "clk"; + + #address-cells = <3>; + #size-cells = <2>; + device_type = "pci"; + ranges=<0x00000800 0 0xf2100000 0xf2100000 0 0x00020000 + 0x81000000 0 0 0xf4000000 0 0x00010000 + 0x82000000 0 0xf3000000 0xf3000000 0 0x01000000>; + num-lanes = <1>; + status = "okay"; + }; + + sata:hiahci@0xF9900000 { + compatible = "generic-ahci"; + reg = <0xF9900000 0x1000>; + interrupts = <0 70 4>; + + phys = <&hiahci_phy>; + phy-names = "sata-phy"; + + clocks = <&hisilicon_clock PERI_CRG42_SATA3CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + sataphy:hiahci_phy: hiahci-phy@0xF9900000 { + compatible = "hiahci-phy"; + reg = <0xF9900000 0x1000>,<0xF8A20000 0x3000>; + #phy-cells = <0>; + status = "okay"; + }; + + virtdev { + compatible = "virt-device"; + interrupts = <0 36 4>, /* "sci0" */ + <0 47 4>, /* "ir_std" */ + <0 47 4>, /* "ir_s2" */ + <0 48 4>, /* "keyled_ct1642" */ + <0 48 4>, /* "keyled_std" */ + <0 71 4>, /* "gsf0" */ + <0 72 4>, /* "gsf1" */ + <0 75 4>, /* "multicipher" */ + <0 82 4>, /* "dmx" */ + <0 84 4>, /* "aiao" */ + <0 88 4>, /* "hdmi" */ + <0 90 4>, /* "vdp" */ + <0 91 4>, /* "tde" */ + <0 92 4>, /* "gfx2d" */ + <0 93 4>, /* "vpss0" */ + <0 95 4>, /* "vdec_vdh" */ + <0 96 4>, /* "png" */ + <0 97 4>, /* "jpeg" */ + <0 101 4>, /* "venc" */ + <0 102 4>, /* "jpge" */ + <0 104 4>, /* "vdec_scd" */ + <0 105 4>, /* "vdec_vdh_safe" */ + <0 106 4>, /* "vdec_scd_safe" */ + <0 126 4>, /* "cipher" */ + <0 141 4>, /* "gpu_mmu" */ + <0 142 4>, /* "gpu_job" */ + <0 143 4>, /* "gpu" */ + <0 146 4>, /* "SecInvokeirq" */ + <0 147 4>, /* "hdmi_cec" */ + <0 148 4>, /* "mmu_vdh_safe" */ + <0 149 4>, /* "mmu_vdh" */ + <0 150 4>; /* "pastc" */ + interrupt-names = /* 36 */ "sci0", + /* 47 */ "ir_std", + /* 47 */ "ir_s2", + /* 48 */ "keyled_ct1642", + /* 48 */ "keyled_std", + /* 71 */ "gsf0", + /* 72 */ "gsf1", + /* 75 */ "multicipher", + /* 82 */ "dmx", + /* 84 */ "aiao", + /* 88 */ "hdmi", + /* 90 */ "vdp", + /* 91 */ "tde", + /* 92 */ "gfx2d", + /* 93 */ "vpss0", + /* 95 */ "vdec_vdh", + /* 96 */ "png", + /* 97 */ "jpeg", + /* 101 */ "venc", + /* 102 */ "jpge", + /* 104 */ "vdec_scd", + /* 105 */ "vdec_vdh_safe", + /* 106 */ "vdec_scd_safe", + /* 126 */ "cipher", + /* 141 */ "gpu_mmu", + /* 142 */ "gpu_job", + /* 143 */ "gpu", + /* 146 */ "SecInvokeirq", + /* 147 */ "hdmi_cec", + /* 148 */ "mmu_vdh_safe", + /* 149 */ "mmu_vdh", + /* 150 */ "pastc"; + }; + }; +}; diff --git a/arch/arm/boot/dts/hi3798mv100.dts b/arch/arm/boot/dts/hi3798mv100.dts new file mode 100644 index 000000000..957a8e418 --- /dev/null +++ b/arch/arm/boot/dts/hi3798mv100.dts @@ -0,0 +1,587 @@ +// SPDX-License-Identifier: GPL-2.0 + +/dts-v1/; + +#include +#include +#include +#include + +/ { + model = "Hisilicon"; + compatible = "hisilicon,hix5hd2", "hisilicon,hi3798mv100"; + #address-cells = <1>; + #size-cells = <1>; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + enable-method = "hisilicon,hix5hd2-smp"; + + cpu@0 { + compatible = "arm,cortex-a7"; + device_type = "cpu"; + reg = <0>; + }; + + cpu@1 { + compatible = "arm,cortex-a7"; + device_type = "cpu"; + reg = <1>; + }; + + cpu@2 { + compatible = "arm,cortex-a7"; + device_type = "cpu"; + reg = <2>; + }; + + cpu@3 { + compatible = "arm,cortex-a7"; + device_type = "cpu"; + reg = <3>; + }; + }; + + clocks { + xtal_clk: xtal_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-output-names = "clk24M"; + }; + }; + + gic: interrupt-controller@f8a01000 { + compatible = "arm,cortex-a7-gic"; + #interrupt-cells = <3>; + #address-cells = <0>; + interrupt-controller; + /* gic dist base, gic cpu base */ + reg = <0xf8a01000 0x1000>, <0xf8a02000 0x100>; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + ranges = <0 0xf8000000 0x8000000>; + + crg: clock-reset-controller@a22000 { + compatible = "hisilicon,hi3798cv200-crg", "syscon", "simple-mfd"; + reg = <0x0a22000 0x1000>; + #clock-cells = <1>; + #reset-cells = <2>; + }; + + sysctrl: system-controller@0 { + compatible = "hisilicon,hi3798cv200-sysctrl", "syscon"; + reg = <0x0000000 0x1000>; + #clock-cells = <1>; + #reset-cells = <2>; + }; + + reboot { + compatible = "syscon-reboot"; + regmap = <&sysctrl>; + offset = <0x4>; + mask = <0xdeadbeef>; + }; + + perictrl: peripheral-controller@a20000 { + compatible = "hisilicon,hi3798cv200-perictrl", "syscon", + "simple-mfd"; + reg = <0x0a20000 0x1000>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x0a20000 0x1000>; + + usb2_phy1: usb2-phy@124 { + compatible = "hisilicon,hi3798cv200-usb2-phy"; + reg = <0x124 0x4>; + clocks = <&crg HISTB_USB2_PHY1_REF_CLK>; + resets = <&crg 0xbc 8>; + #address-cells = <1>; + #size-cells = <0>; + + usb2_phy1_port0: phy@0 { + reg = <0>; + #phy-cells = <0>; + resets = <&crg 0xbc 9>; + }; + + usb2_phy1_port1: phy@1 { + reg = <1>; + #phy-cells = <0>; + resets = <&crg 0xbc 11>; + }; + }; + + usb2_phy2: usb2-phy@158 { + compatible = "hisilicon,hi3798cv200-usb2-phy"; + reg = <0x158 0x4>; + clocks = <&crg HISTB_USB2_2_PHY1_REF_CLK>; + resets = <&crg 0x190 8>; + #address-cells = <1>; + #size-cells = <0>; + + usb2_phy2_port0: phy@0 { + reg = <0>; + #phy-cells = <0>; + resets = <&crg 0x190 9>; + }; + }; + }; + + pmx0: pinconf@a21000 { + compatible = "pinconf-single"; + reg = <0x0a21000 0x180>; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <7>; + pinctrl-single,gpio-range = < + &range 0 8 2 /* GPIO 0 */ + &range 8 1 0 /* GPIO 1 */ + &range 9 4 2 + &range 13 1 0 + &range 14 1 1 + &range 15 1 0 + &range 16 5 0 /* GPIO 2 */ + &range 21 3 1 + &range 24 4 1 /* GPIO 3 */ + &range 28 2 2 + &range 86 1 1 + &range 87 1 0 + &range 30 4 2 /* GPIO 4 */ + &range 34 3 0 + &range 37 1 2 + &range 38 3 2 /* GPIO 6 */ + &range 41 5 0 + &range 46 8 1 /* GPIO 7 */ + &range 54 8 1 /* GPIO 8 */ + &range 64 7 1 /* GPIO 9 */ + &range 71 1 0 + &range 72 6 1 /* GPIO 10 */ + &range 78 1 0 + &range 79 1 1 + &range 80 6 1 /* GPIO 11 */ + &range 70 2 1 + &range 88 8 0 /* GPIO 12 */ + >; + + range: gpio-range { + #pinctrl-single,gpio-range-cells = <3>; + }; + }; + + amba { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + ranges; + + timer1: timer@a29000 { + /* + * Only used in NORMAL state, not available ins + * SLOW or DOZE state. + * The rate is fixed in 24MHz. + */ + compatible = "arm,sp804", "arm,primecell"; + reg = <0x0a29000 0x1000>; + /* timer10 & timer11 */ + interrupts = , ; + clocks = <&xtal_clk>; + }; + + timer2: timer@a2a000 { + compatible = "arm,sp804", "arm,primecell"; + reg = <0x0a2a000 0x1000>; + /* timer20 & timer21 */ + interrupts = , ; + clocks = <&xtal_clk>; + }; + + timer3: timer@a2b000 { + compatible = "arm,sp804", "arm,primecell"; + reg = <0x0a2b000 0x1000>; + /* timer30 & timer31 */ + interrupts = , ; + clocks = <&xtal_clk>; + }; + + timer4: timer@a81000 { + compatible = "arm,sp804", "arm,primecell"; + reg = <0x0a81000 0x1000>; + /* timer40 & timer41 */ + interrupts = ; + clocks = <&xtal_clk>; + }; + + uart0: uart@b00000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x0b00000 0x1000>; + interrupts = ; + clocks = <&sysctrl HISTB_UART0_CLK>, <&sysctrl HISTB_UART0_CLK>; + clock-names = "uartclk", "apb_pclk"; + resets = <&sysctrl 0x48 13>; + reset-names = "reset"; + }; + + uart1: uart@006000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x0006000 0x1000>; + interrupts = ; + clocks = <&crg HISTB_UART1_CLK>, <&crg HISTB_UART1_CLK>; + clock-names = "uartclk", "apb_pclk"; + resets = <&crg 0x68 1>; + reset-names = "reset"; + }; + + uart2: uart@b02000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x0b02000 0x1000>; + interrupts = ; + clocks = <&crg HISTB_UART2_CLK>, <&crg HISTB_UART2_CLK>; + clock-names = "uartclk", "apb_pclk"; + resets = <&crg 0x68 5>; + reset-names = "reset"; + }; + + gpio0: gpio@b20000 { + compatible = "arm,pl061", "arm,primecell"; + reg = <0x0b20000 0x1000>; + interrupts = ; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 0 8>; + clocks = <&crg HISTB_APB_CLK>; + clock-names = "apb_pclk"; + }; + + gpio1: gpio@b21000 { + compatible = "arm,pl061", "arm,primecell"; + reg = <0x0b21000 0x1000>; + interrupts = ; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + gpio-ranges = < + &pmx0 0 8 1 + &pmx0 1 9 4 + &pmx0 5 13 1 + &pmx0 6 14 1 + &pmx0 7 15 1 + >; + clocks = <&crg HISTB_APB_CLK>; + clock-names = "apb_pclk"; + }; + + gpio2: gpio@b22000 { + compatible = "arm,pl061", "arm,primecell"; + reg = <0x0b22000 0x1000>; + interrupts = ; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 16 5 &pmx0 5 21 3>; + clocks = <&crg HISTB_APB_CLK>; + clock-names = "apb_pclk"; + }; + + gpio3: gpio@b23000 { + compatible = "arm,pl061", "arm,primecell"; + reg = <0x0b23000 0x1000>; + interrupts = ; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + gpio-ranges = < + &pmx0 0 24 4 + &pmx0 4 28 2 + &pmx0 6 86 1 + &pmx0 7 87 1 + >; + clocks = <&crg HISTB_APB_CLK>; + clock-names = "apb_pclk"; + }; + + gpio4: gpio@b24000 { + compatible = "arm,pl061", "arm,primecell"; + reg = <0x0b24000 0x1000>; + interrupts = ; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 30 4 &pmx0 4 34 3 &pmx0 7 37 1>; + clocks = <&crg HISTB_APB_CLK>; + clock-names = "apb_pclk"; + }; + + gpio5: gpio@4000 { + compatible = "arm,pl061", "arm,primecell"; + reg = <0x0004000 0x1000>; + interrupts = ; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&crg HISTB_APB_CLK>; + clock-names = "apb_pclk"; + }; + + gpio6: gpio@b26000 { + compatible = "arm,pl061", "arm,primecell"; + reg = <0x0b26000 0x1000>; + interrupts = ; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 38 3 &pmx0 0 41 5>; + clocks = <&crg HISTB_APB_CLK>; + clock-names = "apb_pclk"; + }; + + wdt0: watchdog@a2c000 { + compatible = "arm,sp805-wdt", "arm,primecell"; + arm,primecell-periphid = <0x00141805>; + reg = <0x0a2c000 0x1000>; + interrupts = ; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + }; + + i2c0: i2c@b10000 { + compatible = "hisilicon,hix5hd2-i2c"; + reg = <0x0b10000 0x1000>; + interrupts = ; + clock-frequency = <400000>; + clocks = <&crg HISTB_I2C0_CLK>; + resets = <&crg 0x6c 5>; + reset-names = "reset"; + }; + + i2c1: i2c@b11000 { + compatible = "hisilicon,hix5hd2-i2c"; + reg = <0x0b11000 0x1000>; + interrupts = ; + clock-frequency = <400000>; + clocks = <&crg HISTB_I2C1_CLK>; + resets = <&crg 0x6c 9>; + reset-names = "reset"; + }; + + i2c2: i2c@b12000 { + compatible = "hisilicon,hix5hd2-i2c"; + reg = <0x0b12000 0x1000>; + interrupts = ; + clock-frequency = <400000>; + clocks = <&crg HISTB_I2C2_CLK>; + resets = <&crg 0x6c 13>; + reset-names = "reset"; + }; + + spi0: spi@b1a000 { + compatible = "arm,pl022", "arm,primecell"; + reg = <0x0b1a000 0x1000>; + interrupts = ; + num-cs = <1>; + clocks = <&crg HISTB_SPI0_CLK>, <&crg HISTB_SPI0_CLK>; + clock-names = "sspclk", "apb_pclk"; + resets = <&crg 0x70 1>; + reset-names = "reset"; + }; + + gpu: gpu@1200000 { + compatible = "arm,mali-450", "arm,mali-utgard"; + reg = <0x1200000 0x10000>; + interrupts = , + , + , + , + , + , + , + ; + interrupt-names = "gp", "gpmmu", "pp0", "ppmmu0", "pp1", + "ppmmu1", "pmu", "pp"; + pmu_domain_config = <0x1 0x2 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x2 0x0>; + pmu_switch_delay = <0x1ff>; + + #cooling-cells = <2>; /* min followed by max */ + + clocks = <&crg 0x124>; + clock-names = "clk_mali"; + operating-points = <150000 000000 + 200000 000000 + 250000 000000 + 300000 000000 + 345600 000000 + 400000 000000 + 432000 000000 + 500000 000000>; + + cooling-min-state = <0>; + cooling-max-state = <7>; + status = "disabled"; + }; + + nand@1810000 { + compatible = "hi3798mv100.hinfc610"; + reg = <0x1810000 0x100>, <0xe000000 0x2176>; + clocks = <&crg HISTB_NAND_CLK>; + clock-names = "apb_pclk"; + resets = <&crg 0x60 4>; + reset-names = "reset"; + }; + + /* unremovable emmc as mmcblk0 */ + mmc: mmc@1830000 { + compatible = "hisilicon,hi3798cv200-dw-mshc"; + reg = <0x1830000 0x10000>; + interrupts = ; + clocks = <&crg HISTB_MMC_CIU_CLK>, + <&crg HISTB_MMC_BIU_CLK>, + <&crg HISTB_MMC_SAMPLE_CLK>, + <&crg HISTB_MMC_DRV_CLK>; + clock-names = "ciu", "biu", "ciu-sample", "ciu-drive"; + resets = <&crg 0xa0 4>; + reset-names = "reset"; + }; +/* + sd: mmc@1820000 { + compatible = "snps,dw-mshc"; + reg = <0x1820000 0x10000>; + interrupts = ; + clocks = <&crg HISTB_SDIO0_CIU_CLK>, + <&crg HISTB_SDIO0_BIU_CLK>; + clock-names = "biu", "ciu"; + resets = <&crg 0x9c 4>; + reset-names = "reset"; + }; +*/ +/* + ethernet@1840000 { + compatible = "hisilicon,hi3516cv300-femac","hisilicon,hisi-femac-v2"; + reg = <0x1840000 0x1000>, <0x184300c 0x4>; + reg = <0x1840000 0x1000>, <0x1841300 0x200>; + interrupts = ; + clocks = <&crg 78>, <&crg 77>, <&crg HISTB_ETH0_MAC_CLK>; + clock-names = "mac_core", "bus", "eth"; + clocks = <&crg HISTB_ETH0_MAC_CLK>; + resets = <&crg 0xcc 4>, <&crg 0x120 4>; + reset-names = "mac", "phy"; + #address-cells = <1>; + #size-cells = <0>; + phy-handle = <&phy2>; + phy-mode = "mii"; + + phy2: ethernet-phy@2 { + reg = <2>; + }; + }; +*/ + hieth@1840000 { + compatible = "hisilicon,hieth"; + reg = <0x1840000 0x4000>; + interrupts = ; + clocks = <&crg 78>, <&crg 77>, <&crg HISTB_ETH0_MAC_CLK>; + clock-names = "bus", "core", "sel"; + phy-handle = <&hieth_phy0>; + #address-cells = <1>; + #size-cells = <0>; + + hieth_phy0: hieth_phy@0 { + reg = <2>; + mac-address = [00 00 00 00 00 00]; + phy-mode = "mii"; + internal-phy; + phy-gpio-base = <0>; + phy-gpio-bit = <0>; + }; + }; + + ohci0: usb@1880000 { + compatible = "generic-ohci"; + reg = <0x1880000 0x10000>; + interrupts = ; + clocks = <&crg HISTB_USB2_BUS_CLK>, + <&crg HISTB_USB2_12M_CLK>, + <&crg HISTB_USB2_48M_CLK>; + clock-names = "bus", "clk12", "clk48"; + resets = <&crg 0xb8 12>; + reset-names = "bus"; + phys = <&usb2_phy1_port0>, <&usb2_phy1_port1>; + phy-names = "usb0", "usb1"; + }; + + ehci0: usb@1890000 { + compatible = "generic-ehci"; + reg = <0x1890000 0x10000>; + interrupts = ; + clocks = <&crg HISTB_USB2_BUS_CLK>, + <&crg HISTB_USB2_PHY_CLK>, + <&crg HISTB_USB2_UTMI0_CLK>, + <&crg HISTB_USB2_UTMI1_CLK>; + clock-names = "bus", "phy", "utmi0", "utmi1"; + resets = <&crg 0xb8 12>, + <&crg 0xb8 16>, + <&crg 0xb8 13>, + <&crg 0xb8 14>; + reset-names = "bus", "phy", "utmi0", "utmi1"; + phys = <&usb2_phy1_port0>, <&usb2_phy1_port1>; + phy-names = "usb0", "usb1"; + }; + + ohci1: usb@1920000 { + compatible = "generic-ohci"; + reg = <0x1920000 0x10000>; + interrupts = ; + clocks = <&crg HISTB_USB2_2_BUS_CLK>, + <&crg HISTB_USB2_2_12M_CLK>, + <&crg HISTB_USB2_2_48M_CLK>; + clock-names = "bus", "clk12", "clk48"; + resets = <&crg 0x198 12>; + reset-names = "bus"; + phys = <&usb2_phy2_port0>; + phy-names = "usb"; + }; + + ehci1: usb@1930000 { + compatible = "generic-ehci"; + reg = <0x1930000 0x10000>; + interrupts = ; + clocks = <&crg HISTB_USB2_2_BUS_CLK>, + <&crg HISTB_USB2_2_PHY_CLK>, + <&crg HISTB_USB2_2_UTMI0_CLK>; + clock-names = "bus", "phy", "utmi"; + resets = <&crg 0x198 12>, + <&crg 0x198 16>, + <&crg 0x198 14>; + reset-names = "bus", "phy", "utmi"; + phys = <&usb2_phy2_port0>; + phy-names = "usb"; + }; + + ir: ir@1000 { + compatible = "hisilicon,hix5hd2-ir"; + reg = <0x0001000 0x1000>; + interrupts = ; + clocks = <&sysctrl HISTB_IR_CLK>; + clock-names = "apb_pclk"; + resets = <&sysctrl 0x48 5>; + reset-names = "reset"; + }; + }; +}; diff --git a/arch/arm/boot/dts/hi3798mv200.dts b/arch/arm/boot/dts/hi3798mv200.dts new file mode 100644 index 000000000..282d0d1d9 --- /dev/null +++ b/arch/arm/boot/dts/hi3798mv200.dts @@ -0,0 +1,867 @@ +/dts-v1/; + +#include + +/ { + model = "Hisilicon"; + compatible = "hi3798mv200-series"; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + + aliases { + net_phy0 = &hieth_phy0; + net_phy1 = &higmac0; + net_phy_addr0 = &hieth_phy0; + net_phy_addr1 = ð_phy0; + emmc = &emmc; + sd = &sd; + sdio = &sdio; + ohci0= &ohci; + ehci0= &ehci; + xhci0= &xhci0; + sata = &sata; + sataphy = &sataphy; + pcie = &pcie; + uart0= &uart0; + uart2= &uart2; + uart3= &uart3; + fmc = &fmc; + udc = &udc; + otg = &otg; + i2c0=&hii2c0; + i2c1=&hii2c1; + i2c2=&hii2c2; + spi0=&spi; + chiptrim=&chiptrim; + }; + + chosen { + bootargs = "rw"; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + cpus { + #address-cells = <1>; + #size-cells = <0>; + + /* cooling options */ + #cooling-cells = <2>; /* min followed by max */ + + cpu-map { + cluster0: cluster0 { + core0 { + cpu = <&CPU0>; + }; + core1 { + cpu = <&CPU1>; + }; + core2 { + cpu = <&CPU2>; + }; + core3 { + cpu = <&CPU3>; + }; + }; + }; + + CPU0: cpu@0 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <0>; + enable-method = "psci"; + }; + CPU1: cpu@1 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <1>; + enable-method = "psci"; + }; + CPU2: cpu@2 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <2>; + enable-method = "psci"; + }; + CPU3: cpu@3 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <3>; + enable-method = "psci"; + }; + + }; /* cpus */ + + gic: interrupt-controller { + compatible = "arm,cortex-a9-gic"; + #interrupt-cells = <3>; + #address-cells = <0>; + interrupt-controller; + reg = <0xf1001000 0x1000>, + <0xf1002000 0x100>; + }; + + clocks { + xtal_clk: xtal_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-output-names = "clk24M"; + }; + + clk_54m: clk_54m{ + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <54000000>; + clock-output-names = "clk54M"; + }; + + clk_75m: clk_75m{ + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <75000000>; + clock-output-names = "clk75M"; + }; + }; + + trusted_core { + compatible = "trusted_core"; + interrupts = <0 64 4>; + }; + + + soc { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + device_type = "soc"; + ranges = <0x0 0x0 0xffffffff>; + + chiptrim: chiptrim { + compatible = "chiptrim"; + }; + + hisi_sensor0: hisi-sensor@0 { + compatible = "arm,hisi-thermal"; + #thermal-sensor-cells = <1>; + }; + + thermal-zones { + soc_thermal { + polling-delay = <1000>; + polling-delay-passive = <100>; + sustainable-power = <2500>; + + thermal-sensors = <&hisi_sensor0 0>; + + trips { + threshold: trip-point@0 { + temperature = <95000>; + hysteresis = <5000>; + type = "passive"; + }; + target: trip-point@1 { + temperature = <105000>; + hysteresis = <5000>; + type = "passive"; + }; + critical: trip-point@2 { + temperature = <120000>; + hysteresis = <5000>; + type = "critical"; + }; + }; + + cooling-maps { + map0 { + trip = <&target>; + cooling-device = <&cluster0 0 4>; + contribution = <1024>; + }; + }; + }; + }; + + amba { + compatible = "arm,amba-bus"; + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + ranges; + + gpio0: gpio0 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B20000 0x1000>; + interrupts = <0 108 0x4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio1: gpio1 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B21000 0x1000>; + interrupts = <0 109 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio2: gpio2 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B22000 0x1000>; + interrupts = <0 110 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio3: gpio3 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B23000 0x1000>; + interrupts = <0 111 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio4: gpio4 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B24000 0x1000>; + interrupts = <0 112 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio5: gpio5 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8004000 0x1000>; + interrupts = <0 113 0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio6: gpio6 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B26000 0x1000>; + interrupts = <0 114 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio7: gpio7 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B27000 0x1000>; + interrupts = <0 115 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio8: gpio8 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B28000 0x1000>; + interrupts = <0 116 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + gpio9: gpio9 { + compatible = "arm,pl061", "arm,primecell"; + arm,primecell-periphid = <0x00041061>; + reg = <0xF8B29000 0x1000>; + interrupts = <0 117 4>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + watchdog0: watchdog@0xf8a2c000 { + compatible = "arm,sp805-wdt", "arm,primecell"; + arm,primecell-periphid = <0x00141805>; + reg = <0xf8a2c000 0x1000>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + hii2c0:i2c@0xf8b10000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b10000 0x1000>; + interrupts = <0 38 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C0_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c1:i2c@0xf8b11000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b11000 0x1000>; + interrupts = <0 39 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C1_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + hii2c2:i2c@0xf8b12000 { + compatible = "hisilicon,hi-i2c"; + reg = <0xf8b12000 0x1000>; + interrupts = <0 40 4>; + clock-frequency = <400000>; + clocks = <&hisilicon_clock HII2C_I2C2_CLK>; + clock-names = "apb_pclk"; + #address-cells = <1>; + #size-cells = <0>; + }; + + spi:spi@0xF8B1A000 { + compatible = "arm,pl022", "arm,primecell"; + arm,primecell-periphid = <0x00041022>; + interrupts = <0 45 4>; + reg = <0xF8B1A000 0x1000>; + num-cs = <2>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&hisilicon_clock PERI_CRG28_SSP>; + clock-names = "apb_pclk"; + pl022,rt; + + /* userspace spi interface + * parse by of_register_spi_devices function + */ + /*spidev@0 { + * compatible = "rohm,dh2228fv"; + * reg = <1>; + * spi-max-frequency = <16000000>; + * }; + */ + }; + + /* + *spi_gpio: spi-gpio { + * compatible = "spi-gpio"; + * #address-cells = <1>; + * #size-cells = <0>; + * gpio-sck = <&gpio1 1 0>; + * gpio-miso = <&gpio1 3 0>; + * gpio-mosi = <&gpio1 2 0>; + * num-chipselects = <1>; + * cs-gpios = <&gpio1 4 1>; + *}; + */ + + ir: ir@f8001000 { + compatible = "hisilicon,hix5hd2-ir"; + reg = <0xf8001000 0x1000>; + interrupts = <0 47 4>; + clocks = <&hisilicon_clock HIIR_CLK>; + linux,rc-map-name = "rc-hisi"; + }; + + armv7-pmu { + compatible = "arm,cortex-a17-pmu"; + interrupts = <0 8 4>, + <0 9 4>, + <0 10 4>, + <0 11 4>; + }; +#if 0 + arm-timer { + compatible = "arm,armv7-timer"; + interrupts = <1 13 0xf04>, + <1 14 0xf04>; + clock-frequency = <24000000>; + }; +#endif + timer@hisp804 { + compatible = "hisilicon,hisp804"; + reg = <0xf8a29000 0x20>, /* clocksource */ + <0xf8a2a000 0x20>, /* local timer for each cpu */ + <0xf8a2a020 0x20>, + <0xf8a2b000 0x20>, + <0xf8a2b020 0x20>; + interrupts = <0 26 4>, /* irq of local timer */ + <0 59 4>, + <0 27 4>, + <0 60 4>; + clocks = <&xtal_clk>; + clock-names = "apb_pclk"; + }; + + uart0: uart@0xf8b00000 { + compatible = "arm,pl011", "arm,primecell"; + arm,primecell-periphid = <0x00241011>; + reg = <0xf8b00000 0x1000>; + interrupts = <0 49 4>; + clocks = <&clk_75m>; + clock-names = "apb_pclk"; + status = "okay"; + }; + + uart2: uart@0xf8b02000 { + compatible = "arm,pl011", "arm,primecell"; + arm,primecell-periphid = <0x00241011>; + reg = <0xf8b02000 0x1000>; + interrupts = <0 51 4>; + clocks = <&clk_75m>; + clock-names = "apb_pclk"; + status = "okay"; + }; + + uart3: uart@0xf8b03000 { + compatible = "arm,pl011", "arm,primecell"; + arm,primecell-periphid = <0x00241011>; + reg = <0xf8b03000 0x1000>; + interrupts = <0 52 4>; + clocks = <&clk_75m>; + clock-names = "apb_pclk"; + status = "okay"; + }; + + }; + + emmc: himciv200.MMC@0xf9830000 { + compatible = "hi3798mv200,himciv200"; + reg = <0xf9830000 0x1000>,<0xF8A21000 0x40>; + interrupts = <0 35 4>; + + clocks = <&hisilicon_clock PERI_CRG40_SDIO1>; + clock-names = "clk"; + + caps = <0xc0000847>; + caps2 = <0x0>; + max-frequency = <50000000>; + status = "okay"; + }; + + sd:himciv200.SD@0xf9820000 { + compatible = "hi3798mv200,himciv200"; + reg = <0xf9820000 0x1000>,<0xF8A210C0 0x40>; + interrupts = <0 34 4>; + + clocks = <&hisilicon_clock PERI_CRG39_SDIO0>; + clock-names = "clk"; + + ldo-addr = <0xf8a2011c>; + ldo-shift = <0>; + + caps = <0x80000007>; + caps2 = <0x4000>; + max-frequency = <50000000>; + status = "okay"; + }; + + sdio:himciv200.SD@0xf9c40000 { + compatible = "hi3798mv200,himciv200"; + reg = <0xf9c40000 0x1000>,<0xF8A21060 0x40>; + interrupts = <0 86 4>; + + clocks = <&hisilicon_clock PERI_CRG163_SDIO2>; + clock-names = "clk"; + + caps = <0x80000007>; + max-frequency = <50000000>; + status = "okay"; + }; + + fmc:hifmc100.NAND@0xf9950000 { + compatible = "hisilicon.hifmc100"; + reg = <0xf9950000 0x100>, <0xfe200000 0x2176>; + interrupts = <0 54 4>; + + clocks = <&hisilicon_clock PERI_CRG224_FMC>; + clock-names = "clk"; + status = "okay"; + }; + + hisilicon_clock: hisilicon_clock { + compatible = "hi3798mv200.clock","hisilicon,clock-reset"; + reg = <0xF8A22000 0x400>, <0xF8A20000 0x0848>; + #clock-cells = <1>; + #reset-cells = <2>; + }; + hieth: hieth@f9c30000 { + compatible = "hisilicon,hieth"; + clocks = <&hisilicon_clock PERI_CRG52_SF>; + clock-names = "clk"; + reg = <0xf9c30000 0x4000>; + interrupts = <0 72 4>; + phy-handle = <&hieth_phy0>; + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + hieth_phy0: hieth_phy@0 { + reg = <2>; + interrupts = <0 73 4>, <0 107 4>; + mac-address = [00 00 00 00 00 00]; + phy-mode = "mii"; + phy-gpio-base = <0>; + phy-gpio-bit = <0>; + internal-phy; + }; + }; + + higmac0: ethernet@f9840000 { + compatible = "hisilicon,higmac"; + reg = <0xf9840000 0x1000>,<0xf984300c 0x4>; + interrupts = <0 71 4>; + + clocks = <&hisilicon_clock HIGMAC_MAC0_CLK>, + <&hisilicon_clock HIGMAC_MAC_IF0_CLK>; + clock-names = "higmac_clk", + "macif_clk"; + status = "okay"; + + resets = <&hisilicon_clock PERI_CRG51_GSF HIGMAC_PORT0_RST_BIT>, + <&hisilicon_clock PERI_CRG51_GSF HIGMAC_MACIF0_RST_BIT>, + <&hisilicon_clock PERI_CRG51_GSF HIGMAC_PHY0_RST_BIT>; + reset-names = "port_reset", + "macif_reset", + "phy_reset"; + + #address-cells = <1>; + #size-cells = <0>; + + mac-address = [00 00 00 00 00 00]; + + phy-handle = <ð_phy0>; + phy-mode = "rgmii"; + phy-gpio-base = <0>; + phy-gpio-bit = <0>; + + eth_phy0: ethernet_phy@0 { + reg = <3>; + }; + }; + + ehci:ehci@0xf9890000 { + compatible = "generic-ehci"; + reg = <0xf9890000 0x10000>; + interrupts = <0 66 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + ohci:ohci@0xf9880000 { + compatible = "generic-ohci"; + reg = <0xf9880000 0x10000>; + interrupts = <0 67 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + udc:hiudc@0xf98c0000 { + compatible = "hiudc"; + reg = <0xf98c0000 0x40000>; + interrupts = <0 68 4>; + + clocks = <&hisilicon_clock PERI_CRG46_USB2CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + otg:hi3798cv200.hiusbotg { + compatible = "hiusbotg"; + reg = <0xf9880000 0x10000>,<0xf9890000 0x10000>,<0xf8a2012c 0x4>; + host_time = <1500 4>; + device_time = <1000 4>; + status = "okay"; + }; + + xhci0:xhci@0xf98a0000 { + compatible = "generic-xhci"; + reg = <0xf98a0000 0x10000>; + interrupts = <0 69 4>; + + clocks = <&hisilicon_clock PERI_CRG44_USB3CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + hiddr_watchpoint: hiddr_watchpoint@0xF8A36000 { + compatible = "hisilicon.ddr_watchpoint"; + reg = <0xF8A36000 0x1000>; + interrupts = <0 31 4>; + }; + hiddr_watchzone: hiddr_watchzone@0xF8A35000 { + compatible = "hisilicon.ddr_watchzone"; + reg = <0xF8A35000 0x1000>; + interrupts = <0 31 4>; + }; + + vddgpu: regulator@0xf8a23020 { + compatible = "hisilicon,hi3798mv200-volt"; + reg = <0xf8a23020 0x4>; + reg-names = "Hisilicon GPU Regulator"; + regulator-name = "vdd-gpu"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1250000>; + regulator-always-on; + status = "okay"; + }; + + gpu:gpu@0xf9200000 { + compatible = "arm,mali-450", "arm,mali-utgard"; + interrupt-parent = <&gic>; + reg = <0xf9200000 0x10000>; + interrupts = <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>, <0 94 4>; + interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1", "IRQPMU", "IRQPP"; + pmu_domain_config = <0x1 0x2 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x2 0x0>; + pmu_switch_delay = <0x1ff>; + #cooling-cells = <2>; + clocks = <&hisilicon_clock PERI_CRG73_GPU_LP>; + clock-names = "clk_mali"; + mali-supply = <&vddgpu>; + + default-frequency = <600000000>; + max-utilization = <60>; + min-utilization = <30>; + max-frequency = <800000000>; + min-frequency = <200000000>; + + operating-points-tt = < + 200000000 870000 + 300000000 870000 + 400000000 870000 + 500000000 870000 + 600000000 870000 + 675000000 900000 + 750000000 910000 + 800000000 930000>; + operating-points-ss = < + 200000000 910000 + 300000000 910000 + 400000000 910000 + 500000000 910000 + 600000000 910000 + 675000000 910000 + 750000000 940000 + 800000000 960000>; + operating-points-ff = < + 200000000 830000 + 300000000 830000 + 400000000 830000 + 500000000 830000 + 600000000 830000 + 675000000 850000 + 750000000 890000 + 800000000 900000>; + + operating-points-ff-98mv300 = < + 200000000 840000 + 300000000 840000 + 400000000 840000 + 500000000 840000 + 540000000 840000 + 600000000 840000 + 675000000 850000 + 860000000 990000>; + + operating-points-tt-98mv300 = < + 200000000 880000 + 300000000 880000 + 400000000 880000 + 500000000 880000 + 540000000 880000 + 600000000 880000 + 675000000 900000 + 860000000 990000>; + + operating-points-ss-98mv300 = < + 200000000 910000 + 300000000 910000 + 400000000 910000 + 500000000 910000 + 540000000 910000 + 600000000 910000 + 675000000 950000 + 860000000 990000>; + + operating-points-tt-youtube = < + 200000000 870000 + 300000000 870000 + 400000000 870000 + 500000000 870000 + 600000000 870000 + 675000000 900000 + 800000000 930000>; + operating-points-ss-youtube = < + 200000000 910000 + 300000000 910000 + 400000000 910000 + 500000000 910000 + 600000000 910000 + 675000000 910000 + 800000000 960000>; + operating-points-ff-youtube = < + 200000000 830000 + 300000000 830000 + 400000000 830000 + 500000000 830000 + 600000000 830000 + 675000000 850000 + 800000000 900000>; + + cooling-min-state = <0>; + cooling-max-state = <7>; + status = "okay"; + + }; + + pcie:pcie@0xF0001000 { + compatible = "hisilicon,hisilicon-pcie","snps,dw-pcie"; + reg = <0xF0001000 0x200>,<0xf0000000 0x1000>,<0xf9860000 0x200>; + interrupts = <0 131 4>; + + clocks = <&hisilicon_clock PERI_CRG99_PCIECTRL>; + clock-names = "clk"; + + #address-cells = <3>; + #size-cells = <2>; + device_type = "pci"; + ranges=<0x00000800 0 0xf2100000 0xf2100000 0 0x00020000 + 0x81000000 0 0 0xf4000000 0 0x00010000 + 0x82000000 0 0xf3000000 0xf3000000 0 0x01000000>; + num-lanes = <1>; + status = "okay"; + }; + + sata:hiahci@0xF9900000 { + compatible = "generic-ahci"; + reg = <0xF9900000 0x1000>; + interrupts = <0 70 4>; + + phys = <&hiahci_phy>; + phy-names = "sata-phy"; + + clocks = <&hisilicon_clock PERI_CRG42_SATA3CTRL>; + clock-names = "clk"; + status = "okay"; + }; + + sataphy:hiahci_phy: hiahci-phy@0xF9900000 { + compatible = "hiahci-phy"; + reg = <0xF9900000 0x1000>,<0xF8A20000 0x3000>; + #phy-cells = <0>; + status = "okay"; + }; + + virtdev { + compatible = "virt-device"; + interrupts = <0 36 4>, /* "sci0" */ + <0 37 4>, /* "sci1" */ + <0 47 4>, /* "ir_std" */ + <0 47 4>, /* "ir_s2" */ + <0 48 4>, /* "keyled_ct1642" */ + <0 48 4>, /* "keyled_std" */ + <0 71 4>, /* "gsf0" */ + <0 75 4>, /* "multicipher" */ + <0 82 4>, /* "dmx" */ + <0 84 4>, /* "aiao" */ + <0 88 4>, /* "hdmi" */ + <0 90 4>, /* "vdp" */ + <0 91 4>, /* "tde" */ + <0 91 4>, /* "gfx2d" */ + <0 93 4>, /* "vpss0" */ + <0 94 4>, /* "gpu" */ + <0 95 4>, /* "vdec_vdh" */ + <0 96 4>, /* "png" */ + <0 97 4>, /* "jpeg" */ + <0 101 4>, /* "venc" */ + <0 102 4>, /* "jpge" */ + <0 104 4>, /* "vdec_scd" */ + <0 105 4>, /* "vdec_vdh_safe" */ + <0 106 4>, /* "vdec_scd_safe" */ + <0 126 4>, /* "cipher" */ + <0 146 4>, /* "SecInvokeirq" */ + <0 147 4>, /* "hdmi_cec" */ + <0 148 4>, /* "mmu_vdh_safe" */ + <0 149 4>, /* "mmu_vdh" */ + <0 150 4>; /* "pastc" */ + interrupt-names = /* 36 */ "sci0", + /* 37 */ "sci1", + /* 47 */ "ir_std", + /* 47 */ "ir_s2", + /* 48 */ "keyled_ct1642", + /* 48 */ "keyled_std", + /* 71 */ "gsf0", + /* 75 */ "multicipher", + /* 82 */ "dmx", + /* 84 */ "aiao", + /* 88 */ "hdmi", + /* 90 */ "vdp", + /* 91 */ "tde", + /* 91 */ "gfx2d", + /* 93 */ "vpss0", + /* 94 */ "gpu", + /* 95 */ "vdec_vdh", + /* 96 */ "png", + /* 97 */ "jpeg", + /* 101 */ "venc", + /* 102 */ "jpge", + /* 104 */ "vdec_scd", + /* 105 */ "vdec_vdh_safe", + /* 106 */ "vdec_scd_safe", + /* 126 */ "cipher", + /* 146 */ "SecInvokeirq", + /* 147 */ "hdmi_cec", + /* 148 */ "mmu_vdh_safe", + /* 149 */ "mmu_vdh", + /* 150 */ "pastc"; + }; + }; +}; diff --git a/arch/arm/configs/hi3716dv100_defconfig b/arch/arm/configs/hi3716dv100_defconfig new file mode 100644 index 000000000..963ffba6e --- /dev/null +++ b/arch/arm/configs/hi3716dv100_defconfig @@ -0,0 +1,3381 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +CONFIG_ARCH_HI3798MX=y +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 + +# +# HI3798MX board feature +# +CONFIG_MACH_HI3798MX=y + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +# CONFIG_VDSO is not set +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# CONFIG_SCHED_SMT is not set +# CONFIG_HAVE_ARM_ARCH_TIMER is not set +# CONFIG_MCPM is not set +# CONFIG_BIG_LITTLE is not set +# CONFIG_VMSPLIT_3G is not set +# CONFIG_VMSPLIT_3G_OPT is not set +CONFIG_VMSPLIT_2G=y +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0x80000000 +CONFIG_NR_CPUS=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_CLEANCACHE is not set +CONFIG_CMA=y +# 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_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3716dv100" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER 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=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_NETLINK_ACCT=y +CONFIG_NETFILTER_NETLINK_QUEUE=y +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NF_CONNTRACK is not set +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY 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_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_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS 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_COMMENT is not set +# 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_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_POLICY is not set +# CONFIG_NETFILTER_XT_MATCH_PHYSDEV 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_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_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 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_TTL is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_MANGLE is not set +# CONFIG_IP_NF_RAW is not set +CONFIG_IP_NF_ARPTABLES=y +# CONFIG_IP_NF_ARPFILTER is not set +# CONFIG_IP_NF_ARP_MANGLE is not set + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=y +CONFIG_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +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_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED 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_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +CONFIG_BT_DEBUGFS=y + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=y +CONFIG_BT_HCIBTUSB=y +# CONFIG_BT_HCIBTUSB_BCM is not set +# CONFIG_BT_HCIBTUSB_RTL is not set +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_AF_RXRPC is not set +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +# CONFIG_TIMER_HIFIXTIMER is not set +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +CONFIG_SUPPORT_DSP_RUN_MEM=y +CONFIG_DSP_RUN_MEM_ADDR=0x2000000 +CONFIG_DSP_RUN_MEM_SIZE=0x800000 +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +CONFIG_CMA_MEM_SHARED=y +CONFIG_CMA_ADVANCE_SHARE=y +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +CONFIG_MTD_NAND_HINFC610=y +CONFIG_HINFC610_MAX_CHIP=1 +# CONFIG_HINFC610_CACHE_ENABLE is not set +CONFIG_HINFC610_DBG_NAND_DEBUG=y +CONFIG_HINFC610_DBG_NAND_DUMP=y +CONFIG_HINFC610_DBG_NAND_ERASE_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_COUNT=y +CONFIG_HINFC610_DBG_NAND_ECC_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_RETRY=y +CONFIG_HINFC610_AUTO_PAGESIZE_ECC=y +# CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +# CONFIG_MTD_HIFMC100 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_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_NET_VENDOR_AURORA is not set +CONFIG_NET_CADENCE=y +# CONFIG_MACB 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_CIRRUS=y +# CONFIG_CS89x0 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_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_INTEL=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +CONFIG_NET_VENDOR_MICREL=y +# 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_NATSEMI=y +CONFIG_NET_VENDOR_8390=y +# CONFIG_AX88796 is not set +# CONFIG_ETHOC is not set +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000 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_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS 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_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +# CONFIG_PPP_MPPE is not set +CONFIG_PPP_MULTILINK=y +# CONFIG_PPPOE is not set +# CONFIG_PPPOLAC is not set +# CONFIG_PPPOPNS is not set +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_IPHETH is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_AT76C50X_USB is not set +CONFIG_USB_ZD1201=m +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +CONFIG_ATH_COMMON=m +CONFIG_ATH_CARDS=m +# CONFIG_ATH_DEBUG is not set +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K=m +# CONFIG_ATH9K_AHB is not set +# CONFIG_ATH9K_DEBUGFS is not set +# CONFIG_ATH9K_DYNACK is not set +# CONFIG_ATH9K_WOW is not set +CONFIG_ATH9K_RFKILL=y +# CONFIG_ATH9K_CHANNEL_CONTEXT is not set +CONFIG_ATH9K_PCOEM=y +CONFIG_ATH9K_HTC=m +# CONFIG_ATH9K_HTC_DEBUGFS is not set +# CONFIG_CARL9170 is not set +# CONFIG_ATH6KL is not set +# CONFIG_AR5523 is not set +# CONFIG_ATH10K is not set +# CONFIG_WCN36XX is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_LIBERTAS is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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_UINPUT=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_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 +# +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME 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=y +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_PRODIKEYS is not set +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# 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_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=y +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_HIDPP is not set +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +# CONFIG_HID_MAGICMOUSE is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +# CONFIG_HID_MULTITOUCH 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_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_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_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 + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +CONFIG_USB_SERIAL_FTDI_SIO=y +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=y +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_LED_TRIG is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI 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_MTK is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_VT6656 is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +# CONFIG_HISI_IOMMU_API is not set +# CONFIG_HISI_IOMMU is not set +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +# CONFIG_JOLIET is not set +# CONFIG_ZISOFS is not set +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_SDCARD_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_MEMORY_INIT=y + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_STACKTRACE=y +CONFIG_DEBUG_BUGVERBOSE=y + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3716dv100_loader_defconfig b/arch/arm/configs/hi3716dv100_loader_defconfig new file mode 100644 index 000000000..b1d153cb0 --- /dev/null +++ b/arch/arm/configs/hi3716dv100_loader_defconfig @@ -0,0 +1,2476 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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 is not set +CONFIG_KERNEL_LZMA=y +# 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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_HZ_PERIODIC=y +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NO_HZ_FULL is not set +# CONFIG_NO_HZ is not set +# CONFIG_HIGH_RES_TIMERS is not set + +# +# 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_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_NAMESPACES is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +CONFIG_RD_LZMA=y +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +# CONFIG_UID16 is not set +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +# CONFIG_BUG is not set +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +# CONFIG_EPOLL is not set +CONFIG_SIGNALFD=y +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_AIO is not set +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# CONFIG_VM_EVENT_COUNTERS is not set +# 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_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +CONFIG_TRACEPOINTS=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_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_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_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_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +CONFIG_ARCH_HI3798MX=y +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 + +# +# HI3798MX board feature +# +CONFIG_MACH_HI3798MX=y + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +# CONFIG_VDSO is not set +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# CONFIG_SCHED_SMT is not set +# CONFIG_HAVE_ARM_ARCH_TIMER is not set +# 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=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +# CONFIG_SCHED_HRTICK is not set +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +# CONFIG_HIGHPTE is not set +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +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=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +# CONFIG_IDLE_PAGE_TRACKING 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_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798mv100" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# 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 + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_WAKELOCK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG 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 is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_NET_IP_TUNNEL is not set +# CONFIG_IP_MROUTE is not set +CONFIG_SYN_COOKIES=y +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +# CONFIG_SUPPORT_SRAM_MANAGER is not set +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +CONFIG_SUPPORT_DSP_RUN_MEM=y +CONFIG_DSP_RUN_MEM_ADDR=0x2000000 +CONFIG_DSP_RUN_MEM_SIZE=0x800000 +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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 +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +CONFIG_MTD_NAND_HINFC610=y +CONFIG_HINFC610_MAX_CHIP=1 +# CONFIG_HINFC610_CACHE_ENABLE is not set +CONFIG_HINFC610_DBG_NAND_DEBUG=y +CONFIG_HINFC610_DBG_NAND_DUMP=y +CONFIG_HINFC610_DBG_NAND_ERASE_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_COUNT=y +CONFIG_HINFC610_DBG_NAND_ECC_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_RETRY=y +CONFIG_HINFC610_AUTO_PAGESIZE_ECC=y +# CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# 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 is not set +# CONFIG_MTD_HIFMC100 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_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_ZRAM is not set +# CONFIG_BLK_DEV_COW_COMMON 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=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_VXLAN is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS 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 is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_ETHOC is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC 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_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 is not set +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_APMPOWER is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO is not set + +# +# 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 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set +# CONFIG_LOGO is not set +# 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_ACRUX is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CP2112 is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF 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_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +# CONFIG_HID_MULTITOUCH 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_ROCCAT is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SPEEDLINK 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_THRUSTMASTER is not set +# CONFIG_HID_WACOM 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 + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI 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_MTK is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# 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_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_UBIFS_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +# CONFIG_SQUASHFS is not set +# 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_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +# CONFIG_ROOT_NFS is not set +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC 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_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +# CONFIG_DEBUG_USER is not set +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +# CONFIG_ENCRYPTED_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_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST 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_SEQIV is not set +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF 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_SHA256=m +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set + +# +# Certificates for signature checking +# +# CONFIG_SYSTEM_TRUSTED_KEYRING is not set +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +# CONFIG_CRC_CCITT 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_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_XZ_DEC is not set +# CONFIG_XZ_DEC_BCJ is not set +CONFIG_DECOMPRESS_LZMA=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3716mv410_420_ca_debug_defconfig b/arch/arm/configs/hi3716mv410_420_ca_debug_defconfig new file mode 100644 index 000000000..0887c7d9d --- /dev/null +++ b/arch/arm/configs/hi3716mv410_420_ca_debug_defconfig @@ -0,0 +1,2390 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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 is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_CROSS_MEMORY_ATTACH is not set +# CONFIG_FHANDLE is not set +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=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 + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_NAMESPACES is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_ANON_INODES=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_KALLSYMS is not set +CONFIG_PRINTK=y +# CONFIG_BUG is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_AIO is not set +# CONFIG_ADVISE_SYSCALLS is not set +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_VM_EVENT_COUNTERS is not set +# 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_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_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_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_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_BLOCK=y +CONFIG_LBDAF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_CMDLINE_PARSER is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_CMDLINE_PARTITION is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +CONFIG_ARCH_S40=y +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# S40 board feature +# +CONFIG_MACH_S40=y +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 +CONFIG_MMZ_PARAM="ddr,0,0,320M" + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +# CONFIG_KUSER_HELPERS is not set +# 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_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_SCU=y +# CONFIG_HAVE_ARM_ARCH_TIMER 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_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE is not set +CONFIG_CMA=y +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_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3716mv410" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_COREDUMP is not set + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +# CONFIG_WAKELOCK 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_APM_EMULATION is not set +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER 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=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +# CONFIG_IPV6_ROUTER_PREF 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_NETLINK_ACCT=y +CONFIG_NETFILTER_NETLINK_QUEUE=y +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NF_CONNTRACK is not set +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY 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_NFLOG is not set +# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS 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_COMMENT is not set +# 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_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_POLICY 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_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_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 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_TTL is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_MANGLE is not set +# CONFIG_IP_NF_RAW is not set +CONFIG_IP_NF_ARPTABLES=y +# CONFIG_IP_NF_ARPFILTER is not set +# CONFIG_IP_NF_ARP_MANGLE is not set + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 +# 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED 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_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +CONFIG_WIRELESS=y +# CONFIG_CFG80211 is not set +# CONFIG_LIB80211 is not set + +# +# CFG80211 needs to be enabled for MAC80211 +# +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_LWTUNNEL is not set + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0x0 +CONFIG_HISI_DEBUG_UART_VIRT=0x0 +# CONFIG_PCIE_HISILICON is not set + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +# CONFIG_SUPPORT_SRAM_MANAGER is not set +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +# CONFIG_PART_CHANGE is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_HISI_EXT4_TMP_QUIRK is not set +CONFIG_SUPPORT_CA=y +CONFIG_CA_SUPPORT_ADVCA=y +CONFIG_CA_WARKUP_CHECK=y +CONFIG_CA_FILE_AUTHORITY=y +CONFIG_CA_NET_CONFIG=y +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_DEVFREQ_GOV_GPU_ONDEMAND is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +# CONFIG_UEVENT_HELPER is not set +# CONFIG_DEVTMPFS is not set +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +# CONFIG_ALLOW_DEV_COREDUMP is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_OF_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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 +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +# CONFIG_MTD_UBI is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_BLK_DEV_COW_COMMON 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=y +CONFIG_BLK_DEV_RAM_COUNT=1 +CONFIG_BLK_DEV_RAM_SIZE=81920 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_FARADAY is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_ETHOC 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_SMSC 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_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set +CONFIG_WLAN=y +# CONFIG_HOSTAP is not set +# CONFIG_WL_MEDIATEK is not set +# CONFIG_WL_TI is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN 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 is not set +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO is not set + +# +# 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 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +# CONFIG_SERIO_LIBPS2 is not set +# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_APBPS2 is not set +# CONFIG_USERIO is not set +# CONFIG_GAMEPORT is not set + +# +# 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_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_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_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +# 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 + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +# CONFIG_USB_OHCI_LITTLE_ENDIAN is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +# CONFIG_USB_DEFAULT_PERSIST is not set +# 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=y +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF 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 is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +# CONFIG_USB_OHCI_HCD 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 + +# +# 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 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_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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +# CONFIG_MMC is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_COMEDI is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_SWITCH is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_EXT2_FS is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +# CONFIG_PROC_SYSCTL is not set +# 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 is not set +# CONFIG_TMPFS_XATTR is not set +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# 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_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_XATTR=y +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_STRIP_ASM_SYMS=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_MEMORY_INIT is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y + +# +# Runtime Testing +# +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_STRICT_DEVMEM=y +CONFIG_ARM_UNWIND=y +# CONFIG_DEBUG_USER is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +CONFIG_DEBUG_SET_MODULE_RONX=y +# CONFIG_CORESIGHT is not set + +# +# 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_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST 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_SEQIV is not set +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC 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_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=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_BCJ 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_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +# CONFIG_ARCH_HAS_SG_CHAIN is not set +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3716mv410_420_ca_lxc_debug_defconfig b/arch/arm/configs/hi3716mv410_420_ca_lxc_debug_defconfig new file mode 100644 index 000000000..3ac04b409 --- /dev/null +++ b/arch/arm/configs/hi3716mv410_420_ca_lxc_debug_defconfig @@ -0,0 +1,2373 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +# CONFIG_CROSS_MEMORY_ATTACH is not set +# CONFIG_FHANDLE is not set +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=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 + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_CGROUPS=y +# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_FREEZER=y +# CONFIG_CGROUP_PIDS is not set +CONFIG_CGROUP_DEVICE=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_PAGE_COUNTER=y +CONFIG_MEMCG=y +# CONFIG_MEMCG_KMEM is not set +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +# CONFIG_CFS_BANDWIDTH is not set +CONFIG_RT_GROUP_SCHED=y +# CONFIG_BLK_CGROUP is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +CONFIG_RD_LZMA=y +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=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_KALLSYMS is not set +CONFIG_PRINTK=y +# CONFIG_BUG is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +# CONFIG_TIMERFD is not set +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_AIO is not set +# CONFIG_ADVISE_SYSCALLS is not set +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_VM_EVENT_COUNTERS is not set +# 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_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_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_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_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_BLOCK=y +CONFIG_LBDAF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_BSGLIB is not set +CONFIG_BLK_DEV_INTEGRITY=y +# CONFIG_BLK_CMDLINE_PARSER is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_CMDLINE_PARTITION is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +CONFIG_ARCH_S40=y +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# S40 board feature +# +CONFIG_MACH_S40=y +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 +CONFIG_MMZ_PARAM="ddr,0,0,320M" + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +# CONFIG_KUSER_HELPERS is not set +# 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_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_SCU=y +# CONFIG_HAVE_ARM_ARCH_TIMER 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_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE is not set +CONFIG_CMA=y +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_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3716mv410" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_COREDUMP is not set + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +# CONFIG_WAKELOCK 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_APM_EMULATION is not set +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER 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 is not set +CONFIG_SYN_COOKIES=y +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_LRO=y +# CONFIG_INET_DIAG 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_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +# CONFIG_BRIDGE_NETFILTER is not set + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +# CONFIG_NETFILTER_NETLINK_ACCT is not set +# CONFIG_NETFILTER_NETLINK_QUEUE is not set +# CONFIG_NETFILTER_NETLINK_LOG is not set +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_MARK=y +# CONFIG_NF_CONNTRACK_PROCFS is not set +# CONFIG_NF_CONNTRACK_EVENTS is not set +# CONFIG_NF_CONNTRACK_TIMEOUT is not set +# CONFIG_NF_CONNTRACK_TIMESTAMP 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 is not set +# CONFIG_NF_CT_NETLINK_TIMEOUT is not set +CONFIG_NF_NAT=y +CONFIG_NF_NAT_NEEDED=y +# CONFIG_NF_NAT_AMANDA is not set +# CONFIG_NF_NAT_FTP is not set +# CONFIG_NF_NAT_IRC is not set +# CONFIG_NF_NAT_SIP is not set +# CONFIG_NF_NAT_TFTP is not set +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 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_CT is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +# CONFIG_NETFILTER_XT_TARGET_HL is not set +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +# CONFIG_NETFILTER_XT_TARGET_IDLETIMER 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 is not set +# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set +# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETFILTER_XT_TARGET_TRACE 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=y +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +# 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=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +# CONFIG_NETFILTER_XT_MATCH_MARK is not set +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +# CONFIG_NETFILTER_XT_MATCH_POLICY 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=y +# 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_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_NF_CONNTRACK_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=y +CONFIG_NF_NAT_IPV4=y +CONFIG_NF_NAT_MASQUERADE_IPV4=y +# CONFIG_NF_NAT_PPTP is not set +# CONFIG_NF_NAT_H323 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=y +# CONFIG_IP_NF_TARGET_SYNPROXY is not set +CONFIG_IP_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +# CONFIG_IP_NF_TARGET_NETMAP is not set +# CONFIG_IP_NF_TARGET_REDIRECT 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=y +# CONFIG_IP_NF_ARPTABLES is not set +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=y +CONFIG_BRIDGE=y +# CONFIG_BRIDGE_IGMP_SNOOPING is not set +CONFIG_HAVE_NET_DSA=y +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +CONFIG_LLC=y +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_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_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_CGROUP_NET_PRIO is not set +# CONFIG_CGROUP_NET_CLASSID is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# 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_LWTUNNEL is not set + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0x0 +CONFIG_HISI_DEBUG_UART_VIRT=0x0 +# CONFIG_PCIE_HISILICON is not set +# CONFIG_PCIE_RESET is not set +CONFIG_GPIO_PCIE_RESET=0xff + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +# CONFIG_SUPPORT_SRAM_MANAGER is not set +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +# CONFIG_PART_CHANGE is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_HISI_EXT4_TMP_QUIRK is not set +CONFIG_SUPPORT_CA=y +CONFIG_CA_SUPPORT_ADVCA=y +CONFIG_CA_WARKUP_CHECK=y +CONFIG_CA_FILE_AUTHORITY=y +CONFIG_CA_NET_CONFIG=y +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_DEVFREQ_GOV_GPU_ONDEMAND is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +# CONFIG_UEVENT_HELPER is not set +# CONFIG_DEVTMPFS is not set +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +# CONFIG_ALLOW_DEV_COREDUMP is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_OF_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +CONFIG_MTD_BLOCK2MTD=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +# CONFIG_MTD_UBI is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_BLK_DEV_COW_COMMON 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=y +CONFIG_BLK_DEV_RAM_COUNT=1 +CONFIG_BLK_DEV_RAM_SIZE=81920 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# 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_BH1780 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_BMP085_I2C is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_SRAM is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +# CONFIG_EEPROM_93CX6 is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_VXLAN is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_TUN is not set +# CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_VETH=y +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_FARADAY is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_ETHOC 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_SMSC 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_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_HISILICON_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC 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_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 is not set +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO is not set + +# +# 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 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +CONFIG_DEVPTS_MULTIPLE_INSTANCES=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_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_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_UARTLITE is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# 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_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +# CONFIG_I2C_CHARDEV is not set +# CONFIG_I2C_MUX is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +# CONFIG_SPI is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# 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_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_PMIC_DA903X 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_I2C is not set +# CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_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_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +# 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 + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +# CONFIG_USB_OHCI_LITTLE_ENDIAN is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +# CONFIG_USB_DEFAULT_PERSIST is not set +# 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=y +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF 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 is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# 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 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_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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +# CONFIG_MMC is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_SWITCH is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_EXT2_FS is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# 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 is not set +# CONFIG_TMPFS_XATTR is not set +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# 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_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_XATTR=y +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_STRIP_ASM_SYMS=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_MEMORY_INIT is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y + +# +# Runtime Testing +# +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_STRICT_DEVMEM=y +CONFIG_ARM_UNWIND=y +# CONFIG_DEBUG_USER is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +CONFIG_DEBUG_SET_MODULE_RONX=y +# CONFIG_CORESIGHT is not set + +# +# 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_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST 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_SEQIV is not set +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC 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_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +CONFIG_CRYPTO_CRCT10DIF=y +# CONFIG_CRYPTO_GHASH 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +CONFIG_CRC_T10DIF=y +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=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_BCJ is not set +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_LZMA=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +# CONFIG_ARCH_HAS_SG_CHAIN is not set +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3716mv410_420_ca_lxc_release_defconfig b/arch/arm/configs/hi3716mv410_420_ca_lxc_release_defconfig new file mode 100644 index 000000000..b68415537 --- /dev/null +++ b/arch/arm/configs/hi3716mv410_420_ca_lxc_release_defconfig @@ -0,0 +1,2295 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +# CONFIG_CROSS_MEMORY_ATTACH is not set +# CONFIG_FHANDLE is not set +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=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 + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_CGROUPS=y +# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_FREEZER=y +# CONFIG_CGROUP_PIDS is not set +CONFIG_CGROUP_DEVICE=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_PAGE_COUNTER=y +CONFIG_MEMCG=y +# CONFIG_MEMCG_KMEM is not set +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +# CONFIG_CFS_BANDWIDTH is not set +CONFIG_RT_GROUP_SCHED=y +# CONFIG_BLK_CGROUP is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +CONFIG_RD_LZMA=y +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=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_KALLSYMS is not set +# CONFIG_PRINTK is not set +# CONFIG_BUG is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +# CONFIG_TIMERFD is not set +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_AIO is not set +# CONFIG_ADVISE_SYSCALLS is not set +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_VM_EVENT_COUNTERS is not set +# 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_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_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_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_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_BLOCK=y +CONFIG_LBDAF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_BSGLIB is not set +CONFIG_BLK_DEV_INTEGRITY=y +# CONFIG_BLK_CMDLINE_PARSER is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_CMDLINE_PARTITION is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +CONFIG_ARCH_S40=y +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# S40 board feature +# +CONFIG_MACH_S40=y +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 +CONFIG_MMZ_PARAM="ddr,0,0,320M" + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +# CONFIG_KUSER_HELPERS is not set +# 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_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_SCU=y +# CONFIG_HAVE_ARM_ARCH_TIMER 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_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE is not set +CONFIG_CMA=y +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_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3716mv410" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_COREDUMP is not set + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +# CONFIG_WAKELOCK 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_APM_EMULATION is not set +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER 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 is not set +CONFIG_SYN_COOKIES=y +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_LRO=y +# CONFIG_INET_DIAG 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_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +# CONFIG_BRIDGE_NETFILTER is not set + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +# CONFIG_NETFILTER_NETLINK_ACCT is not set +# CONFIG_NETFILTER_NETLINK_QUEUE is not set +# CONFIG_NETFILTER_NETLINK_LOG is not set +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_MARK=y +# CONFIG_NF_CONNTRACK_PROCFS is not set +# CONFIG_NF_CONNTRACK_EVENTS is not set +# CONFIG_NF_CONNTRACK_TIMEOUT is not set +# CONFIG_NF_CONNTRACK_TIMESTAMP 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 is not set +# CONFIG_NF_CT_NETLINK_TIMEOUT is not set +CONFIG_NF_NAT=y +CONFIG_NF_NAT_NEEDED=y +# CONFIG_NF_NAT_AMANDA is not set +# CONFIG_NF_NAT_FTP is not set +# CONFIG_NF_NAT_IRC is not set +# CONFIG_NF_NAT_SIP is not set +# CONFIG_NF_NAT_TFTP is not set +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 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_CT is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +# CONFIG_NETFILTER_XT_TARGET_HL is not set +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +# CONFIG_NETFILTER_XT_TARGET_IDLETIMER 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 is not set +# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set +# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETFILTER_XT_TARGET_TRACE 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=y +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +# 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=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +# CONFIG_NETFILTER_XT_MATCH_MARK is not set +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +# CONFIG_NETFILTER_XT_MATCH_POLICY 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=y +# 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_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_NF_CONNTRACK_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=y +CONFIG_NF_NAT_IPV4=y +CONFIG_NF_NAT_MASQUERADE_IPV4=y +# CONFIG_NF_NAT_PPTP is not set +# CONFIG_NF_NAT_H323 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=y +# CONFIG_IP_NF_TARGET_SYNPROXY is not set +CONFIG_IP_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +# CONFIG_IP_NF_TARGET_NETMAP is not set +# CONFIG_IP_NF_TARGET_REDIRECT 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=y +# CONFIG_IP_NF_ARPTABLES is not set +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=y +CONFIG_BRIDGE=y +# CONFIG_BRIDGE_IGMP_SNOOPING is not set +CONFIG_HAVE_NET_DSA=y +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +CONFIG_LLC=y +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_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_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_CGROUP_NET_PRIO is not set +# CONFIG_CGROUP_NET_CLASSID is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# 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_LWTUNNEL is not set + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0x0 +CONFIG_HISI_DEBUG_UART_VIRT=0x0 +# CONFIG_PCIE_HISILICON is not set +# CONFIG_PCIE_RESET is not set +CONFIG_GPIO_PCIE_RESET=0xff + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +# CONFIG_SUPPORT_SRAM_MANAGER is not set +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +# CONFIG_PART_CHANGE is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_HISI_EXT4_TMP_QUIRK is not set +CONFIG_SUPPORT_CA=y +CONFIG_CA_SUPPORT_ADVCA=y +CONFIG_CA_WARKUP_CHECK=y +CONFIG_CA_FILE_AUTHORITY=y +CONFIG_CA_NET_CONFIG=y +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_DEVFREQ_GOV_GPU_ONDEMAND is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +# CONFIG_UEVENT_HELPER is not set +# CONFIG_DEVTMPFS is not set +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +# CONFIG_ALLOW_DEV_COREDUMP is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_OF_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +CONFIG_MTD_BLOCK2MTD=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +# CONFIG_MTD_UBI is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_BLK_DEV_COW_COMMON 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=y +CONFIG_BLK_DEV_RAM_COUNT=1 +CONFIG_BLK_DEV_RAM_SIZE=81920 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# 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_BH1780 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_BMP085_I2C is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_SRAM is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +# CONFIG_EEPROM_93CX6 is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_VXLAN is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_TUN is not set +# CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_VETH=y +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_FARADAY is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_ETHOC 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_SMSC 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_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_HISILICON_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_PPP 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_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 is not set +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO is not set + +# +# 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 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +# CONFIG_TTY is not set +# CONFIG_DEVMEM is not set +# CONFIG_DEVKMEM 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 + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +# CONFIG_I2C_CHARDEV is not set +# CONFIG_I2C_MUX is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# 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 +# CONFIG_SPI is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# 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_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_PMIC_DA903X 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_I2C is not set +# CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_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_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set +# CONFIG_LOGO is not set +# 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 + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +# CONFIG_USB_OHCI_LITTLE_ENDIAN is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +# CONFIG_USB_DEFAULT_PERSIST is not set +# 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=y +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF 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 is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# 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 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_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 +# + +# +# 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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +# CONFIG_MMC is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_SWITCH is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_EXT2_FS is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# 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 is not set +# CONFIG_TMPFS_XATTR is not set +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# 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_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_XATTR=y +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_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=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=1 +# CONFIG_DYNAMIC_DEBUG is not set + +# +# Compile-time checks and compiler options +# +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_STRIP_ASM_SYMS=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_MEMORY_INIT is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y + +# +# Runtime Testing +# +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_STRICT_DEVMEM=y +CONFIG_ARM_UNWIND=y +# CONFIG_DEBUG_USER is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +CONFIG_DEBUG_SET_MODULE_RONX=y +# CONFIG_CORESIGHT is not set + +# +# 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_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST 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_SEQIV is not set +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC 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_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +CONFIG_CRYPTO_CRCT10DIF=y +# CONFIG_CRYPTO_GHASH 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +CONFIG_CRC_T10DIF=y +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=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_BCJ is not set +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_LZMA=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +# CONFIG_ARCH_HAS_SG_CHAIN is not set +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3716mv410_420_ca_release_defconfig b/arch/arm/configs/hi3716mv410_420_ca_release_defconfig new file mode 100644 index 000000000..82508c422 --- /dev/null +++ b/arch/arm/configs/hi3716mv410_420_ca_release_defconfig @@ -0,0 +1,1949 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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 is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_CROSS_MEMORY_ATTACH is not set +# CONFIG_FHANDLE is not set +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=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 + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_NAMESPACES is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_ANON_INODES=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_KALLSYMS is not set +# CONFIG_PRINTK is not set +# CONFIG_BUG is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +# CONFIG_EPOLL is not set +CONFIG_SIGNALFD=y +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_AIO is not set +# CONFIG_ADVISE_SYSCALLS is not set +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_VM_EVENT_COUNTERS is not set +# 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_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_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_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_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_BLOCK=y +CONFIG_LBDAF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_CMDLINE_PARSER is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_CMDLINE_PARTITION is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +CONFIG_ARCH_S40=y +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# S40 board feature +# +CONFIG_MACH_S40=y +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 +CONFIG_MMZ_PARAM="ddr,0,0,320M" + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +# CONFIG_KUSER_HELPERS is not set +# 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_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_SCU=y +# CONFIG_HAVE_ARM_ARCH_TIMER 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_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE is not set +CONFIG_CMA=y +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_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3716mv410" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_COREDUMP is not set + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +# CONFIG_WAKELOCK 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_APM_EMULATION is not set +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_PACKET is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +# CONFIG_NET_KEY is not set +# CONFIG_INET is not set +# CONFIG_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER is not set +# CONFIG_ATM 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_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +# CONFIG_BATMAN_ADV is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +CONFIG_NET_RX_BUSY_POLL=y +# CONFIG_BQL is not set + +# +# Network testing +# +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# 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_NFC is not set +# CONFIG_LWTUNNEL is not set + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0x0 +CONFIG_HISI_DEBUG_UART_VIRT=0x0 +# CONFIG_PCIE_HISILICON is not set + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +# CONFIG_SUPPORT_SRAM_MANAGER is not set +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +# CONFIG_PART_CHANGE is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_HISI_EXT4_TMP_QUIRK is not set +CONFIG_SUPPORT_CA=y +CONFIG_CA_SUPPORT_ADVCA=y +CONFIG_CA_WARKUP_CHECK=y +CONFIG_CA_FILE_AUTHORITY=y +CONFIG_CA_NET_CONFIG=y +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_DEVFREQ_GOV_GPU_ONDEMAND is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +# CONFIG_UEVENT_HELPER is not set +# CONFIG_DEVTMPFS is not set +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +# CONFIG_ALLOW_DEV_COREDUMP is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_OF_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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 +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +# CONFIG_MTD_UBI is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_MTD=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_BLK_DEV_COW_COMMON is not set +# CONFIG_BLK_DEV_LOOP is not set + +# +# DRBD disabled because PROC_FS or INET not selected +# +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=1 +CONFIG_BLK_DEV_RAM_SIZE=81920 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set + +# +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM 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 + +# +# Texas Instruments shared transport line discipline +# + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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 is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +# CONFIG_TTY is not set +# CONFIG_DEVMEM is not set +# CONFIG_DEVKMEM 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 + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# 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 +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set +# CONFIG_LOGO is not set +# CONFIG_SOUND is not set +# CONFIG_USB_OHCI_LITTLE_ENDIAN is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +# CONFIG_USB_DEFAULT_PERSIST is not set +# 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=y +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF 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 is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +# CONFIG_USB_OHCI_HCD 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 + +# +# USB Device Class drivers +# +# 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_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_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 +# + +# +# 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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +# CONFIG_MMC is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_SWITCH is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_EXT2_FS is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +# CONFIG_PROC_SYSCTL is not set +# 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 is not set +# CONFIG_TMPFS_XATTR is not set +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# 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_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_XATTR=y +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_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=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_STRIP_ASM_SYMS=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_MEMORY_INIT is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y + +# +# Runtime Testing +# +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_STRICT_DEVMEM=y +CONFIG_ARM_UNWIND=y +# CONFIG_DEBUG_USER is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +CONFIG_DEBUG_SET_MODULE_RONX=y +# CONFIG_CORESIGHT is not set + +# +# 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_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST 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_SEQIV is not set +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC 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_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=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_BCJ 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_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +# CONFIG_ARCH_HAS_SG_CHAIN is not set +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3716mv410_420_loader_ca_debug_defconfig b/arch/arm/configs/hi3716mv410_420_loader_ca_debug_defconfig new file mode 100644 index 000000000..3b1123e85 --- /dev/null +++ b/arch/arm/configs/hi3716mv410_420_loader_ca_debug_defconfig @@ -0,0 +1,2208 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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 is not set +# CONFIG_KERNEL_LZMA is not set +CONFIG_KERNEL_XZ=y +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="(stb)" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=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 + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_NAMESPACES is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +CONFIG_RD_LZMA=y +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +# CONFIG_UID16 is not set +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +# CONFIG_BUG is not set +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +# CONFIG_EPOLL is not set +CONFIG_SIGNALFD=y +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_AIO is not set +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_VM_EVENT_COUNTERS is not set +# 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_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_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_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +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_BLOCK=y +# CONFIG_LBDAF is not set +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +CONFIG_ARCH_S40=y +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# S40 board feature +# +CONFIG_MACH_S40=y +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 +CONFIG_MMZ_PARAM="ddr,0,0,320M" + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +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_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_SCU=y +# CONFIG_HAVE_ARM_ARCH_TIMER 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_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +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_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=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_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3716mv410" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=80 +CONFIG_DEFAULT_TARGET_LOAD=70 + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +# CONFIG_NEON is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_WAKELOCK=y +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_APM_EMULATION is not set +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_PACKET is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +# CONFIG_XFRM_USER is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER 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 is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# 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_LWTUNNEL is not set + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0x0 +CONFIG_HISI_DEBUG_UART_VIRT=0x0 +# CONFIG_PCIE_HISILICON is not set + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +# CONFIG_SUPPORT_SRAM_MANAGER is not set +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +CONFIG_SUPPORT_CA=y +CONFIG_CA_SUPPORT_ADVCA=y +# CONFIG_CA_WARKUP_CHECK is not set +CONFIG_CA_FILE_AUTHORITY=y +CONFIG_CA_NET_CONFIG=y +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +# CONFIG_UEVENT_HELPER is not set +# CONFIG_DEVTMPFS is not set +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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 +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +# CONFIG_MTD_UBI is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=1 +CONFIG_BLK_DEV_RAM_SIZE=81920 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_VXLAN is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_FARADAY is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_ETHOC 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_SMSC 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_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC 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_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +# CONFIG_INPUT is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +# CONFIG_DEVKMEM is not set + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set +# CONFIG_LOGO is not set +# CONFIG_SOUND is not set +# CONFIG_USB_OHCI_LITTLE_ENDIAN is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF 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 is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +# CONFIG_USB_OHCI_HCD 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 + +# +# 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_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_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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +# CONFIG_MMC is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# 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_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# 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_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC 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_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG 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_HAVE_SYSCALL_TRACEPOINTS=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +# CONFIG_ENCRYPTED_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_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y +# CONFIG_ASYMMETRIC_KEY_TYPE is not set + +# +# Certificates for signature checking +# +# CONFIG_SYSTEM_TRUSTED_KEYRING is not set +# CONFIG_ARM_CRYPTO is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_LZMA=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +# CONFIG_SG_SPLIT is not set +# CONFIG_ARCH_HAS_SG_CHAIN is not set +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3716mv410_420_loader_ca_release_defconfig b/arch/arm/configs/hi3716mv410_420_loader_ca_release_defconfig new file mode 100644 index 000000000..dbf996242 --- /dev/null +++ b/arch/arm/configs/hi3716mv410_420_loader_ca_release_defconfig @@ -0,0 +1,1907 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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 is not set +# CONFIG_KERNEL_LZMA is not set +CONFIG_KERNEL_XZ=y +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +# CONFIG_SWAP is not set +# CONFIG_SYSVIPC is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_CROSS_MEMORY_ATTACH is not set +# CONFIG_FHANDLE is not set +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=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 + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_NAMESPACES is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_ANON_INODES=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_KALLSYMS is not set +# CONFIG_PRINTK is not set +# CONFIG_BUG is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +# CONFIG_EPOLL is not set +CONFIG_SIGNALFD=y +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_AIO is not set +# CONFIG_ADVISE_SYSCALLS is not set +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_VM_EVENT_COUNTERS is not set +# 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_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_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_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_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_BLOCK=y +# CONFIG_LBDAF is not set +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_CMDLINE_PARSER is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_CMDLINE_PARTITION is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +CONFIG_ARCH_S40=y +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# S40 board feature +# +CONFIG_MACH_S40=y +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 +CONFIG_MMZ_PARAM="ddr,0,0,320M" + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +# CONFIG_KUSER_HELPERS is not set +# 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_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_SCU=y +# CONFIG_HAVE_ARM_ARCH_TIMER 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_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE is not set +CONFIG_CMA=y +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_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3716mv410" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=80 +CONFIG_DEFAULT_TARGET_LOAD=70 + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +# CONFIG_NEON is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_COREDUMP is not set + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +# CONFIG_WAKELOCK 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_APM_EMULATION is not set +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_PACKET is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +# CONFIG_NET_KEY is not set +# CONFIG_INET is not set +# CONFIG_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER is not set +# CONFIG_ATM 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_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +# CONFIG_BATMAN_ADV is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +CONFIG_NET_RX_BUSY_POLL=y +# CONFIG_BQL is not set + +# +# Network testing +# +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# 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_NFC is not set +# CONFIG_LWTUNNEL is not set + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0x0 +CONFIG_HISI_DEBUG_UART_VIRT=0x0 +# CONFIG_PCIE_HISILICON is not set + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +# CONFIG_SUPPORT_SRAM_MANAGER is not set +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +# CONFIG_PART_CHANGE is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +CONFIG_SUPPORT_CA=y +CONFIG_CA_SUPPORT_ADVCA=y +# CONFIG_CA_WARKUP_CHECK is not set +CONFIG_CA_FILE_AUTHORITY=y +CONFIG_CA_NET_CONFIG=y +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +# CONFIG_UEVENT_HELPER is not set +# CONFIG_DEVTMPFS is not set +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +# CONFIG_ALLOW_DEV_COREDUMP is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_OF_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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 +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +# CONFIG_MTD_UBI is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_MTD=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_BLK_DEV_COW_COMMON is not set +# CONFIG_BLK_DEV_LOOP is not set + +# +# DRBD disabled because PROC_FS or INET not selected +# +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=1 +CONFIG_BLK_DEV_RAM_SIZE=81920 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set + +# +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM 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 + +# +# Texas Instruments shared transport line discipline +# + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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 is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +# CONFIG_TTY is not set +# CONFIG_DEVMEM is not set +# CONFIG_DEVKMEM 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 + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# 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 +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set +# CONFIG_LOGO is not set +# CONFIG_SOUND is not set +# CONFIG_USB_OHCI_LITTLE_ENDIAN is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +# CONFIG_USB_DEFAULT_PERSIST is not set +# 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=y +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF 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 is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +# CONFIG_USB_OHCI_HCD 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 + +# +# USB Device Class drivers +# +# 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_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_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 +# + +# +# 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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +# CONFIG_MMC is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# 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_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +# CONFIG_PROC_SYSCTL is not set +# 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 is not set +# CONFIG_TMPFS_XATTR is not set +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# 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_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_XATTR=y +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_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=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_STRIP_ASM_SYMS=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_MEMORY_INIT is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y + +# +# Runtime Testing +# +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_STRICT_DEVMEM=y +CONFIG_ARM_UNWIND=y +# CONFIG_DEBUG_USER is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +CONFIG_DEBUG_SET_MODULE_RONX=y +# CONFIG_CORESIGHT is not set + +# +# 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_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST 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_SEQIV is not set +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC 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_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=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_BCJ 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_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +# CONFIG_ARCH_HAS_SG_CHAIN is not set +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3716mv410_420_loader_defconfig b/arch/arm/configs/hi3716mv410_420_loader_defconfig new file mode 100644 index 000000000..5acf9d893 --- /dev/null +++ b/arch/arm/configs/hi3716mv410_420_loader_defconfig @@ -0,0 +1,2275 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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 is not set +CONFIG_KERNEL_LZMA=y +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="(stb)" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=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 + +# +# 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 is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_NAMESPACES is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +CONFIG_RD_LZMA=y +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +# CONFIG_UID16 is not set +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +# CONFIG_BUG is not set +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +# CONFIG_EPOLL is not set +CONFIG_SIGNALFD=y +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_AIO is not set +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# CONFIG_VM_EVENT_COUNTERS is not set +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_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_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +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_BLOCK=y +CONFIG_LBDAF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +CONFIG_ARCH_S40=y +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# S40 board feature +# +CONFIG_MACH_S40=y +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 +CONFIG_MMZ_PARAM="ddr,0,0,320M" + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +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_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_SCU=y +# CONFIG_HAVE_ARM_ARCH_TIMER 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_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +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_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=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_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3716mv410" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=80 +CONFIG_DEFAULT_TARGET_LOAD=70 + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +# CONFIG_NEON is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_WAKELOCK=y +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_APM_EMULATION is not set +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +# CONFIG_XFRM_USER is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER 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 is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +# CONFIG_PCIE_HISILICON is not set + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +# CONFIG_SUPPORT_SRAM_MANAGER is not set +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +CONFIG_SUPPORT_DSP_RUN_MEM=y +CONFIG_DSP_RUN_MEM_ADDR=0x2000000 +CONFIG_DSP_RUN_MEM_SIZE=0x800000 +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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 +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +# CONFIG_MTD_UBI is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_VXLAN is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS 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 is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_ETHOC is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC 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_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +# CONFIG_INPUT is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set +# CONFIG_LOGO is not set +# CONFIG_SOUND is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF 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 is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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_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_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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI 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_MTK is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# 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_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +# CONFIG_SQUASHFS is not set +# 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_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG 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_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +# CONFIG_ENCRYPTED_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_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST 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_SEQIV is not set +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF 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_SHA256=m +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set + +# +# Certificates for signature checking +# +# CONFIG_SYSTEM_TRUSTED_KEYRING is not set +# CONFIG_ARM_CRYPTO is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +# CONFIG_XZ_DEC is not set +# CONFIG_XZ_DEC_BCJ is not set +CONFIG_DECOMPRESS_LZMA=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +# CONFIG_SG_SPLIT is not set +# CONFIG_ARCH_HAS_SG_CHAIN is not set +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3716mv410_defconfig b/arch/arm/configs/hi3716mv410_defconfig new file mode 100644 index 000000000..e94b34806 --- /dev/null +++ b/arch/arm/configs/hi3716mv410_defconfig @@ -0,0 +1,3221 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=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 + +# +# 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 is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +CONFIG_ARCH_S40=y +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# S40 board feature +# +CONFIG_MACH_S40=y +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 +CONFIG_MMZ_PARAM="ddr,0,0,320M" + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +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_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_SCU=y +# CONFIG_HAVE_ARM_ARCH_TIMER 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_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +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_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3716mv410" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +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_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER 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=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_NETLINK_ACCT=y +CONFIG_NETFILTER_NETLINK_QUEUE=y +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NF_CONNTRACK is not set +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY 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_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_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS 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_COMMENT is not set +# 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_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_POLICY 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_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_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 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_TTL is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_MANGLE is not set +# CONFIG_IP_NF_RAW is not set +CONFIG_IP_NF_ARPTABLES=y +# CONFIG_IP_NF_ARPFILTER is not set +# CONFIG_IP_NF_ARP_MANGLE is not set + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 +# 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED 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_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +# CONFIG_BT_SELFTEST is not set +CONFIG_BT_DEBUGFS=y + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=y +CONFIG_BT_HCIBTUSB=y +# CONFIG_BT_HCIBTUSB_BCM is not set +# CONFIG_BT_HCIBTUSB_RTL is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_AF_RXRPC is not set +CONFIG_WIRELESS=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +# CONFIG_PCIE_HISILICON is not set + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=1024000 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_FARADAY is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC=y +# CONFIG_HIGMAC_DESC_4WORD is not set +# CONFIG_HIGMAC_RXCSUM is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_ETHOC 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_SMSC 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_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +# CONFIG_PPP_MPPE is not set +CONFIG_PPP_MULTILINK=y +# CONFIG_PPPOE is not set +# CONFIG_PPPOLAC is not set +# CONFIG_PPPOPNS is not set +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_IPHETH is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_ATH_CARDS is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_LIBERTAS is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +# CONFIG_RTL_CARDS is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +# CONFIG_MOUSE_PS2 is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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_UINPUT=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +CONFIG_SPI_DEBUG=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_OC_TINY is not set +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +# CONFIG_USB_GSPCA is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_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 +# +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME 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=y +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_PRODIKEYS is not set +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# 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_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=y +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_HIDPP is not set +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +# CONFIG_HID_MAGICMOUSE is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +# CONFIG_HID_MULTITOUCH 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_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_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_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 + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF 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 is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +CONFIG_USB_SERIAL_FTDI_SIO=y +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=y +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_LED_TRIG is not set +# CONFIG_UWB is not set +# CONFIG_MMC is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_VT6656 is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +# CONFIG_HISI_IOMMU_API is not set +# CONFIG_HISI_IOMMU is not set +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +# CONFIG_JOLIET is not set +# CONFIG_ZISOFS is not set +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_SDCARD_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG 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_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=m +# 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +# CONFIG_ARCH_HAS_SG_CHAIN is not set +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3716mv420_defconfig b/arch/arm/configs/hi3716mv420_defconfig new file mode 100644 index 000000000..a21a7c4b8 --- /dev/null +++ b/arch/arm/configs/hi3716mv420_defconfig @@ -0,0 +1,3876 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=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 + +# +# 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 is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_PCI_QUIRKS=y +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +CONFIG_ARCH_S40=y +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# S40 board feature +# +CONFIG_MACH_S40=y +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 +CONFIG_MMZ_PARAM="ddr,0,0,320M" + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +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_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set + +# +# Bus support +# +CONFIG_PCI=y +# CONFIG_PCI_DOMAINS_GENERIC is not set +CONFIG_PCI_SYSCALL=y +# CONFIG_PCI_MSI is not set +# CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set + +# +# PCI host controller drivers +# +CONFIG_PCIE_DW=y +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCIE_IPROC is not set +# CONFIG_PCIE_ALTERA is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_SCU=y +# CONFIG_HAVE_ARM_ARCH_TIMER 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_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +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_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3716mv410" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +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_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER 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=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_NETLINK_ACCT=y +CONFIG_NETFILTER_NETLINK_QUEUE=y +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NF_CONNTRACK is not set +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY 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_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_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS 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_COMMENT is not set +# 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_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_POLICY 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_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_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 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_TTL is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_MANGLE is not set +# CONFIG_IP_NF_RAW is not set +CONFIG_IP_NF_ARPTABLES=y +# CONFIG_IP_NF_ARPFILTER is not set +# CONFIG_IP_NF_ARP_MANGLE is not set + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 +# 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED 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_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +# CONFIG_BT_SELFTEST is not set +CONFIG_BT_DEBUGFS=y + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=y +CONFIG_BT_HCIBTUSB=y +# CONFIG_BT_HCIBTUSB_BCM is not set +# CONFIG_BT_HCIBTUSB_RTL is not set +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_AF_RXRPC is not set +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +CONFIG_PCIE_HISILICON=y +CONFIG_PCIE_PME_IRQ=0xa2 +CONFIG_PCIE_DMA_ADDR_READ=0x0 +CONFIG_PCIE_DMA_SIZE_READ=0x0 +CONFIG_PCIE_DMA_ADDR_WRITE=0x0 +CONFIG_PCIE_DMA_SIZE_WRITE=0x0 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_PCI is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_RICOH is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_CAFE is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_OF_MTD=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_BLK_DEV_PCIESSD_MTIP32XX is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_SX8 is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=1024000 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set +# CONFIG_BLK_DEV_NVME is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +# CONFIG_SATA_AHCI is not set +CONFIG_SATA_AHCI_PLATFORM=m +# CONFIG_AHCI_CEVA is not set +# CONFIG_AHCI_QORIQ is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# CONFIG_ARCNET is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +# CONFIG_TYPHOON is not set +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +# CONFIG_ET131X is not set +CONFIG_NET_VENDOR_ALTEON=y +# CONFIG_ACENIC is not set +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +CONFIG_NET_VENDOR_ATHEROS=y +# CONFIG_ATL2 is not set +# CONFIG_ATL1 is not set +# CONFIG_ATL1E is not set +# CONFIG_ATL1C is not set +# CONFIG_ALX is not set +# CONFIG_NET_VENDOR_AURORA is not set +CONFIG_NET_CADENCE=y +# CONFIG_MACB is not set +CONFIG_NET_VENDOR_BROADCOM=y +# CONFIG_B44 is not set +# CONFIG_BCMGENET is not set +# CONFIG_BNX2 is not set +# CONFIG_CNIC is not set +# CONFIG_TIGON3 is not set +# CONFIG_BNX2X is not set +# CONFIG_SYSTEMPORT is not set +# CONFIG_BNXT is not set +CONFIG_NET_VENDOR_BROCADE=y +# CONFIG_BNA is not set +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_CHELSIO_T4 is not set +# CONFIG_CHELSIO_T4VF is not set +CONFIG_NET_VENDOR_CIRRUS=y +# CONFIG_CS89x0 is not set +CONFIG_NET_VENDOR_CISCO=y +# CONFIG_ENIC is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +# CONFIG_DL2K is not set +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +# CONFIG_BE2NET is not set +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_EXAR=y +# CONFIG_S2IO is not set +# CONFIG_VXGE is not set +CONFIG_NET_VENDOR_FARADAY=y +# CONFIG_FTMAC100 is not set +# CONFIG_FTGMAC100 is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC is not set +CONFIG_NET_VENDOR_HP=y +# CONFIG_HP100 is not set +CONFIG_NET_VENDOR_INTEL=y +# CONFIG_E100 is not set +# CONFIG_E1000 is not set +# CONFIG_E1000E is not set +# CONFIG_IGB is not set +# CONFIG_IGBVF is not set +# CONFIG_IXGB is not set +# CONFIG_IXGBE is not set +# CONFIG_I40E is not set +CONFIG_NET_VENDOR_I825XX=y +# CONFIG_JME is not set +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +# CONFIG_SKGE is not set +# CONFIG_SKY2 is not set +CONFIG_NET_VENDOR_MELLANOX=y +# CONFIG_MLX4_EN is not set +# CONFIG_MLX4_CORE is not set +# CONFIG_MLX5_CORE is not set +# CONFIG_MLXSW_CORE is not set +CONFIG_NET_VENDOR_MICREL=y +# CONFIG_KS8851 is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_KSZ884X_PCI is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +CONFIG_NET_VENDOR_NATSEMI=y +# CONFIG_NATSEMI is not set +# CONFIG_NS83820 is not set +CONFIG_NET_VENDOR_8390=y +# CONFIG_AX88796 is not set +# CONFIG_NE2K_PCI is not set +CONFIG_NET_VENDOR_NVIDIA=y +# CONFIG_FORCEDETH is not set +CONFIG_NET_VENDOR_OKI=y +# CONFIG_ETHOC is not set +CONFIG_NET_PACKET_ENGINE=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +CONFIG_NET_VENDOR_QLOGIC=y +# CONFIG_QLA3XXX is not set +# CONFIG_QLCNIC is not set +# CONFIG_QLGE is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_QED is not set +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000 is not set +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +# CONFIG_R8169 is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +# CONFIG_SXGBE_ETH is not set +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +# CONFIG_SFC is not set +CONFIG_NET_VENDOR_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_EPIC100 is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +# CONFIG_SMSC9420 is not set +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TI_CPSW_ALE is not set +# CONFIG_TLAN is not set +CONFIG_NET_VENDOR_VIA=y +# CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set +CONFIG_NET_VENDOR_WIZNET=y +# CONFIG_WIZNET_W5100 is not set +# CONFIG_WIZNET_W5300 is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +# CONFIG_PPP_MPPE is not set +CONFIG_PPP_MULTILINK=y +# CONFIG_PPPOE is not set +# CONFIG_PPPOLAC is not set +# CONFIG_PPPOPNS is not set +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_IPHETH is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_ATMEL is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_PRISM54 is not set +CONFIG_USB_ZD1201=m +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_ADM8211 is not set +# CONFIG_RTL8180 is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_MWL8K is not set +CONFIG_ATH_COMMON=m +CONFIG_ATH_CARDS=m +# CONFIG_ATH_DEBUG is not set +# CONFIG_ATH5K is not set +# CONFIG_ATH5K_PCI is not set +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K=m +CONFIG_ATH9K_PCI=y +# CONFIG_ATH9K_AHB is not set +# CONFIG_ATH9K_DEBUGFS is not set +# CONFIG_ATH9K_DYNACK is not set +# CONFIG_ATH9K_WOW is not set +CONFIG_ATH9K_RFKILL=y +# CONFIG_ATH9K_CHANNEL_CONTEXT is not set +CONFIG_ATH9K_PCOEM=y +CONFIG_ATH9K_HTC=m +# CONFIG_ATH9K_HTC_DEBUGFS is not set +# CONFIG_CARL9170 is not set +# CONFIG_ATH6KL is not set +# CONFIG_AR5523 is not set +# CONFIG_WIL6210 is not set +# CONFIG_ATH10K is not set +# CONFIG_WCN36XX is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_IPW2100 is not set +# CONFIG_IPW2200 is not set +# CONFIG_IWLWIFI is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +# CONFIG_LIBERTAS is not set +# CONFIG_HERMES is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192EE is not set +# CONFIG_RTL8821AE is not set +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_VMXNET3 is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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_UINPUT=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +# CONFIG_SERIO_PCIPS2 is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set +# CONFIG_GAMEPORT_EMU10K1 is not set +# CONFIG_GAMEPORT_FM801 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_NOZOMI is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_JSM 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_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_DEVPORT=y +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# 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_DESIGNWARE_PCI is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_VX855 is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_RDC321X is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +CONFIG_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_PCI=y +# CONFIG_SND_AD1889 is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SE6X is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VIRTUOSO is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set + +# +# HD-Audio +# +# CONFIG_SND_HDA_INTEL is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME 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=y +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_PRODIKEYS is not set +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# 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_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=y +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_HIDPP is not set +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +# CONFIG_HID_MAGICMOUSE is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +# CONFIG_HID_MULTITOUCH 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_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_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_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 + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF 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 is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_UHCI_HCD 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 + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +CONFIG_USB_SERIAL_FTDI_SIO=y +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=y +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_LED_TRIG is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC 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_TOSHIBA_PCI 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 + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTL8192U is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set +# CONFIG_FB_SM750 is not set +# CONFIG_FB_XGI is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGNC is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +# CONFIG_HISI_IOMMU_API is not set +# CONFIG_HISI_IOMMU is not set +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_NTB is not set +# CONFIG_VME_BUS is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +CONFIG_RAS=y +# CONFIG_THUNDERBOLT is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +# CONFIG_JOLIET is not set +# CONFIG_ZISOFS is not set +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_SDCARD_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG 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_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_HIFN_795X is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +# CONFIG_ARCH_HAS_SG_CHAIN is not set +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3716mv420n_defconfig b/arch/arm/configs/hi3716mv420n_defconfig new file mode 100644 index 000000000..139164239 --- /dev/null +++ b/arch/arm/configs/hi3716mv420n_defconfig @@ -0,0 +1,3793 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_HI3716MV420N" +# CONFIG_LOCALVERSION_AUTO is not set +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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=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 + +# +# 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 is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_PCI_QUIRKS=y +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +CONFIG_ARCH_HI3716MV420N=y +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 +CONFIG_MMZ_PARAM="" + +# +# Hi3716MV420N board feature +# +CONFIG_MACH_HI3716MV420N=y + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +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_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set + +# +# Bus support +# +CONFIG_PCI=y +# CONFIG_PCI_DOMAINS_GENERIC is not set +CONFIG_PCI_SYSCALL=y +# CONFIG_PCI_MSI is not set +# CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set + +# +# PCI host controller drivers +# +CONFIG_PCIE_DW=y +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCIE_IPROC is not set +# CONFIG_PCIE_ALTERA is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_SCU=y +# CONFIG_HAVE_ARM_ARCH_TIMER 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_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +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_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3716mv420n" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +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_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER 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=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_NETLINK_ACCT=y +CONFIG_NETFILTER_NETLINK_QUEUE=y +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NF_CONNTRACK is not set +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY 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_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_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS 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_COMMENT is not set +# 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_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_POLICY 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_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_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 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_TTL is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_MANGLE is not set +# CONFIG_IP_NF_RAW is not set +CONFIG_IP_NF_ARPTABLES=y +# CONFIG_IP_NF_ARPFILTER is not set +# CONFIG_IP_NF_ARP_MANGLE is not set + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 +# 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED 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_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +# CONFIG_BT_SELFTEST is not set +CONFIG_BT_DEBUGFS=y + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=y +CONFIG_BT_HCIBTUSB=y +# CONFIG_BT_HCIBTUSB_BCM is not set +# CONFIG_BT_HCIBTUSB_RTL is not set +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_AF_RXRPC is not set +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +CONFIG_PCIE_HISILICON=y +CONFIG_PCIE_PME_IRQ=0xa2 +CONFIG_PCIE_DMA_ADDR_READ=0x0 +CONFIG_PCIE_DMA_SIZE_READ=0x0 +CONFIG_PCIE_DMA_ADDR_WRITE=0x0 +CONFIG_PCIE_DMA_SIZE_WRITE=0x0 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +CONFIG_MTD_BLOCK2MTD=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_PCI is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_RICOH is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_CAFE is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_OF_MTD=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_BLK_DEV_PCIESSD_MTIP32XX is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_SX8 is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=1024000 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set +# CONFIG_BLK_DEV_NVME is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 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_BMP085_I2C is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +# CONFIG_SATA_AHCI is not set +CONFIG_SATA_AHCI_PLATFORM=m +# CONFIG_AHCI_CEVA is not set +# CONFIG_AHCI_QORIQ is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# CONFIG_ARCNET is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +# CONFIG_TYPHOON is not set +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +# CONFIG_ET131X is not set +CONFIG_NET_VENDOR_ALTEON=y +# CONFIG_ACENIC is not set +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +CONFIG_NET_VENDOR_ATHEROS=y +# CONFIG_ATL2 is not set +# CONFIG_ATL1 is not set +# CONFIG_ATL1E is not set +# CONFIG_ATL1C is not set +# CONFIG_ALX is not set +# CONFIG_NET_VENDOR_AURORA is not set +CONFIG_NET_CADENCE=y +# CONFIG_MACB is not set +CONFIG_NET_VENDOR_BROADCOM=y +# CONFIG_B44 is not set +# CONFIG_BCMGENET is not set +# CONFIG_BNX2 is not set +# CONFIG_CNIC is not set +# CONFIG_TIGON3 is not set +# CONFIG_BNX2X is not set +# CONFIG_SYSTEMPORT is not set +# CONFIG_BNXT is not set +CONFIG_NET_VENDOR_BROCADE=y +# CONFIG_BNA is not set +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_CHELSIO_T4 is not set +# CONFIG_CHELSIO_T4VF is not set +CONFIG_NET_VENDOR_CIRRUS=y +# CONFIG_CS89x0 is not set +CONFIG_NET_VENDOR_CISCO=y +# CONFIG_ENIC is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +# CONFIG_DL2K is not set +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +# CONFIG_BE2NET is not set +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_EXAR=y +# CONFIG_S2IO is not set +# CONFIG_VXGE is not set +CONFIG_NET_VENDOR_FARADAY=y +# CONFIG_FTMAC100 is not set +# CONFIG_FTGMAC100 is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC is not set +CONFIG_NET_VENDOR_HP=y +# CONFIG_HP100 is not set +CONFIG_NET_VENDOR_INTEL=y +# CONFIG_E100 is not set +# CONFIG_E1000 is not set +# CONFIG_E1000E is not set +# CONFIG_IGB is not set +# CONFIG_IGBVF is not set +# CONFIG_IXGB is not set +# CONFIG_IXGBE is not set +# CONFIG_I40E is not set +CONFIG_NET_VENDOR_I825XX=y +# CONFIG_JME is not set +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +# CONFIG_SKGE is not set +# CONFIG_SKY2 is not set +CONFIG_NET_VENDOR_MELLANOX=y +# CONFIG_MLX4_EN is not set +# CONFIG_MLX4_CORE is not set +# CONFIG_MLX5_CORE is not set +# CONFIG_MLXSW_CORE is not set +CONFIG_NET_VENDOR_MICREL=y +# CONFIG_KS8851_MLL is not set +# CONFIG_KSZ884X_PCI is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +CONFIG_NET_VENDOR_NATSEMI=y +# CONFIG_NATSEMI is not set +# CONFIG_NS83820 is not set +CONFIG_NET_VENDOR_8390=y +# CONFIG_AX88796 is not set +# CONFIG_NE2K_PCI is not set +CONFIG_NET_VENDOR_NVIDIA=y +# CONFIG_FORCEDETH is not set +CONFIG_NET_VENDOR_OKI=y +# CONFIG_ETHOC is not set +CONFIG_NET_PACKET_ENGINE=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +CONFIG_NET_VENDOR_QLOGIC=y +# CONFIG_QLA3XXX is not set +# CONFIG_QLCNIC is not set +# CONFIG_QLGE is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_QED is not set +CONFIG_NET_VENDOR_QUALCOMM=y +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +# CONFIG_R8169 is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +# CONFIG_SXGBE_ETH is not set +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +# CONFIG_SFC is not set +CONFIG_NET_VENDOR_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_EPIC100 is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +# CONFIG_SMSC9420 is not set +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TI_CPSW_ALE is not set +# CONFIG_TLAN is not set +CONFIG_NET_VENDOR_VIA=y +# CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set +CONFIG_NET_VENDOR_WIZNET=y +# CONFIG_WIZNET_W5100 is not set +# CONFIG_WIZNET_W5300 is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +# CONFIG_PPP_MPPE is not set +CONFIG_PPP_MULTILINK=y +# CONFIG_PPPOE is not set +# CONFIG_PPPOLAC is not set +# CONFIG_PPPOPNS is not set +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_IPHETH is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_ATMEL is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_PRISM54 is not set +CONFIG_USB_ZD1201=m +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_ADM8211 is not set +# CONFIG_RTL8180 is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_MWL8K is not set +CONFIG_ATH_COMMON=m +CONFIG_ATH_CARDS=m +# CONFIG_ATH_DEBUG is not set +# CONFIG_ATH5K is not set +# CONFIG_ATH5K_PCI is not set +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K=m +CONFIG_ATH9K_PCI=y +# CONFIG_ATH9K_AHB is not set +# CONFIG_ATH9K_DEBUGFS is not set +# CONFIG_ATH9K_DYNACK is not set +# CONFIG_ATH9K_WOW is not set +CONFIG_ATH9K_RFKILL=y +# CONFIG_ATH9K_CHANNEL_CONTEXT is not set +CONFIG_ATH9K_PCOEM=y +CONFIG_ATH9K_HTC=m +# CONFIG_ATH9K_HTC_DEBUGFS is not set +# CONFIG_CARL9170 is not set +# CONFIG_ATH6KL is not set +# CONFIG_AR5523 is not set +# CONFIG_WIL6210 is not set +# CONFIG_ATH10K is not set +# CONFIG_WCN36XX is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_IPW2100 is not set +# CONFIG_IPW2200 is not set +# CONFIG_IWLWIFI is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +# CONFIG_LIBERTAS is not set +# CONFIG_HERMES is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192EE is not set +# CONFIG_RTL8821AE is not set +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_VMXNET3 is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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_UINPUT=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +# CONFIG_SERIO_PCIPS2 is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set +# CONFIG_GAMEPORT_EMU10K1 is not set +# CONFIG_GAMEPORT_FM801 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_NOZOMI is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_UARTLITE is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_BCM63XX is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_DEVPORT=y +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +# CONFIG_I2C_CHARDEV is not set +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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# 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_DESIGNWARE_PCI is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +# CONFIG_SPI is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_VX855 is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_RDC321X is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_PMIC_DA903X 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_I2C is not set +# CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_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_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 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_RC_SUPPORT is not set +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_PLATFORM is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_PCI=y +# CONFIG_SND_AD1889 is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SE6X is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VIRTUOSO is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set + +# +# HD-Audio +# +# CONFIG_SND_HDA_INTEL is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 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_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME 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=y +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_PRODIKEYS is not set +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# 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_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=y +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_HIDPP is not set +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +# CONFIG_HID_MAGICMOUSE is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +# CONFIG_HID_MULTITOUCH 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_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_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_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 + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF 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 is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_UHCI_HCD 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 + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +CONFIG_USB_SERIAL_FTDI_SIO=y +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=y +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_LED_TRIG is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC 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_TOSHIBA_PCI 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 + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTL8192U is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set +# CONFIG_FB_SM750 is not set +# CONFIG_FB_XGI is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGNC is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +# CONFIG_HISI_IOMMU_API is not set +# CONFIG_HISI_IOMMU is not set +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_NTB is not set +# CONFIG_VME_BUS is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +CONFIG_RAS=y +# CONFIG_THUNDERBOLT is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +# CONFIG_JOLIET is not set +# CONFIG_ZISOFS is not set +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_SDCARD_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG 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_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_HIFN_795X is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +# CONFIG_ARCH_HAS_SG_CHAIN is not set +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3796mv100_android_defconfig b/arch/arm/configs/hi3796mv100_android_defconfig new file mode 100644 index 000000000..7bea7b30a --- /dev/null +++ b/arch/arm/configs/hi3796mv100_android_defconfig @@ -0,0 +1,3814 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_FHANDLE is not set +CONFIG_USELIB=y +CONFIG_AUDIT=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUDIT_TREE=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +CONFIG_ARCH_HI3798MX=y +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 + +# +# HI3798MX board feature +# +CONFIG_MACH_HI3798MX=y + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +# CONFIG_VDSO is not set +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# CONFIG_SCHED_SMT is not set +# CONFIG_HAVE_ARM_ARCH_TIMER is not set +# CONFIG_MCPM is not set +# CONFIG_BIG_LITTLE is not set +# CONFIG_VMSPLIT_3G is not set +# CONFIG_VMSPLIT_3G_OPT is not set +CONFIG_VMSPLIT_2G=y +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0x80000000 +CONFIG_NR_CPUS=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_CLEANCACHE is not set +# CONFIG_FRONTSWAP is not set +CONFIG_CMA=y +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_AREAS=7 +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +CONFIG_ZSMALLOC=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_SECCOMP=y +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798mv100" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +# CONFIG_HIBERNATION is not set +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS 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 is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +CONFIG_IP_ROUTE_CLASSID=y +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_NET_IP_TUNNEL=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +# CONFIG_IPV6_MROUTE is not set +# CONFIG_NETLABEL is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +CONFIG_NETWORK_SECMARK=y +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_DEBUG=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +# CONFIG_NETFILTER_NETLINK_ACCT is not set +CONFIG_NETFILTER_NETLINK_QUEUE=y +CONFIG_NETFILTER_NETLINK_LOG=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_MARK=y +# CONFIG_NF_CONNTRACK_SECMARK is not set +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CONNTRACK_TIMEOUT is not set +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_GRE=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_CONNTRACK_AMANDA=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_CONNTRACK_H323=y +CONFIG_NF_CONNTRACK_IRC=y +CONFIG_NF_CONNTRACK_BROADCAST=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=y +CONFIG_NF_CONNTRACK_SNMP=y +CONFIG_NF_CONNTRACK_PPTP=y +CONFIG_NF_CONNTRACK_SANE=y +CONFIG_NF_CONNTRACK_SIP=y +CONFIG_NF_CONNTRACK_TFTP=y +CONFIG_NF_CT_NETLINK=y +# CONFIG_NF_CT_NETLINK_TIMEOUT is not set +# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set +CONFIG_NF_NAT=y +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_PROTO_DCCP=y +CONFIG_NF_NAT_PROTO_UDPLITE=y +CONFIG_NF_NAT_PROTO_SCTP=y +CONFIG_NF_NAT_AMANDA=y +CONFIG_NF_NAT_FTP=y +CONFIG_NF_NAT_IRC=y +CONFIG_NF_NAT_SIP=y +CONFIG_NF_NAT_TFTP=y +CONFIG_NF_NAT_REDIRECT=y +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=y +CONFIG_NETFILTER_XT_CONNMARK=y + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y +# CONFIG_NETFILTER_XT_TARGET_CT is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_HL=y +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y +# CONFIG_NETFILTER_XT_TARGET_LOG is not set +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_NAT=y +CONFIG_NETFILTER_XT_TARGET_NETMAP=y +CONFIG_NETFILTER_XT_TARGET_NFLOG=y +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_RATEEST=y +CONFIG_NETFILTER_XT_TARGET_REDIRECT=y +CONFIG_NETFILTER_XT_TARGET_TEE=y +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETFILTER_XT_TARGET_TRACE is not set +# CONFIG_NETFILTER_XT_TARGET_SECMARK is not set +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +CONFIG_NETFILTER_XT_MATCH_CLUSTER=y +CONFIG_NETFILTER_XT_MATCH_COMMENT=y +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_CPU=y +CONFIG_NETFILTER_XT_MATCH_DCCP=y +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y +CONFIG_NETFILTER_XT_MATCH_DSCP=y +CONFIG_NETFILTER_XT_MATCH_ECN=y +CONFIG_NETFILTER_XT_MATCH_ESP=y +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y +CONFIG_NETFILTER_XT_MATCH_HELPER=y +CONFIG_NETFILTER_XT_MATCH_HL=y +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_IPVS=y +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +CONFIG_NETFILTER_XT_MATCH_LENGTH=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +CONFIG_NETFILTER_XT_MATCH_MARK=y +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +CONFIG_NETFILTER_XT_MATCH_OSF=y +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +CONFIG_NETFILTER_XT_MATCH_POLICY=y +# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y +CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y +# CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG is not set +CONFIG_NETFILTER_XT_MATCH_RATEEST=y +CONFIG_NETFILTER_XT_MATCH_REALM=y +CONFIG_NETFILTER_XT_MATCH_RECENT=y +CONFIG_NETFILTER_XT_MATCH_SCTP=y +CONFIG_NETFILTER_XT_MATCH_SOCKET=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y +CONFIG_NETFILTER_XT_MATCH_STRING=y +CONFIG_NETFILTER_XT_MATCH_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_TIME=y +CONFIG_NETFILTER_XT_MATCH_U32=y +# CONFIG_IP_SET is not set +CONFIG_IP_VS=y +# CONFIG_IP_VS_IPV6 is not set +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +# CONFIG_IP_VS_PROTO_TCP is not set +# CONFIG_IP_VS_PROTO_UDP is not set +# CONFIG_IP_VS_PROTO_AH_ESP is not set +# CONFIG_IP_VS_PROTO_ESP is not set +# CONFIG_IP_VS_PROTO_AH is not set +# CONFIG_IP_VS_PROTO_SCTP is not set + +# +# IPVS scheduler +# +# CONFIG_IP_VS_RR is not set +# CONFIG_IP_VS_WRR is not set +# CONFIG_IP_VS_LC is not set +# CONFIG_IP_VS_WLC is not set +# CONFIG_IP_VS_FO is not set +# CONFIG_IP_VS_OVF is not set +# CONFIG_IP_VS_LBLC is not set +# CONFIG_IP_VS_LBLCR is not set +# CONFIG_IP_VS_DH is not set +# CONFIG_IP_VS_SH is not set +# CONFIG_IP_VS_SED is not set +# CONFIG_IP_VS_NQ is not set + +# +# IPVS SH scheduler +# +CONFIG_IP_VS_SH_TAB_BITS=8 + +# +# IPVS application helper +# +# CONFIG_IP_VS_NFCT is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_NF_DUP_IPV4=y +# CONFIG_NF_LOG_ARP is not set +# CONFIG_NF_LOG_IPV4 is not set +CONFIG_NF_REJECT_IPV4=y +CONFIG_NF_NAT_IPV4=y +CONFIG_NF_NAT_MASQUERADE_IPV4=y +CONFIG_NF_NAT_SNMP_BASIC=y +CONFIG_NF_NAT_PROTO_GRE=y +CONFIG_NF_NAT_PPTP=y +CONFIG_NF_NAT_H323=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MATCH_AH=y +CONFIG_IP_NF_MATCH_ECN=y +# CONFIG_IP_NF_MATCH_RPFILTER is not set +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +# 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=y +CONFIG_IP_NF_TARGET_ECN=y +CONFIG_IP_NF_TARGET_TTL=y +CONFIG_IP_NF_RAW=y +# CONFIG_IP_NF_SECURITY is not set +CONFIG_IP_NF_ARPTABLES=y +CONFIG_IP_NF_ARPFILTER=y +CONFIG_IP_NF_ARP_MANGLE=y + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=y +CONFIG_NF_CONNTRACK_IPV6=y +CONFIG_NF_DUP_IPV6=y +CONFIG_NF_REJECT_IPV6=y +# CONFIG_NF_LOG_IPV6 is not set +CONFIG_NF_NAT_IPV6=y +CONFIG_NF_NAT_MASQUERADE_IPV6=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_MATCH_AH=y +CONFIG_IP6_NF_MATCH_EUI64=y +CONFIG_IP6_NF_MATCH_FRAG=y +CONFIG_IP6_NF_MATCH_OPTS=y +CONFIG_IP6_NF_MATCH_HL=y +CONFIG_IP6_NF_MATCH_IPV6HEADER=y +CONFIG_IP6_NF_MATCH_MH=y +CONFIG_IP6_NF_MATCH_RPFILTER=y +CONFIG_IP6_NF_MATCH_RT=y +CONFIG_IP6_NF_TARGET_HL=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_TARGET_REJECT=y +# CONFIG_IP6_NF_TARGET_SYNPROXY is not set +CONFIG_IP6_NF_MANGLE=y +CONFIG_IP6_NF_RAW=y +# CONFIG_IP6_NF_SECURITY is not set +CONFIG_IP6_NF_NAT=y +CONFIG_IP6_NF_TARGET_MASQUERADE=y +CONFIG_IP6_NF_TARGET_NPT=y +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=y +CONFIG_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +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_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=y +CONFIG_NET_SCH_HTB=y +CONFIG_NET_SCH_HFSC=y +CONFIG_NET_SCH_PRIO=y +CONFIG_NET_SCH_MULTIQ=y +CONFIG_NET_SCH_RED=y +CONFIG_NET_SCH_SFB=y +CONFIG_NET_SCH_SFQ=y +CONFIG_NET_SCH_TEQL=y +CONFIG_NET_SCH_TBF=y +CONFIG_NET_SCH_GRED=y +CONFIG_NET_SCH_DSMARK=y +CONFIG_NET_SCH_NETEM=y +CONFIG_NET_SCH_DRR=y +CONFIG_NET_SCH_MQPRIO=y +CONFIG_NET_SCH_CHOKE=y +CONFIG_NET_SCH_QFQ=y +CONFIG_NET_SCH_CODEL=y +CONFIG_NET_SCH_FQ_CODEL=y +# CONFIG_NET_SCH_FQ is not set +# CONFIG_NET_SCH_HHF is not set +# CONFIG_NET_SCH_PIE is not set +CONFIG_NET_SCH_INGRESS=y +CONFIG_NET_SCH_PLUG=y + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=y +CONFIG_NET_CLS_TCINDEX=y +CONFIG_NET_CLS_ROUTE4=y +CONFIG_NET_CLS_FW=y +CONFIG_NET_CLS_U32=y +CONFIG_CLS_U32_PERF=y +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_RSVP=y +CONFIG_NET_CLS_RSVP6=y +CONFIG_NET_CLS_FLOW=y +# CONFIG_NET_CLS_BPF is not set +# CONFIG_NET_CLS_FLOWER is not set +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_CMP=y +CONFIG_NET_EMATCH_NBYTE=y +CONFIG_NET_EMATCH_U32=y +CONFIG_NET_EMATCH_META=y +CONFIG_NET_EMATCH_TEXT=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=y +CONFIG_NET_ACT_GACT=y +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=y +CONFIG_NET_ACT_IPT=y +CONFIG_NET_ACT_NAT=y +CONFIG_NET_ACT_PEDIT=y +CONFIG_NET_ACT_SIMP=y +CONFIG_NET_ACT_SKBEDIT=y +CONFIG_NET_ACT_CSUM=y +# CONFIG_NET_ACT_VLAN is not set +# CONFIG_NET_ACT_BPF is not set +# CONFIG_NET_ACT_CONNMARK is not set +CONFIG_NET_CLS_IND=y +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +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_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_AF_RXRPC is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +CONFIG_LIB80211=y +CONFIG_LIB80211_CRYPT_WEP=y +CONFIG_LIB80211_CRYPT_CCMP=y +CONFIG_LIB80211_CRYPT_TKIP=y +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +# CONFIG_MAC80211_LEDS is not set +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +CONFIG_VIRTUAL_INPUT=y +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +CONFIG_SUPPORT_DSP_RUN_MEM=y +CONFIG_DSP_RUN_MEM_ADDR=0x2000000 +CONFIG_DSP_RUN_MEM_SIZE=0x800000 +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +CONFIG_CMA_MEM_SHARED=y +CONFIG_CMA_ADVANCE_SHARE=y +CONFIG_USB_OTG_HISI=y +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_SWAP is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +CONFIG_MTD_NAND_HINFC610=y +CONFIG_HINFC610_MAX_CHIP=1 +# CONFIG_HINFC610_CACHE_ENABLE is not set +CONFIG_HINFC610_DBG_NAND_DEBUG=y +CONFIG_HINFC610_DBG_NAND_DUMP=y +CONFIG_HINFC610_DBG_NAND_ERASE_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_COUNT=y +CONFIG_HINFC610_DBG_NAND_ECC_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_RETRY=y +CONFIG_HINFC610_AUTO_PAGESIZE_ECC=y +# CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +# CONFIG_MTD_HIFMC100 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_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_ZRAM=y +# CONFIG_ZRAM_LZ4_COMPRESS is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=y +CONFIG_BLK_DEV_SR_VENDOR=y +# 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 +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 +# CONFIG_SCSI_OSD_INITIATOR is not set +# CONFIG_ATA is not set +CONFIG_MD=y +# CONFIG_BLK_DEV_MD is not set +# CONFIG_BCACHE is not set +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DM=y +# CONFIG_DM_MQ_DEFAULT is not set +# CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=y +CONFIG_DM_CRYPT=y +CONFIG_DM_SNAPSHOT=y +# CONFIG_DM_THIN_PROVISIONING is not set +# CONFIG_DM_CACHE is not set +# CONFIG_DM_ERA is not set +# CONFIG_DM_MIRROR is not set +# CONFIG_DM_RAID is not set +# CONFIG_DM_ZERO is not set +# CONFIG_DM_MULTIPATH is not set +# CONFIG_DM_DELAY is not set +# CONFIG_DM_UEVENT is not set +# CONFIG_DM_FLAKEY is not set +# CONFIG_DM_VERITY is not set +# CONFIG_DM_SWITCH is not set +# CONFIG_DM_LOG_WRITES 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_IFB 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_TUN=y +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_NET_VENDOR_AURORA is not set +CONFIG_NET_CADENCE=y +# CONFIG_MACB 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_CIRRUS=y +# CONFIG_CS89x0 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_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_INTEL=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +CONFIG_NET_VENDOR_MICREL=y +# 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_NATSEMI=y +CONFIG_NET_VENDOR_8390=y +# CONFIG_AX88796 is not set +# CONFIG_ETHOC is not set +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000 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_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS 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_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOE=y +CONFIG_PPPOLAC=y +CONFIG_PPPOPNS=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_IPHETH is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_ATH_CARDS is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +CONFIG_HOSTAP=y +# CONFIG_HOSTAP_FIRMWARE is not set +# CONFIG_LIBERTAS is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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_UINPUT=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +# CONFIG_APM_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SBS is not set +# CONFIG_BATTERY_BQ27XXX 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_BQ2415X is not set +# CONFIG_CHARGER_BQ24190 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_POWER_RESET is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_DEFERRED_IO=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_ADF is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_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 +# +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME is not set + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +CONFIG_HIDRAW=y +CONFIG_UHID=y +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +CONFIG_HID_A4TECH=y +CONFIG_HID_ACRUX=y +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=y +CONFIG_HID_APPLEIR=y +CONFIG_HID_AUREAL=y +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +CONFIG_HID_PRODIKEYS=y +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +CONFIG_HID_DRAGONRISE=y +CONFIG_DRAGONRISE_FF=y +CONFIG_HID_EMS_FF=y +CONFIG_HID_ELECOM=y +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +CONFIG_HID_HOLTEK=y +CONFIG_HOLTEK_FF=y +# CONFIG_HID_GT683R is not set +CONFIG_HID_KEYTOUCH=y +CONFIG_HID_KYE=y +CONFIG_HID_UCLOGIC=y +CONFIG_HID_WALTOP=y +CONFIG_HID_GYRATION=y +CONFIG_HID_ICADE=y +CONFIG_HID_TWINHAN=y +CONFIG_HID_KENSINGTON=y +CONFIG_HID_LCPOWER=y +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +CONFIG_HID_LOGITECH_DJ=y +CONFIG_HID_LOGITECH_HIDPP=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_HID_MAGICMOUSE=y +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_MULTITOUCH=y +CONFIG_HID_NTRIG=y +CONFIG_HID_ORTEK=y +CONFIG_HID_PANTHERLORD=y +CONFIG_PANTHERLORD_FF=y +# CONFIG_HID_PENMOUNT is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_PICOLCD=y +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_LEDS=y +# CONFIG_HID_PLANTRONICS is not set +CONFIG_HID_PRIMAX=y +CONFIG_HID_ROCCAT=y +CONFIG_HID_SAITEK=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +# CONFIG_SONY_FF is not set +CONFIG_HID_SPEEDLINK=y +CONFIG_HID_STEELSERIES=y +CONFIG_HID_SUNPLUS=y +# CONFIG_HID_RMI is not set +CONFIG_HID_GREENASIA=y +CONFIG_GREENASIA_FF=y +CONFIG_HID_SMARTJOYPLUS=y +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_HID_TIVO=y +CONFIG_HID_TOPSEED=y +CONFIG_HID_THINGM=y +CONFIG_HID_THRUSTMASTER=y +CONFIG_THRUSTMASTER_FF=y +CONFIG_HID_WACOM=y +CONFIG_HID_WIIMOTE=y +# CONFIG_HID_XINMO is not set +CONFIG_HID_ZEROPLUS=y +CONFIG_ZEROPLUS_FF=y +CONFIG_HID_ZYDACRON=y +CONFIG_HID_SENSOR_HUB=y +# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +CONFIG_USB_HIDDEV=y + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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=y +# CONFIG_USB_SERIAL_CONSOLE is not set +# CONFIG_USB_SERIAL_GENERIC is not set +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FTDI_SIO is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +# CONFIG_USB_SERIAL_PL2303 is not set +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 + +# +# USB Peripheral Controller +# +# CONFIG_USB_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_HISI_UDC=y +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_LIBCOMPOSITE=m +CONFIG_USB_F_FS=m +# CONFIG_USB_CONFIGFS is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_AUDIO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_G_NCM is not set +# CONFIG_USB_GADGETFS is not set +CONFIG_USB_FUNCTIONFS=m +# CONFIG_USB_FUNCTIONFS_ETH is not set +# CONFIG_USB_FUNCTIONFS_RNDIS is not set +CONFIG_USB_FUNCTIONFS_GENERIC=y +# CONFIG_USB_MASS_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +# CONFIG_USB_G_HID is not set +# CONFIG_USB_G_DBGP is not set +# CONFIG_USB_G_WEBCAM is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI 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_MTK is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +# CONFIG_LEDS_TRIGGERS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_HCTOSYS is not set +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS3232 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_ISL12057 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF85063 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_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set +# CONFIG_RTC_DRV_RV8803 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_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_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_DS3234 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_MCP795 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PL030 is not set +# CONFIG_RTC_DRV_PL031 is not set +# CONFIG_RTC_DRV_SNVS is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_VT6656 is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +CONFIG_ASHMEM=y +# CONFIG_ANDROID_LOGGER is not set +CONFIG_ANDROID_TIMED_OUTPUT=y +# CONFIG_ANDROID_TIMED_GPIO is not set +CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_ANDROID_LOW_MEMORY_KILLER_AUTODETECT_OOM_ADJ_VALUES=y +# CONFIG_ANDROID_INTF_ALARM_DEV is not set +CONFIG_SYNC=y +CONFIG_SW_SYNC=y +CONFIG_SW_SYNC_USER=y +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +# CONFIG_HISI_IOMMU_API is not set +# CONFIG_HISI_IOMMU is not set +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_BINDER_DEVICES="binder" +CONFIG_ANDROID_BINDER_IPC_32BIT=y +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=m +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +CONFIG_SDCARD_FS=m +# 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_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN 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_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XZ 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_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +CONFIG_CIFS=y +# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_XATTR is not set +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_SMB2 is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_MEMORY_INIT=y + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_STACKTRACE=y +CONFIG_DEBUG_BUGVERBOSE=y + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +CONFIG_SECURITY=y +# CONFIG_SECURITYFS is not set +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +# CONFIG_SECURITY_PATH is not set +CONFIG_LSM_MMAP_MIN_ADDR=32768 +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 +# CONFIG_SECURITY_SELINUX_DISABLE is not set +CONFIG_SECURITY_SELINUX_DEVELOP=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set +# CONFIG_SECURITY_SMACK is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SECURITY_APPARMOR is not set +# CONFIG_SECURITY_YAMA is not set +CONFIG_INTEGRITY=y +CONFIG_INTEGRITY_AUDIT=y +# CONFIG_IMA is not set +# CONFIG_EVM is not set +CONFIG_DEFAULT_SECURITY_SELINUX=y +# CONFIG_DEFAULT_SECURITY_DAC is not set +CONFIG_DEFAULT_SECURITY="selinux" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# CONFIG_CRYPTO_POLY1305 is not set +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=y +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=y +# 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_TEA is not set +CONFIG_CRYPTO_TWOFISH=y +CONFIG_CRYPTO_TWOFISH_COMMON=y + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=y +# CONFIG_CRC8 is not set +CONFIG_AUDIT_GENERIC=y +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=y +CONFIG_TEXTSEARCH_BM=y +CONFIG_TEXTSEARCH_FSM=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3796mv100_defconfig b/arch/arm/configs/hi3796mv100_defconfig new file mode 100644 index 000000000..7c1bd0085 --- /dev/null +++ b/arch/arm/configs/hi3796mv100_defconfig @@ -0,0 +1,3384 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +CONFIG_ARCH_HI3798MX=y +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 + +# +# HI3798MX board feature +# +CONFIG_MACH_HI3798MX=y + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# 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 is not set +# CONFIG_VMSPLIT_3G_OPT is not set +CONFIG_VMSPLIT_2G=y +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0x80000000 +CONFIG_NR_CPUS=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_CLEANCACHE is not set +CONFIG_CMA=y +# 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_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798mv100" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER 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=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_NETLINK_ACCT=y +CONFIG_NETFILTER_NETLINK_QUEUE=y +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NF_CONNTRACK is not set +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY 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_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_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS 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_COMMENT is not set +# 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_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_POLICY is not set +# CONFIG_NETFILTER_XT_MATCH_PHYSDEV 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_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_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 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_TTL is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_MANGLE is not set +# CONFIG_IP_NF_RAW is not set +CONFIG_IP_NF_ARPTABLES=y +# CONFIG_IP_NF_ARPFILTER is not set +# CONFIG_IP_NF_ARP_MANGLE is not set + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=y +CONFIG_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +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_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED 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_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +CONFIG_BT_DEBUGFS=y + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=y +CONFIG_BT_HCIBTUSB=y +# CONFIG_BT_HCIBTUSB_BCM is not set +# CONFIG_BT_HCIBTUSB_RTL is not set +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_AF_RXRPC is not set +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +CONFIG_SUPPORT_DSP_RUN_MEM=y +CONFIG_DSP_RUN_MEM_ADDR=0x2000000 +CONFIG_DSP_RUN_MEM_SIZE=0x800000 +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +CONFIG_CMA_MEM_SHARED=y +CONFIG_CMA_ADVANCE_SHARE=y +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +CONFIG_MTD_NAND_HINFC610=y +CONFIG_HINFC610_MAX_CHIP=1 +# CONFIG_HINFC610_CACHE_ENABLE is not set +CONFIG_HINFC610_DBG_NAND_DEBUG=y +CONFIG_HINFC610_DBG_NAND_DUMP=y +CONFIG_HINFC610_DBG_NAND_ERASE_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_COUNT=y +CONFIG_HINFC610_DBG_NAND_ECC_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_RETRY=y +CONFIG_HINFC610_AUTO_PAGESIZE_ECC=y +# CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +# CONFIG_MTD_HIFMC100 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_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_NET_VENDOR_AURORA is not set +CONFIG_NET_CADENCE=y +# CONFIG_MACB 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_CIRRUS=y +# CONFIG_CS89x0 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_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_INTEL=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +CONFIG_NET_VENDOR_MICREL=y +# 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_NATSEMI=y +CONFIG_NET_VENDOR_8390=y +# CONFIG_AX88796 is not set +# CONFIG_ETHOC is not set +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000 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_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS 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_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +# CONFIG_PPP_MPPE is not set +CONFIG_PPP_MULTILINK=y +# CONFIG_PPPOE is not set +# CONFIG_PPPOLAC is not set +# CONFIG_PPPOPNS is not set +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_IPHETH is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_AT76C50X_USB is not set +CONFIG_USB_ZD1201=m +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +CONFIG_ATH_COMMON=m +CONFIG_ATH_CARDS=m +# CONFIG_ATH_DEBUG is not set +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K=m +# CONFIG_ATH9K_AHB is not set +# CONFIG_ATH9K_DEBUGFS is not set +# CONFIG_ATH9K_DYNACK is not set +# CONFIG_ATH9K_WOW is not set +CONFIG_ATH9K_RFKILL=y +# CONFIG_ATH9K_CHANNEL_CONTEXT is not set +CONFIG_ATH9K_PCOEM=y +CONFIG_ATH9K_HTC=m +# CONFIG_ATH9K_HTC_DEBUGFS is not set +# CONFIG_CARL9170 is not set +# CONFIG_ATH6KL is not set +# CONFIG_AR5523 is not set +# CONFIG_ATH10K is not set +# CONFIG_WCN36XX is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_LIBERTAS is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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_UINPUT=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_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 +# +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME 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=y +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_PRODIKEYS is not set +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# 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_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=y +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_HIDPP is not set +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +# CONFIG_HID_MAGICMOUSE is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +# CONFIG_HID_MULTITOUCH 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_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_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_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 + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +CONFIG_USB_SERIAL_FTDI_SIO=y +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=y +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_LED_TRIG is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI 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_MTK is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_VT6656 is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +# CONFIG_HISI_IOMMU_API is not set +# CONFIG_HISI_IOMMU is not set +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +# CONFIG_JOLIET is not set +# CONFIG_ZISOFS is not set +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_SDCARD_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_MEMORY_INIT=y + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_STACKTRACE=y +CONFIG_DEBUG_BUGVERBOSE=y + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3796mv100_loader_defconfig b/arch/arm/configs/hi3796mv100_loader_defconfig new file mode 100644 index 000000000..b1d153cb0 --- /dev/null +++ b/arch/arm/configs/hi3796mv100_loader_defconfig @@ -0,0 +1,2476 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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 is not set +CONFIG_KERNEL_LZMA=y +# 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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_HZ_PERIODIC=y +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NO_HZ_FULL is not set +# CONFIG_NO_HZ is not set +# CONFIG_HIGH_RES_TIMERS is not set + +# +# 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_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_NAMESPACES is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +CONFIG_RD_LZMA=y +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +# CONFIG_UID16 is not set +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +# CONFIG_BUG is not set +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +# CONFIG_EPOLL is not set +CONFIG_SIGNALFD=y +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_AIO is not set +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# CONFIG_VM_EVENT_COUNTERS is not set +# 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_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +CONFIG_TRACEPOINTS=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_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_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_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_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +CONFIG_ARCH_HI3798MX=y +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 + +# +# HI3798MX board feature +# +CONFIG_MACH_HI3798MX=y + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +# CONFIG_VDSO is not set +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# CONFIG_SCHED_SMT is not set +# CONFIG_HAVE_ARM_ARCH_TIMER is not set +# 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=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +# CONFIG_SCHED_HRTICK is not set +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +# CONFIG_HIGHPTE is not set +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +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=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +# CONFIG_IDLE_PAGE_TRACKING 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_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798mv100" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# 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 + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_WAKELOCK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG 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 is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_NET_IP_TUNNEL is not set +# CONFIG_IP_MROUTE is not set +CONFIG_SYN_COOKIES=y +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +# CONFIG_SUPPORT_SRAM_MANAGER is not set +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +CONFIG_SUPPORT_DSP_RUN_MEM=y +CONFIG_DSP_RUN_MEM_ADDR=0x2000000 +CONFIG_DSP_RUN_MEM_SIZE=0x800000 +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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 +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +CONFIG_MTD_NAND_HINFC610=y +CONFIG_HINFC610_MAX_CHIP=1 +# CONFIG_HINFC610_CACHE_ENABLE is not set +CONFIG_HINFC610_DBG_NAND_DEBUG=y +CONFIG_HINFC610_DBG_NAND_DUMP=y +CONFIG_HINFC610_DBG_NAND_ERASE_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_COUNT=y +CONFIG_HINFC610_DBG_NAND_ECC_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_RETRY=y +CONFIG_HINFC610_AUTO_PAGESIZE_ECC=y +# CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# 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 is not set +# CONFIG_MTD_HIFMC100 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_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_ZRAM is not set +# CONFIG_BLK_DEV_COW_COMMON 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=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_VXLAN is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS 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 is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_ETHOC is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC 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_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 is not set +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_APMPOWER is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO is not set + +# +# 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 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set +# CONFIG_LOGO is not set +# 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_ACRUX is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CP2112 is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF 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_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +# CONFIG_HID_MULTITOUCH 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_ROCCAT is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SPEEDLINK 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_THRUSTMASTER is not set +# CONFIG_HID_WACOM 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 + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI 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_MTK is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# 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_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_UBIFS_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +# CONFIG_SQUASHFS is not set +# 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_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +# CONFIG_ROOT_NFS is not set +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC 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_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +# CONFIG_DEBUG_USER is not set +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +# CONFIG_ENCRYPTED_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_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST 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_SEQIV is not set +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF 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_SHA256=m +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set + +# +# Certificates for signature checking +# +# CONFIG_SYSTEM_TRUSTED_KEYRING is not set +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +# CONFIG_CRC_CCITT 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_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_XZ_DEC is not set +# CONFIG_XZ_DEC_BCJ is not set +CONFIG_DECOMPRESS_LZMA=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3796mv200_android_defconfig b/arch/arm/configs/hi3796mv200_android_defconfig new file mode 100644 index 000000000..b382cc368 --- /dev/null +++ b/arch/arm/configs/hi3796mv200_android_defconfig @@ -0,0 +1,4354 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_hi3796mv200" +# CONFIG_LOCALVERSION_AUTO is not set +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=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_FHANDLE is not set +CONFIG_USELIB=y +CONFIG_AUDIT=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUDIT_TREE=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_PCI_QUIRKS=y +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +CONFIG_ARCH_HI3796MV2X=y +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=500 + +# +# HI3796MV2X board feature +# +CONFIG_MACH_HI3796MV2X=y +# CONFIG_HI3796MV2X_FPGA is not set + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +CONFIG_PCI=y +# CONFIG_PCI_DOMAINS_GENERIC is not set +CONFIG_PCI_SYSCALL=y +# CONFIG_PCI_MSI is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set + +# +# PCI host controller drivers +# +CONFIG_PCIE_DW=y +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCIE_IPROC is not set +# CONFIG_PCIE_ALTERA is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# 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=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_CLEANCACHE is not set +# CONFIG_FRONTSWAP is not set +CONFIG_CMA=y +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_AREAS=7 +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +CONFIG_ZSMALLOC=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_SECCOMP=y +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3796mv200" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=95 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +# CONFIG_HIBERNATION is not set +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM=y +CONFIG_PM_DEBUG=y +# CONFIG_PM_ADVANCED_DEBUG is not set +# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_PM_SLEEP_DEBUG=y +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS 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 is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +CONFIG_IP_ROUTE_CLASSID=y +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_NET_IP_TUNNEL=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +# CONFIG_IPV6_MROUTE is not set +# CONFIG_NETLABEL is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +CONFIG_NETWORK_SECMARK=y +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_DEBUG=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +# CONFIG_NETFILTER_NETLINK_ACCT is not set +CONFIG_NETFILTER_NETLINK_QUEUE=y +CONFIG_NETFILTER_NETLINK_LOG=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_MARK=y +# CONFIG_NF_CONNTRACK_SECMARK is not set +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CONNTRACK_TIMEOUT is not set +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_GRE=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_CONNTRACK_AMANDA=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_CONNTRACK_H323=y +CONFIG_NF_CONNTRACK_IRC=y +CONFIG_NF_CONNTRACK_BROADCAST=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=y +CONFIG_NF_CONNTRACK_SNMP=y +CONFIG_NF_CONNTRACK_PPTP=y +CONFIG_NF_CONNTRACK_SANE=y +CONFIG_NF_CONNTRACK_SIP=y +CONFIG_NF_CONNTRACK_TFTP=y +CONFIG_NF_CT_NETLINK=y +# CONFIG_NF_CT_NETLINK_TIMEOUT is not set +# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set +CONFIG_NF_NAT=y +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_PROTO_DCCP=y +CONFIG_NF_NAT_PROTO_UDPLITE=y +CONFIG_NF_NAT_PROTO_SCTP=y +CONFIG_NF_NAT_AMANDA=y +CONFIG_NF_NAT_FTP=y +CONFIG_NF_NAT_IRC=y +CONFIG_NF_NAT_SIP=y +CONFIG_NF_NAT_TFTP=y +CONFIG_NF_NAT_REDIRECT=y +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=y +CONFIG_NETFILTER_XT_CONNMARK=y + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y +# CONFIG_NETFILTER_XT_TARGET_CT is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_HL=y +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y +# CONFIG_NETFILTER_XT_TARGET_LOG is not set +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_NAT=y +CONFIG_NETFILTER_XT_TARGET_NETMAP=y +CONFIG_NETFILTER_XT_TARGET_NFLOG=y +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_RATEEST=y +CONFIG_NETFILTER_XT_TARGET_REDIRECT=y +CONFIG_NETFILTER_XT_TARGET_TEE=y +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETFILTER_XT_TARGET_TRACE is not set +# CONFIG_NETFILTER_XT_TARGET_SECMARK is not set +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +CONFIG_NETFILTER_XT_MATCH_CLUSTER=y +CONFIG_NETFILTER_XT_MATCH_COMMENT=y +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_CPU=y +CONFIG_NETFILTER_XT_MATCH_DCCP=y +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y +CONFIG_NETFILTER_XT_MATCH_DSCP=y +CONFIG_NETFILTER_XT_MATCH_ECN=y +CONFIG_NETFILTER_XT_MATCH_ESP=y +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y +CONFIG_NETFILTER_XT_MATCH_HELPER=y +CONFIG_NETFILTER_XT_MATCH_HL=y +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_IPVS=y +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +CONFIG_NETFILTER_XT_MATCH_LENGTH=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +CONFIG_NETFILTER_XT_MATCH_MARK=y +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +CONFIG_NETFILTER_XT_MATCH_OSF=y +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +CONFIG_NETFILTER_XT_MATCH_POLICY=y +# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y +CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y +# CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG is not set +CONFIG_NETFILTER_XT_MATCH_RATEEST=y +CONFIG_NETFILTER_XT_MATCH_REALM=y +CONFIG_NETFILTER_XT_MATCH_RECENT=y +CONFIG_NETFILTER_XT_MATCH_SCTP=y +CONFIG_NETFILTER_XT_MATCH_SOCKET=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y +CONFIG_NETFILTER_XT_MATCH_STRING=y +CONFIG_NETFILTER_XT_MATCH_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_TIME=y +CONFIG_NETFILTER_XT_MATCH_U32=y +# CONFIG_IP_SET is not set +CONFIG_IP_VS=y +# CONFIG_IP_VS_IPV6 is not set +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +# CONFIG_IP_VS_PROTO_TCP is not set +# CONFIG_IP_VS_PROTO_UDP is not set +# CONFIG_IP_VS_PROTO_AH_ESP is not set +# CONFIG_IP_VS_PROTO_ESP is not set +# CONFIG_IP_VS_PROTO_AH is not set +# CONFIG_IP_VS_PROTO_SCTP is not set + +# +# IPVS scheduler +# +# CONFIG_IP_VS_RR is not set +# CONFIG_IP_VS_WRR is not set +# CONFIG_IP_VS_LC is not set +# CONFIG_IP_VS_WLC is not set +# CONFIG_IP_VS_FO is not set +# CONFIG_IP_VS_OVF is not set +# CONFIG_IP_VS_LBLC is not set +# CONFIG_IP_VS_LBLCR is not set +# CONFIG_IP_VS_DH is not set +# CONFIG_IP_VS_SH is not set +# CONFIG_IP_VS_SED is not set +# CONFIG_IP_VS_NQ is not set + +# +# IPVS SH scheduler +# +CONFIG_IP_VS_SH_TAB_BITS=8 + +# +# IPVS application helper +# +# CONFIG_IP_VS_NFCT is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_NF_DUP_IPV4=y +# CONFIG_NF_LOG_ARP is not set +# CONFIG_NF_LOG_IPV4 is not set +CONFIG_NF_REJECT_IPV4=y +CONFIG_NF_NAT_IPV4=y +CONFIG_NF_NAT_MASQUERADE_IPV4=y +CONFIG_NF_NAT_SNMP_BASIC=y +CONFIG_NF_NAT_PROTO_GRE=y +CONFIG_NF_NAT_PPTP=y +CONFIG_NF_NAT_H323=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MATCH_AH=y +CONFIG_IP_NF_MATCH_ECN=y +# CONFIG_IP_NF_MATCH_RPFILTER is not set +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +# 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=y +CONFIG_IP_NF_TARGET_ECN=y +CONFIG_IP_NF_TARGET_TTL=y +CONFIG_IP_NF_RAW=y +# CONFIG_IP_NF_SECURITY is not set +CONFIG_IP_NF_ARPTABLES=y +CONFIG_IP_NF_ARPFILTER=y +CONFIG_IP_NF_ARP_MANGLE=y + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=y +CONFIG_NF_CONNTRACK_IPV6=y +CONFIG_NF_DUP_IPV6=y +CONFIG_NF_REJECT_IPV6=y +# CONFIG_NF_LOG_IPV6 is not set +CONFIG_NF_NAT_IPV6=y +CONFIG_NF_NAT_MASQUERADE_IPV6=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_MATCH_AH=y +CONFIG_IP6_NF_MATCH_EUI64=y +CONFIG_IP6_NF_MATCH_FRAG=y +CONFIG_IP6_NF_MATCH_OPTS=y +CONFIG_IP6_NF_MATCH_HL=y +CONFIG_IP6_NF_MATCH_IPV6HEADER=y +CONFIG_IP6_NF_MATCH_MH=y +CONFIG_IP6_NF_MATCH_RPFILTER=y +CONFIG_IP6_NF_MATCH_RT=y +CONFIG_IP6_NF_TARGET_HL=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_TARGET_REJECT=y +# CONFIG_IP6_NF_TARGET_SYNPROXY is not set +CONFIG_IP6_NF_MANGLE=y +CONFIG_IP6_NF_RAW=y +# CONFIG_IP6_NF_SECURITY is not set +CONFIG_IP6_NF_NAT=y +CONFIG_IP6_NF_TARGET_MASQUERADE=y +CONFIG_IP6_NF_TARGET_NPT=y +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=y +CONFIG_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +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_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=y +CONFIG_NET_SCH_HTB=y +CONFIG_NET_SCH_HFSC=y +CONFIG_NET_SCH_PRIO=y +CONFIG_NET_SCH_MULTIQ=y +CONFIG_NET_SCH_RED=y +CONFIG_NET_SCH_SFB=y +CONFIG_NET_SCH_SFQ=y +CONFIG_NET_SCH_TEQL=y +CONFIG_NET_SCH_TBF=y +CONFIG_NET_SCH_GRED=y +CONFIG_NET_SCH_DSMARK=y +CONFIG_NET_SCH_NETEM=y +CONFIG_NET_SCH_DRR=y +CONFIG_NET_SCH_MQPRIO=y +CONFIG_NET_SCH_CHOKE=y +CONFIG_NET_SCH_QFQ=y +CONFIG_NET_SCH_CODEL=y +CONFIG_NET_SCH_FQ_CODEL=y +# CONFIG_NET_SCH_FQ is not set +# CONFIG_NET_SCH_HHF is not set +# CONFIG_NET_SCH_PIE is not set +CONFIG_NET_SCH_INGRESS=y +CONFIG_NET_SCH_PLUG=y + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=y +CONFIG_NET_CLS_TCINDEX=y +CONFIG_NET_CLS_ROUTE4=y +CONFIG_NET_CLS_FW=y +CONFIG_NET_CLS_U32=y +CONFIG_CLS_U32_PERF=y +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_RSVP=y +CONFIG_NET_CLS_RSVP6=y +CONFIG_NET_CLS_FLOW=y +# CONFIG_NET_CLS_BPF is not set +# CONFIG_NET_CLS_FLOWER is not set +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_CMP=y +CONFIG_NET_EMATCH_NBYTE=y +CONFIG_NET_EMATCH_U32=y +CONFIG_NET_EMATCH_META=y +CONFIG_NET_EMATCH_TEXT=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=y +CONFIG_NET_ACT_GACT=y +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=y +CONFIG_NET_ACT_IPT=y +CONFIG_NET_ACT_NAT=y +CONFIG_NET_ACT_PEDIT=y +CONFIG_NET_ACT_SIMP=y +CONFIG_NET_ACT_SKBEDIT=y +CONFIG_NET_ACT_CSUM=y +# CONFIG_NET_ACT_VLAN is not set +# CONFIG_NET_ACT_BPF is not set +# CONFIG_NET_ACT_CONNMARK is not set +CONFIG_NET_CLS_IND=y +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +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_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_AF_RXRPC is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +CONFIG_LIB80211=y +CONFIG_LIB80211_CRYPT_WEP=y +CONFIG_LIB80211_CRYPT_CCMP=y +CONFIG_LIB80211_CRYPT_TKIP=y +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +# CONFIG_MAC80211_LEDS is not set +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +CONFIG_VIRTUAL_INPUT=y +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +CONFIG_PCIE_HISILICON=y +CONFIG_PCIE_PME_IRQ=0xa2 +CONFIG_PCIE_DMA_ADDR_READ=0x0 +CONFIG_PCIE_DMA_SIZE_READ=0x0 +CONFIG_PCIE_DMA_ADDR_WRITE=0x0 +CONFIG_PCIE_DMA_SIZE_WRITE=0x0 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +CONFIG_SUPPORT_DSP_RUN_MEM=y +CONFIG_DSP_RUN_MEM_ADDR=0x7000000 +CONFIG_DSP_RUN_MEM_SIZE=0x1000000 +# CONFIG_SUPPORT_ATF_MEM is not set +CONFIG_SUPPORT_SMCU_MEM=y +CONFIG_SMCU_MEM_ADDR=0x8000000 +CONFIG_SMCU_MEM_SIZE=0x10000 +CONFIG_HISI_EXT4_TMP_QUIRK=y +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +CONFIG_USB_OTG_HISI=y +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +CONFIG_HASH_VRF_DEV=y + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +CONFIG_FW_LOADER_USER_HELPER=y +CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_SWAP is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_PCI is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_RICOH is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_CAFE is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_OF_MTD=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_BLK_DEV_PCIESSD_MTIP32XX is not set +CONFIG_ZRAM=y +# CONFIG_ZRAM_LZ4_COMPRESS is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_SX8 is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=409600 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set +# CONFIG_BLK_DEV_NVME is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=y +CONFIG_BLK_DEV_SR_VENDOR=y +# 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 +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +# CONFIG_SATA_AHCI is not set +CONFIG_SATA_AHCI_PLATFORM=m +# CONFIG_AHCI_CEVA is not set +# CONFIG_AHCI_QORIQ is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +CONFIG_MD=y +# CONFIG_BLK_DEV_MD is not set +# CONFIG_BCACHE is not set +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DM=y +# CONFIG_DM_MQ_DEFAULT is not set +# CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=y +CONFIG_DM_CRYPT=y +CONFIG_DM_SNAPSHOT=y +# CONFIG_DM_THIN_PROVISIONING is not set +# CONFIG_DM_CACHE is not set +# CONFIG_DM_ERA is not set +# CONFIG_DM_MIRROR is not set +# CONFIG_DM_RAID is not set +# CONFIG_DM_ZERO is not set +# CONFIG_DM_MULTIPATH is not set +# CONFIG_DM_DELAY is not set +# CONFIG_DM_UEVENT is not set +# CONFIG_DM_FLAKEY is not set +# CONFIG_DM_VERITY is not set +# CONFIG_DM_SWITCH is not set +# CONFIG_DM_LOG_WRITES is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC is not set +# CONFIG_IFB 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_TUN=y +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set +# CONFIG_ARCNET is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +# CONFIG_TYPHOON is not set +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +# CONFIG_ET131X is not set +CONFIG_NET_VENDOR_ALTEON=y +# CONFIG_ACENIC is not set +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +CONFIG_NET_VENDOR_ATHEROS=y +# CONFIG_ATL2 is not set +# CONFIG_ATL1 is not set +# CONFIG_ATL1E is not set +# CONFIG_ATL1C is not set +# CONFIG_ALX is not set +# CONFIG_NET_VENDOR_AURORA is not set +CONFIG_NET_CADENCE=y +# CONFIG_MACB is not set +CONFIG_NET_VENDOR_BROADCOM=y +# CONFIG_B44 is not set +# CONFIG_BCMGENET is not set +# CONFIG_BNX2 is not set +# CONFIG_CNIC is not set +# CONFIG_TIGON3 is not set +# CONFIG_BNX2X is not set +# CONFIG_SYSTEMPORT is not set +# CONFIG_BNXT is not set +CONFIG_NET_VENDOR_BROCADE=y +# CONFIG_BNA is not set +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_CHELSIO_T4 is not set +# CONFIG_CHELSIO_T4VF is not set +CONFIG_NET_VENDOR_CIRRUS=y +# CONFIG_CS89x0 is not set +CONFIG_NET_VENDOR_CISCO=y +# CONFIG_ENIC is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +# CONFIG_DL2K is not set +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +# CONFIG_BE2NET is not set +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_EXAR=y +# CONFIG_S2IO is not set +# CONFIG_VXGE is not set +CONFIG_NET_VENDOR_FARADAY=y +# CONFIG_FTMAC100 is not set +# CONFIG_FTGMAC100 is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC=y +CONFIG_HIGMAC_DESC_4WORD=y +CONFIG_HIGMAC_RXCSUM=y +CONFIG_NET_VENDOR_HP=y +# CONFIG_HP100 is not set +CONFIG_NET_VENDOR_INTEL=y +# CONFIG_E100 is not set +# CONFIG_E1000 is not set +# CONFIG_E1000E is not set +# CONFIG_IGB is not set +# CONFIG_IGBVF is not set +# CONFIG_IXGB is not set +# CONFIG_IXGBE is not set +# CONFIG_I40E is not set +CONFIG_NET_VENDOR_I825XX=y +# CONFIG_JME is not set +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +# CONFIG_SKGE is not set +# CONFIG_SKY2 is not set +CONFIG_NET_VENDOR_MELLANOX=y +# CONFIG_MLX4_EN is not set +# CONFIG_MLX4_CORE is not set +# CONFIG_MLX5_CORE is not set +# CONFIG_MLXSW_CORE is not set +CONFIG_NET_VENDOR_MICREL=y +# CONFIG_KS8851 is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_KSZ884X_PCI is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +CONFIG_NET_VENDOR_NATSEMI=y +# CONFIG_NATSEMI is not set +# CONFIG_NS83820 is not set +CONFIG_NET_VENDOR_8390=y +# CONFIG_AX88796 is not set +# CONFIG_NE2K_PCI is not set +CONFIG_NET_VENDOR_NVIDIA=y +# CONFIG_FORCEDETH is not set +CONFIG_NET_VENDOR_OKI=y +# CONFIG_ETHOC is not set +CONFIG_NET_PACKET_ENGINE=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +CONFIG_NET_VENDOR_QLOGIC=y +# CONFIG_QLA3XXX is not set +# CONFIG_QLCNIC is not set +# CONFIG_QLGE is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_QED is not set +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000 is not set +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +# CONFIG_R8169 is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +# CONFIG_SXGBE_ETH is not set +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +# CONFIG_SFC is not set +CONFIG_NET_VENDOR_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_EPIC100 is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +# CONFIG_SMSC9420 is not set +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TI_CPSW_ALE is not set +# CONFIG_TLAN is not set +CONFIG_NET_VENDOR_VIA=y +# CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set +CONFIG_NET_VENDOR_WIZNET=y +# CONFIG_WIZNET_W5100 is not set +# CONFIG_WIZNET_W5300 is not set +# CONFIG_HIETH_SWITCH_FABRIC is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +CONFIG_HISILICON_PHY=y +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOE=y +CONFIG_PPPOLAC=y +CONFIG_PPPOPNS=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +CONFIG_USB_USBNET=y +CONFIG_USB_NET_AX8817X=y +CONFIG_USB_NET_AX88179_178A=y +CONFIG_USB_NET_CDCETHER=y +# CONFIG_USB_NET_CDC_EEM is not set +CONFIG_USB_NET_CDC_NCM=y +# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set +# CONFIG_USB_NET_CDC_MBIM is not set +CONFIG_USB_NET_DM9601=y +# CONFIG_USB_NET_SR9700 is not set +# CONFIG_USB_NET_SR9800 is not set +# CONFIG_USB_NET_SMSC75XX is not set +# CONFIG_USB_NET_SMSC95XX is not set +# CONFIG_USB_NET_GL620A is not set +CONFIG_USB_NET_NET1080=y +# CONFIG_USB_NET_PLUSB is not set +# CONFIG_USB_NET_MCS7830 is not set +# CONFIG_USB_NET_RNDIS_HOST is not set +CONFIG_USB_NET_CDC_SUBSET=y +# CONFIG_USB_ALI_M5632 is not set +# CONFIG_USB_AN2720 is not set +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +# CONFIG_USB_EPSON2888 is not set +# CONFIG_USB_KC2190 is not set +CONFIG_USB_NET_ZAURUS=y +# CONFIG_USB_NET_CX82310_ETH is not set +# CONFIG_USB_NET_KALMIA is not set +# CONFIG_USB_NET_QMI_WWAN is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set +# CONFIG_USB_SIERRA_NET is not set +# CONFIG_USB_VL600 is not set +# CONFIG_USB_NET_CH9200 is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_ATMEL is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_PRISM54 is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_ADM8211 is not set +# CONFIG_RTL8180 is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_MWL8K is not set +# CONFIG_ATH_CARDS is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +CONFIG_HOSTAP=y +# CONFIG_HOSTAP_FIRMWARE is not set +# CONFIG_HOSTAP_PLX is not set +# CONFIG_HOSTAP_PCI is not set +# CONFIG_IPW2100 is not set +# CONFIG_IPW2200 is not set +# CONFIG_IWLWIFI is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +# CONFIG_LIBERTAS is not set +# CONFIG_HERMES is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192EE is not set +# CONFIG_RTL8821AE is not set +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_VMXNET3 is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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_UINPUT=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +# CONFIG_SERIO_PCIPS2 is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set +# CONFIG_GAMEPORT_EMU10K1 is not set +# CONFIG_GAMEPORT_FM801 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_NOZOMI is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_JSM 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_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_DEVPORT=y +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# 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_DESIGNWARE_PCI is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_VX855 is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_RDC321X is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +# CONFIG_APM_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SBS is not set +# CONFIG_BATTERY_BQ27XXX 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_BQ2415X is not set +# CONFIG_CHARGER_BQ24190 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_POWER_RESET is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +CONFIG_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_DEFERRED_IO=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_ADF is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_PCI=y +# CONFIG_SND_AD1889 is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SE6X is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VIRTUOSO is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set + +# +# HD-Audio +# +# CONFIG_SND_HDA_INTEL is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME is not set + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +CONFIG_HIDRAW=y +CONFIG_UHID=y +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +CONFIG_HID_A4TECH=y +CONFIG_HID_ACRUX=y +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=y +CONFIG_HID_APPLEIR=y +CONFIG_HID_AUREAL=y +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +CONFIG_HID_PRODIKEYS=y +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +CONFIG_HID_DRAGONRISE=y +CONFIG_DRAGONRISE_FF=y +CONFIG_HID_EMS_FF=y +CONFIG_HID_ELECOM=y +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +CONFIG_HID_HOLTEK=y +CONFIG_HOLTEK_FF=y +# CONFIG_HID_GT683R is not set +CONFIG_HID_KEYTOUCH=y +CONFIG_HID_KYE=y +CONFIG_HID_UCLOGIC=y +CONFIG_HID_WALTOP=y +CONFIG_HID_GYRATION=y +CONFIG_HID_ICADE=y +CONFIG_HID_TWINHAN=y +CONFIG_HID_KENSINGTON=y +CONFIG_HID_LCPOWER=y +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +CONFIG_HID_LOGITECH_DJ=y +CONFIG_HID_LOGITECH_HIDPP=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_HID_MAGICMOUSE=y +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_MULTITOUCH=y +CONFIG_HID_NTRIG=y +CONFIG_HID_ORTEK=y +CONFIG_HID_PANTHERLORD=y +CONFIG_PANTHERLORD_FF=y +# CONFIG_HID_PENMOUNT is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_PICOLCD=y +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_LEDS=y +# CONFIG_HID_PLANTRONICS is not set +CONFIG_HID_PRIMAX=y +CONFIG_HID_ROCCAT=y +CONFIG_HID_SAITEK=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +# CONFIG_SONY_FF is not set +CONFIG_HID_SPEEDLINK=y +CONFIG_HID_STEELSERIES=y +CONFIG_HID_SUNPLUS=y +# CONFIG_HID_RMI is not set +CONFIG_HID_GREENASIA=y +CONFIG_GREENASIA_FF=y +CONFIG_HID_SMARTJOYPLUS=y +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_HID_TIVO=y +CONFIG_HID_TOPSEED=y +CONFIG_HID_THINGM=y +CONFIG_HID_THRUSTMASTER=y +CONFIG_THRUSTMASTER_FF=y +CONFIG_HID_WACOM=y +CONFIG_HID_WIIMOTE=y +# CONFIG_HID_XINMO is not set +CONFIG_HID_ZEROPLUS=y +CONFIG_ZEROPLUS_FF=y +CONFIG_HID_ZYDACRON=y +CONFIG_HID_SENSOR_HUB=y +# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +CONFIG_USB_HIDDEV=y + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_UHCI_HCD 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 + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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=y +# CONFIG_USB_SERIAL_CONSOLE is not set +# CONFIG_USB_SERIAL_GENERIC is not set +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FTDI_SIO is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +# CONFIG_USB_SERIAL_PL2303 is not set +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 + +# +# USB Peripheral Controller +# +# CONFIG_USB_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_HISI_UDC=y +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_F_FS=y +# CONFIG_USB_CONFIGFS is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_AUDIO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_G_NCM is not set +# CONFIG_USB_GADGETFS is not set +CONFIG_USB_FUNCTIONFS=y +# CONFIG_USB_FUNCTIONFS_ETH is not set +# CONFIG_USB_FUNCTIONFS_RNDIS is not set +CONFIG_USB_FUNCTIONFS_GENERIC=y +# CONFIG_USB_MASS_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +# CONFIG_USB_G_HID is not set +# CONFIG_USB_G_DBGP is not set +# CONFIG_USB_G_WEBCAM is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV300_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC 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_TOSHIBA_PCI 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 + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +# CONFIG_LEDS_TRIGGERS is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_HCTOSYS is not set +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS3232 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_ISL12057 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF85063 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_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set +# CONFIG_RTC_DRV_RV8803 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_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_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_DS3234 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_MCP795 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PL030 is not set +# CONFIG_RTC_DRV_PL031 is not set +# CONFIG_RTC_DRV_SNVS is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTL8192U is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set +# CONFIG_FB_SM750 is not set +# CONFIG_FB_XGI is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +CONFIG_ASHMEM=y +CONFIG_ANDROID_LOGGER=y +CONFIG_ANDROID_TIMED_OUTPUT=y +# CONFIG_ANDROID_TIMED_GPIO is not set +CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_ANDROID_LOW_MEMORY_KILLER_AUTODETECT_OOM_ADJ_VALUES=y +# CONFIG_ANDROID_INTF_ALARM_DEV is not set +CONFIG_SYNC=y +CONFIG_SW_SYNC=y +CONFIG_SW_SYNC_USER=y +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGNC is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +CONFIG_OF_IOMMU=y +CONFIG_HISI_IOMMU_API=y +CONFIG_HISI_IOMMU=y +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +# CONFIG_DEVFREQ_GOV_USERSPACE is not set + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_NTB is not set +# CONFIG_VME_BUS is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +CONFIG_RAS=y +# CONFIG_THUNDERBOLT is not set + +# +# Android +# +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_BINDER_DEVICES="binder" +CONFIG_ANDROID_BINDER_IPC_32BIT=y +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +CONFIG_SWITCH=y +# CONFIG_SWITCH_GPIO is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +CONFIG_SDCARD_FS=y +# 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_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN 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_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XZ 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_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +CONFIG_CIFS=y +# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_XATTR is not set +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_SMB2 is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_MEMORY_INIT=y + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_STACKTRACE=y +CONFIG_DEBUG_BUGVERBOSE=y + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +CONFIG_SECURITY=y +# CONFIG_SECURITYFS is not set +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +# CONFIG_SECURITY_PATH is not set +CONFIG_LSM_MMAP_MIN_ADDR=32768 +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 +# CONFIG_SECURITY_SELINUX_DISABLE is not set +CONFIG_SECURITY_SELINUX_DEVELOP=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set +# CONFIG_SECURITY_SMACK is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SECURITY_APPARMOR is not set +# CONFIG_SECURITY_YAMA is not set +CONFIG_INTEGRITY=y +CONFIG_INTEGRITY_AUDIT=y +# CONFIG_IMA is not set +# CONFIG_EVM is not set +CONFIG_DEFAULT_SECURITY_SELINUX=y +# CONFIG_DEFAULT_SECURITY_DAC is not set +CONFIG_DEFAULT_SECURITY="selinux" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# CONFIG_CRYPTO_POLY1305 is not set +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=y +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=y +# 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_TEA is not set +CONFIG_CRYPTO_TWOFISH=y +CONFIG_CRYPTO_TWOFISH_COMMON=y + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_HIFN_795X is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=y +# CONFIG_CRC8 is not set +CONFIG_AUDIT_GENERIC=y +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=y +CONFIG_TEXTSEARCH_BM=y +CONFIG_TEXTSEARCH_FSM=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3796mv200_defconfig b/arch/arm/configs/hi3796mv200_defconfig new file mode 100644 index 000000000..1c58dde4e --- /dev/null +++ b/arch/arm/configs/hi3796mv200_defconfig @@ -0,0 +1,3966 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_hi3796mv200" +# CONFIG_LOCALVERSION_AUTO is not set +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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_PCI_QUIRKS=y +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +CONFIG_ARCH_HI3796MV2X=y +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=500 + +# +# HI3796MV2X board feature +# +CONFIG_MACH_HI3796MV2X=y +# CONFIG_HI3796MV2X_FPGA is not set + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +CONFIG_ARM_ERRATA_643719=y +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +CONFIG_PCI=y +# CONFIG_PCI_DOMAINS_GENERIC is not set +CONFIG_PCI_SYSCALL=y +# CONFIG_PCI_MSI is not set +# CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set + +# +# PCI host controller drivers +# +CONFIG_PCIE_DW=y +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCIE_IPROC is not set +# CONFIG_PCIE_ALTERA is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# 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 is not set +# CONFIG_VMSPLIT_3G_OPT is not set +CONFIG_VMSPLIT_2G=y +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0x80000000 +CONFIG_NR_CPUS=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +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_IDLE_PAGE_TRACKING is not set +CONFIG_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3796mv200" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=95 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +CONFIG_PM_DEBUG=y +# CONFIG_PM_ADVANCED_DEBUG is not set +CONFIG_PM_SLEEP_DEBUG=y +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER 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=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_NETLINK_ACCT=y +CONFIG_NETFILTER_NETLINK_QUEUE=y +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NF_CONNTRACK is not set +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY 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_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_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS 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_COMMENT is not set +# 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_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_POLICY 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_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_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 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_TTL is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_MANGLE is not set +# CONFIG_IP_NF_RAW is not set +CONFIG_IP_NF_ARPTABLES=y +# CONFIG_IP_NF_ARPFILTER is not set +# CONFIG_IP_NF_ARP_MANGLE is not set + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 +# 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED 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_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +# CONFIG_BT_SELFTEST is not set +CONFIG_BT_DEBUGFS=y + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=y +CONFIG_BT_HCIBTUSB=y +# CONFIG_BT_HCIBTUSB_BCM is not set +# CONFIG_BT_HCIBTUSB_RTL is not set +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_AF_RXRPC is not set +CONFIG_WIRELESS=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_REGULATOR is not set +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +CONFIG_PCIE_HISILICON=y +CONFIG_PCIE_PME_IRQ=0xa2 +CONFIG_PCIE_DMA_ADDR_READ=0x0 +CONFIG_PCIE_DMA_SIZE_READ=0x0 +CONFIG_PCIE_DMA_ADDR_WRITE=0x0 +CONFIG_PCIE_DMA_SIZE_WRITE=0x0 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +CONFIG_SUPPORT_DSP_RUN_MEM=y +CONFIG_DSP_RUN_MEM_ADDR=0x7000000 +CONFIG_DSP_RUN_MEM_SIZE=0x1000000 +# CONFIG_SUPPORT_ATF_MEM is not set +CONFIG_SUPPORT_SMCU_MEM=y +CONFIG_SMCU_MEM_ADDR=0x8000000 +CONFIG_SMCU_MEM_SIZE=0x10000 +# CONFIG_HISI_EXT4_TMP_QUIRK is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +CONFIG_REGULATOR=y +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_PCI is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_RICOH is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_CAFE is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_OF_MTD=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_BLK_DEV_PCIESSD_MTIP32XX is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_SX8 is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set +# CONFIG_BLK_DEV_NVME is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +# CONFIG_SATA_AHCI is not set +CONFIG_SATA_AHCI_PLATFORM=m +# CONFIG_AHCI_CEVA is not set +# CONFIG_AHCI_QORIQ is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# CONFIG_ARCNET is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +# CONFIG_TYPHOON is not set +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +# CONFIG_ET131X is not set +CONFIG_NET_VENDOR_ALTEON=y +# CONFIG_ACENIC is not set +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +# CONFIG_NET_VENDOR_ARC is not set +CONFIG_NET_VENDOR_ATHEROS=y +# CONFIG_ATL2 is not set +# CONFIG_ATL1 is not set +# CONFIG_ATL1E is not set +# CONFIG_ATL1C is not set +# CONFIG_ALX is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +CONFIG_NET_VENDOR_BROCADE=y +# CONFIG_BNA is not set +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_CHELSIO_T4 is not set +# CONFIG_CHELSIO_T4VF is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +CONFIG_NET_VENDOR_CISCO=y +# CONFIG_ENIC is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +# CONFIG_DL2K is not set +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +# CONFIG_BE2NET is not set +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_EXAR=y +# CONFIG_S2IO is not set +# CONFIG_VXGE is not set +# CONFIG_NET_VENDOR_FARADAY is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC=y +CONFIG_HIGMAC_DESC_4WORD=y +CONFIG_HIGMAC_RXCSUM=y +CONFIG_NET_VENDOR_HP=y +# CONFIG_HP100 is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_JME is not set +# CONFIG_NET_VENDOR_MARVELL is not set +CONFIG_NET_VENDOR_MELLANOX=y +# CONFIG_MLX4_EN is not set +# CONFIG_MLX4_CORE is not set +# CONFIG_MLX5_CORE is not set +# CONFIG_MLXSW_CORE is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +CONFIG_NET_VENDOR_NVIDIA=y +# CONFIG_FORCEDETH is not set +CONFIG_NET_VENDOR_OKI=y +# CONFIG_ETHOC is not set +CONFIG_NET_PACKET_ENGINE=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +CONFIG_NET_VENDOR_QLOGIC=y +# CONFIG_QLA3XXX is not set +# CONFIG_QLCNIC is not set +# CONFIG_QLGE is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_QED is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +# CONFIG_R8169 is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_ROCKER=y +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +# CONFIG_SFC is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TI_CPSW_ALE is not set +# CONFIG_TLAN is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +CONFIG_HISILICON_PHY=y +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +# CONFIG_PPP_MPPE is not set +CONFIG_PPP_MULTILINK=y +# CONFIG_PPPOE is not set +# CONFIG_PPPOLAC is not set +# CONFIG_PPPOPNS is not set +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +CONFIG_USB_USBNET=y +CONFIG_USB_NET_AX8817X=y +CONFIG_USB_NET_AX88179_178A=y +CONFIG_USB_NET_CDCETHER=y +# CONFIG_USB_NET_CDC_EEM is not set +CONFIG_USB_NET_CDC_NCM=y +# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set +# CONFIG_USB_NET_CDC_MBIM is not set +CONFIG_USB_NET_DM9601=y +# CONFIG_USB_NET_SR9700 is not set +# CONFIG_USB_NET_SR9800 is not set +# CONFIG_USB_NET_SMSC75XX is not set +# CONFIG_USB_NET_SMSC95XX is not set +# CONFIG_USB_NET_GL620A is not set +CONFIG_USB_NET_NET1080=y +# CONFIG_USB_NET_PLUSB is not set +# CONFIG_USB_NET_MCS7830 is not set +# CONFIG_USB_NET_RNDIS_HOST is not set +CONFIG_USB_NET_CDC_SUBSET=y +# CONFIG_USB_ALI_M5632 is not set +# CONFIG_USB_AN2720 is not set +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +# CONFIG_USB_EPSON2888 is not set +# CONFIG_USB_KC2190 is not set +CONFIG_USB_NET_ZAURUS=y +# CONFIG_USB_NET_CX82310_ETH is not set +# CONFIG_USB_NET_KALMIA is not set +# CONFIG_USB_NET_QMI_WWAN is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set +# CONFIG_USB_SIERRA_NET is not set +# CONFIG_USB_VL600 is not set +# CONFIG_USB_NET_CH9200 is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_ATMEL is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_PRISM54 is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_ADM8211 is not set +# CONFIG_RTL8180 is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_MWL8K is not set +CONFIG_ATH_COMMON=m +CONFIG_ATH_CARDS=m +# CONFIG_ATH_DEBUG is not set +# CONFIG_ATH5K is not set +# CONFIG_ATH5K_PCI is not set +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K=m +CONFIG_ATH9K_PCI=y +# CONFIG_ATH9K_AHB is not set +# CONFIG_ATH9K_DEBUGFS is not set +# CONFIG_ATH9K_DYNACK is not set +# CONFIG_ATH9K_WOW is not set +CONFIG_ATH9K_RFKILL=y +# CONFIG_ATH9K_CHANNEL_CONTEXT is not set +CONFIG_ATH9K_PCOEM=y +# CONFIG_ATH9K_HTC is not set +# CONFIG_CARL9170 is not set +# CONFIG_ATH6KL is not set +# CONFIG_AR5523 is not set +# CONFIG_WIL6210 is not set +# CONFIG_ATH10K is not set +# CONFIG_WCN36XX is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_IPW2100 is not set +# CONFIG_IPW2200 is not set +# CONFIG_IWLWIFI is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +# CONFIG_LIBERTAS is not set +# CONFIG_HERMES is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192EE is not set +# CONFIG_RTL8821AE is not set +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_VMXNET3 is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +# CONFIG_SERIO_PCIPS2 is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set +# CONFIG_GAMEPORT_EMU10K1 is not set +# CONFIG_GAMEPORT_FM801 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_NOZOMI is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_JSM 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_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_DEVPORT=y +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# 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_DESIGNWARE_PCI is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_VX855 is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_RDC321X is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_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_MAX1586 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PFUZE100 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_TPS6524X 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_RC_SUPPORT is not set +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_ADF is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_PCI=y +# CONFIG_SND_AD1889 is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SE6X is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VIRTUOSO is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set + +# +# HD-Audio +# +# CONFIG_SND_HDA_INTEL is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME 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=y +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_PRODIKEYS is not set +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# 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_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=y +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_HIDPP is not set +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set +# CONFIG_LOGIWHEELS_FF is not set +# CONFIG_HID_MAGICMOUSE is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +# CONFIG_HID_MULTITOUCH 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_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_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_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 + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_UHCI_HCD 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 + +# +# 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 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_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=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FTDI_SIO is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=y +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +CONFIG_USB_SERIAL_DEBUG=y + +# +# 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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_LED_TRIG is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV300_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC 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_TOSHIBA_PCI 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 + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTL8192U is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set +# CONFIG_FB_SM750 is not set +# CONFIG_FB_XGI is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +CONFIG_ASHMEM=y +# CONFIG_ANDROID_LOGGER is not set +CONFIG_ANDROID_TIMED_OUTPUT=y +# CONFIG_ANDROID_TIMED_GPIO is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +CONFIG_SYNC=y +CONFIG_SW_SYNC=y +CONFIG_SW_SYNC_USER=y +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGNC is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +CONFIG_OF_IOMMU=y +CONFIG_HISI_IOMMU_API=y +CONFIG_HISI_IOMMU=y +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +# CONFIG_DEVFREQ_GOV_USERSPACE is not set + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_NTB is not set +# CONFIG_VME_BUS is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +CONFIG_RAS=y +# CONFIG_THUNDERBOLT is not set + +# +# Android +# +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_BINDER_DEVICES="binder" +CONFIG_ANDROID_BINDER_IPC_32BIT=y +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_SWITCH is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +# CONFIG_JOLIET is not set +# CONFIG_ZISOFS is not set +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_SDCARD_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +CONFIG_PAGE_EXTENSION=y +CONFIG_DEBUG_PAGEALLOC=y +CONFIG_PAGE_POISONING=y +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +CONFIG_LOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR_OTHER_CPU=y +CONFIG_HARDLOCKUP_DETECTOR=y +# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1 +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +CONFIG_TEST_UDELAY=m +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_HIFN_795X is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3796mv200_loader_defconfig b/arch/arm/configs/hi3796mv200_loader_defconfig new file mode 100644 index 000000000..f3caf741b --- /dev/null +++ b/arch/arm/configs/hi3796mv200_loader_defconfig @@ -0,0 +1,2430 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_hi3796mv200" +# CONFIG_LOCALVERSION_AUTO is not set +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 is not set +CONFIG_KERNEL_LZMA=y +# 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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_HZ_PERIODIC=y +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NO_HZ_FULL is not set +# CONFIG_NO_HZ is not set +# CONFIG_HIGH_RES_TIMERS is not set + +# +# 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_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_NAMESPACES is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +CONFIG_RD_LZMA=y +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +# CONFIG_UID16 is not set +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +# CONFIG_BUG is not set +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +# CONFIG_EPOLL is not set +CONFIG_SIGNALFD=y +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_AIO is not set +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# CONFIG_VM_EVENT_COUNTERS is not set +# 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_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +CONFIG_TRACEPOINTS=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_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_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_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_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +CONFIG_ARCH_HI3796MV2X=y +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=500 + +# +# HI3796MV2X board feature +# +CONFIG_MACH_HI3796MV2X=y +# CONFIG_HI3796MV2X_FPGA is not set + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# 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 is not set +# CONFIG_VMSPLIT_3G_OPT is not set +CONFIG_VMSPLIT_2G=y +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0x80000000 +CONFIG_NR_CPUS=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +# CONFIG_SCHED_HRTICK is not set +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +# CONFIG_HIGHPTE is not set +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +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=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +# CONFIG_IDLE_PAGE_TRACKING 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_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3796mv200" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_STAT_DETAILS is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=95 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# 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 + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_WAKELOCK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +CONFIG_PM_DEBUG=y +# CONFIG_PM_ADVANCED_DEBUG is not set +CONFIG_PM_SLEEP_DEBUG=y +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG 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 is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_NET_IP_TUNNEL is not set +# CONFIG_IP_MROUTE is not set +CONFIG_SYN_COOKIES=y +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_WIRELESS is not set +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_RFKILL_REGULATOR 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +# CONFIG_PCIE_HISILICON is not set + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +# CONFIG_SUPPORT_SRAM_MANAGER is not set +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +CONFIG_SUPPORT_DSP_RUN_MEM=y +CONFIG_DSP_RUN_MEM_ADDR=0x7000000 +CONFIG_DSP_RUN_MEM_SIZE=0x1000000 +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_HISI_EXT4_TMP_QUIRK is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +CONFIG_REGULATOR=y +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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 +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# 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 is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_ZRAM is not set +# CONFIG_BLK_DEV_COW_COMMON 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=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_VXLAN is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_EMAC_ROCKCHIP is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS 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 is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC=y +CONFIG_HIGMAC_DESC_4WORD=y +CONFIG_HIGMAC_RXCSUM=y +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_ETHOC is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +CONFIG_HISILICON_PHY=y +# CONFIG_FIXED_PHY 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_BCM_UNIMAC 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_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +# CONFIG_INPUT is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_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_MAX1586 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PFUZE100 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_TPS6524X is not set +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set +# CONFIG_LOGO is not set +# CONFIG_SOUND is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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_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_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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV300_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI 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_MTK is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +CONFIG_ANDROID_TIMED_OUTPUT=y +# CONFIG_ANDROID_TIMED_GPIO is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +CONFIG_OF_IOMMU=y +CONFIG_HISI_IOMMU_API=y +CONFIG_HISI_IOMMU=y +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +# CONFIG_DEVFREQ_GOV_USERSPACE is not set + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_SWITCH is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# 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_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_UBIFS_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +# CONFIG_SQUASHFS is not set +# 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_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +# CONFIG_ROOT_NFS is not set +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC 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_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +CONFIG_LOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR_OTHER_CPU=y +CONFIG_HARDLOCKUP_DETECTOR=y +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1 +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +# CONFIG_DEBUG_USER is not set +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +# CONFIG_ENCRYPTED_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_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST 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_SEQIV is not set +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF 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_SHA256=m +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set + +# +# Certificates for signature checking +# +# CONFIG_SYSTEM_TRUSTED_KEYRING is not set +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +# CONFIG_CRC_CCITT 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_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_XZ_DEC is not set +# CONFIG_XZ_DEC_BCJ is not set +CONFIG_DECOMPRESS_LZMA=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3798cv200_android_defconfig b/arch/arm/configs/hi3798cv200_android_defconfig new file mode 100644 index 000000000..0cf8e57e9 --- /dev/null +++ b/arch/arm/configs/hi3798cv200_android_defconfig @@ -0,0 +1,4347 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_hi3798cv2x" +# CONFIG_LOCALVERSION_AUTO is not set +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=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_FHANDLE is not set +CONFIG_USELIB=y +CONFIG_AUDIT=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUDIT_TREE=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_PCI_QUIRKS=y +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +CONFIG_ARCH_HI3798CV2X=y +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 + +# +# HI3798CV2X board feature +# +CONFIG_MACH_HI3798CV2X=y +# CONFIG_HI3798CV2X_FPGA is not set + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +CONFIG_PCI=y +# CONFIG_PCI_DOMAINS_GENERIC is not set +CONFIG_PCI_SYSCALL=y +# CONFIG_PCI_MSI is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set + +# +# PCI host controller drivers +# +CONFIG_PCIE_DW=y +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCIE_IPROC is not set +# CONFIG_PCIE_ALTERA is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# 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=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_CLEANCACHE is not set +# CONFIG_FRONTSWAP is not set +CONFIG_CMA=y +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_AREAS=7 +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +CONFIG_ZSMALLOC=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_SECCOMP=y +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798cv200" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=95 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +# CONFIG_HIBERNATION is not set +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS 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 is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +CONFIG_IP_ROUTE_CLASSID=y +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_NET_IP_TUNNEL=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +# CONFIG_IPV6_MROUTE is not set +# CONFIG_NETLABEL is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +CONFIG_NETWORK_SECMARK=y +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_DEBUG=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +# CONFIG_NETFILTER_NETLINK_ACCT is not set +CONFIG_NETFILTER_NETLINK_QUEUE=y +CONFIG_NETFILTER_NETLINK_LOG=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_MARK=y +# CONFIG_NF_CONNTRACK_SECMARK is not set +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CONNTRACK_TIMEOUT is not set +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_GRE=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_CONNTRACK_AMANDA=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_CONNTRACK_H323=y +CONFIG_NF_CONNTRACK_IRC=y +CONFIG_NF_CONNTRACK_BROADCAST=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=y +CONFIG_NF_CONNTRACK_SNMP=y +CONFIG_NF_CONNTRACK_PPTP=y +CONFIG_NF_CONNTRACK_SANE=y +CONFIG_NF_CONNTRACK_SIP=y +CONFIG_NF_CONNTRACK_TFTP=y +CONFIG_NF_CT_NETLINK=y +# CONFIG_NF_CT_NETLINK_TIMEOUT is not set +# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set +CONFIG_NF_NAT=y +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_PROTO_DCCP=y +CONFIG_NF_NAT_PROTO_UDPLITE=y +CONFIG_NF_NAT_PROTO_SCTP=y +CONFIG_NF_NAT_AMANDA=y +CONFIG_NF_NAT_FTP=y +CONFIG_NF_NAT_IRC=y +CONFIG_NF_NAT_SIP=y +CONFIG_NF_NAT_TFTP=y +CONFIG_NF_NAT_REDIRECT=y +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=y +CONFIG_NETFILTER_XT_CONNMARK=y + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y +# CONFIG_NETFILTER_XT_TARGET_CT is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_HL=y +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y +# CONFIG_NETFILTER_XT_TARGET_LOG is not set +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_NAT=y +CONFIG_NETFILTER_XT_TARGET_NETMAP=y +CONFIG_NETFILTER_XT_TARGET_NFLOG=y +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_RATEEST=y +CONFIG_NETFILTER_XT_TARGET_REDIRECT=y +CONFIG_NETFILTER_XT_TARGET_TEE=y +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETFILTER_XT_TARGET_TRACE is not set +# CONFIG_NETFILTER_XT_TARGET_SECMARK is not set +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +CONFIG_NETFILTER_XT_MATCH_CLUSTER=y +CONFIG_NETFILTER_XT_MATCH_COMMENT=y +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_CPU=y +CONFIG_NETFILTER_XT_MATCH_DCCP=y +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y +CONFIG_NETFILTER_XT_MATCH_DSCP=y +CONFIG_NETFILTER_XT_MATCH_ECN=y +CONFIG_NETFILTER_XT_MATCH_ESP=y +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y +CONFIG_NETFILTER_XT_MATCH_HELPER=y +CONFIG_NETFILTER_XT_MATCH_HL=y +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_IPVS=y +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +CONFIG_NETFILTER_XT_MATCH_LENGTH=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +CONFIG_NETFILTER_XT_MATCH_MARK=y +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +CONFIG_NETFILTER_XT_MATCH_OSF=y +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +CONFIG_NETFILTER_XT_MATCH_POLICY=y +# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y +CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y +# CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG is not set +CONFIG_NETFILTER_XT_MATCH_RATEEST=y +CONFIG_NETFILTER_XT_MATCH_REALM=y +CONFIG_NETFILTER_XT_MATCH_RECENT=y +CONFIG_NETFILTER_XT_MATCH_SCTP=y +CONFIG_NETFILTER_XT_MATCH_SOCKET=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y +CONFIG_NETFILTER_XT_MATCH_STRING=y +CONFIG_NETFILTER_XT_MATCH_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_TIME=y +CONFIG_NETFILTER_XT_MATCH_U32=y +# CONFIG_IP_SET is not set +CONFIG_IP_VS=y +# CONFIG_IP_VS_IPV6 is not set +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +# CONFIG_IP_VS_PROTO_TCP is not set +# CONFIG_IP_VS_PROTO_UDP is not set +# CONFIG_IP_VS_PROTO_AH_ESP is not set +# CONFIG_IP_VS_PROTO_ESP is not set +# CONFIG_IP_VS_PROTO_AH is not set +# CONFIG_IP_VS_PROTO_SCTP is not set + +# +# IPVS scheduler +# +# CONFIG_IP_VS_RR is not set +# CONFIG_IP_VS_WRR is not set +# CONFIG_IP_VS_LC is not set +# CONFIG_IP_VS_WLC is not set +# CONFIG_IP_VS_FO is not set +# CONFIG_IP_VS_OVF is not set +# CONFIG_IP_VS_LBLC is not set +# CONFIG_IP_VS_LBLCR is not set +# CONFIG_IP_VS_DH is not set +# CONFIG_IP_VS_SH is not set +# CONFIG_IP_VS_SED is not set +# CONFIG_IP_VS_NQ is not set + +# +# IPVS SH scheduler +# +CONFIG_IP_VS_SH_TAB_BITS=8 + +# +# IPVS application helper +# +# CONFIG_IP_VS_NFCT is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_NF_DUP_IPV4=y +# CONFIG_NF_LOG_ARP is not set +# CONFIG_NF_LOG_IPV4 is not set +CONFIG_NF_REJECT_IPV4=y +CONFIG_NF_NAT_IPV4=y +CONFIG_NF_NAT_MASQUERADE_IPV4=y +CONFIG_NF_NAT_SNMP_BASIC=y +CONFIG_NF_NAT_PROTO_GRE=y +CONFIG_NF_NAT_PPTP=y +CONFIG_NF_NAT_H323=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MATCH_AH=y +CONFIG_IP_NF_MATCH_ECN=y +# CONFIG_IP_NF_MATCH_RPFILTER is not set +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +# 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=y +CONFIG_IP_NF_TARGET_ECN=y +CONFIG_IP_NF_TARGET_TTL=y +CONFIG_IP_NF_RAW=y +# CONFIG_IP_NF_SECURITY is not set +CONFIG_IP_NF_ARPTABLES=y +CONFIG_IP_NF_ARPFILTER=y +CONFIG_IP_NF_ARP_MANGLE=y + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=y +CONFIG_NF_CONNTRACK_IPV6=y +CONFIG_NF_DUP_IPV6=y +CONFIG_NF_REJECT_IPV6=y +# CONFIG_NF_LOG_IPV6 is not set +CONFIG_NF_NAT_IPV6=y +CONFIG_NF_NAT_MASQUERADE_IPV6=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_MATCH_AH=y +CONFIG_IP6_NF_MATCH_EUI64=y +CONFIG_IP6_NF_MATCH_FRAG=y +CONFIG_IP6_NF_MATCH_OPTS=y +CONFIG_IP6_NF_MATCH_HL=y +CONFIG_IP6_NF_MATCH_IPV6HEADER=y +CONFIG_IP6_NF_MATCH_MH=y +CONFIG_IP6_NF_MATCH_RPFILTER=y +CONFIG_IP6_NF_MATCH_RT=y +CONFIG_IP6_NF_TARGET_HL=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_TARGET_REJECT=y +# CONFIG_IP6_NF_TARGET_SYNPROXY is not set +CONFIG_IP6_NF_MANGLE=y +CONFIG_IP6_NF_RAW=y +# CONFIG_IP6_NF_SECURITY is not set +CONFIG_IP6_NF_NAT=y +CONFIG_IP6_NF_TARGET_MASQUERADE=y +CONFIG_IP6_NF_TARGET_NPT=y +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=y +CONFIG_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +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_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=y +CONFIG_NET_SCH_HTB=y +CONFIG_NET_SCH_HFSC=y +CONFIG_NET_SCH_PRIO=y +CONFIG_NET_SCH_MULTIQ=y +CONFIG_NET_SCH_RED=y +CONFIG_NET_SCH_SFB=y +CONFIG_NET_SCH_SFQ=y +CONFIG_NET_SCH_TEQL=y +CONFIG_NET_SCH_TBF=y +CONFIG_NET_SCH_GRED=y +CONFIG_NET_SCH_DSMARK=y +CONFIG_NET_SCH_NETEM=y +CONFIG_NET_SCH_DRR=y +CONFIG_NET_SCH_MQPRIO=y +CONFIG_NET_SCH_CHOKE=y +CONFIG_NET_SCH_QFQ=y +CONFIG_NET_SCH_CODEL=y +CONFIG_NET_SCH_FQ_CODEL=y +# CONFIG_NET_SCH_FQ is not set +# CONFIG_NET_SCH_HHF is not set +# CONFIG_NET_SCH_PIE is not set +CONFIG_NET_SCH_INGRESS=y +CONFIG_NET_SCH_PLUG=y + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=y +CONFIG_NET_CLS_TCINDEX=y +CONFIG_NET_CLS_ROUTE4=y +CONFIG_NET_CLS_FW=y +CONFIG_NET_CLS_U32=y +CONFIG_CLS_U32_PERF=y +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_RSVP=y +CONFIG_NET_CLS_RSVP6=y +CONFIG_NET_CLS_FLOW=y +# CONFIG_NET_CLS_BPF is not set +# CONFIG_NET_CLS_FLOWER is not set +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_CMP=y +CONFIG_NET_EMATCH_NBYTE=y +CONFIG_NET_EMATCH_U32=y +CONFIG_NET_EMATCH_META=y +CONFIG_NET_EMATCH_TEXT=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=y +CONFIG_NET_ACT_GACT=y +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=y +CONFIG_NET_ACT_IPT=y +CONFIG_NET_ACT_NAT=y +CONFIG_NET_ACT_PEDIT=y +CONFIG_NET_ACT_SIMP=y +CONFIG_NET_ACT_SKBEDIT=y +CONFIG_NET_ACT_CSUM=y +# CONFIG_NET_ACT_VLAN is not set +# CONFIG_NET_ACT_BPF is not set +# CONFIG_NET_ACT_CONNMARK is not set +CONFIG_NET_CLS_IND=y +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +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_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_AF_RXRPC is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +CONFIG_LIB80211=y +CONFIG_LIB80211_CRYPT_WEP=y +CONFIG_LIB80211_CRYPT_CCMP=y +CONFIG_LIB80211_CRYPT_TKIP=y +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +# CONFIG_MAC80211_LEDS is not set +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_REGULATOR is not set +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +CONFIG_VIRTUAL_INPUT=y +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +CONFIG_PCIE_HISILICON=y +CONFIG_PCIE_PME_IRQ=0xa2 +CONFIG_PCIE_DMA_ADDR_READ=0x0 +CONFIG_PCIE_DMA_SIZE_READ=0x0 +CONFIG_PCIE_DMA_ADDR_WRITE=0x0 +CONFIG_PCIE_DMA_SIZE_WRITE=0x0 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_HISI_EXT4_TMP_QUIRK is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +CONFIG_USB_OTG_HISI=y +# CONFIG_CPU_IDLE_HI3798CV2X is not set +# CONFIG_TEE is not set +CONFIG_REGULATOR=y +CONFIG_REGULATOR_HI3798CV200=y +CONFIG_HASH_VRF_DEV=y + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +CONFIG_FW_LOADER_USER_HELPER=y +CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_SWAP is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_PCI is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_RICOH is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_CAFE is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_OF_MTD=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_BLK_DEV_PCIESSD_MTIP32XX is not set +CONFIG_ZRAM=y +# CONFIG_ZRAM_LZ4_COMPRESS is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_SX8 is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=409600 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set +# CONFIG_BLK_DEV_NVME is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=y +CONFIG_BLK_DEV_SR_VENDOR=y +# 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 +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +# CONFIG_SATA_AHCI is not set +CONFIG_SATA_AHCI_PLATFORM=m +# CONFIG_AHCI_CEVA is not set +# CONFIG_AHCI_QORIQ is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +CONFIG_MD=y +# CONFIG_BLK_DEV_MD is not set +# CONFIG_BCACHE is not set +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DM=y +# CONFIG_DM_MQ_DEFAULT is not set +# CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=y +CONFIG_DM_CRYPT=y +CONFIG_DM_SNAPSHOT=y +# CONFIG_DM_THIN_PROVISIONING is not set +# CONFIG_DM_CACHE is not set +# CONFIG_DM_ERA is not set +# CONFIG_DM_MIRROR is not set +# CONFIG_DM_RAID is not set +# CONFIG_DM_ZERO is not set +# CONFIG_DM_MULTIPATH is not set +# CONFIG_DM_DELAY is not set +# CONFIG_DM_UEVENT is not set +# CONFIG_DM_FLAKEY is not set +# CONFIG_DM_VERITY is not set +# CONFIG_DM_SWITCH is not set +# CONFIG_DM_LOG_WRITES is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC is not set +# CONFIG_IFB 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_TUN=y +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set +# CONFIG_ARCNET is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +# CONFIG_TYPHOON is not set +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +# CONFIG_ET131X is not set +CONFIG_NET_VENDOR_ALTEON=y +# CONFIG_ACENIC is not set +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_EMAC_ROCKCHIP is not set +CONFIG_NET_VENDOR_ATHEROS=y +# CONFIG_ATL2 is not set +# CONFIG_ATL1 is not set +# CONFIG_ATL1E is not set +# CONFIG_ATL1C is not set +# CONFIG_ALX is not set +# CONFIG_NET_VENDOR_AURORA is not set +CONFIG_NET_CADENCE=y +# CONFIG_MACB is not set +CONFIG_NET_VENDOR_BROADCOM=y +# CONFIG_B44 is not set +# CONFIG_BCMGENET is not set +# CONFIG_BNX2 is not set +# CONFIG_CNIC is not set +# CONFIG_TIGON3 is not set +# CONFIG_BNX2X is not set +# CONFIG_SYSTEMPORT is not set +# CONFIG_BNXT is not set +CONFIG_NET_VENDOR_BROCADE=y +# CONFIG_BNA is not set +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_CHELSIO_T4 is not set +# CONFIG_CHELSIO_T4VF is not set +CONFIG_NET_VENDOR_CIRRUS=y +# CONFIG_CS89x0 is not set +CONFIG_NET_VENDOR_CISCO=y +# CONFIG_ENIC is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +# CONFIG_DL2K is not set +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +# CONFIG_BE2NET is not set +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_EXAR=y +# CONFIG_S2IO is not set +# CONFIG_VXGE is not set +CONFIG_NET_VENDOR_FARADAY=y +# CONFIG_FTMAC100 is not set +# CONFIG_FTGMAC100 is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC=y +# CONFIG_HIGMAC_DESC_4WORD is not set +# CONFIG_HIGMAC_RXCSUM is not set +CONFIG_NET_VENDOR_HP=y +# CONFIG_HP100 is not set +CONFIG_NET_VENDOR_INTEL=y +# CONFIG_E100 is not set +# CONFIG_E1000 is not set +# CONFIG_E1000E is not set +# CONFIG_IGB is not set +# CONFIG_IGBVF is not set +# CONFIG_IXGB is not set +# CONFIG_IXGBE is not set +# CONFIG_I40E is not set +CONFIG_NET_VENDOR_I825XX=y +# CONFIG_JME is not set +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +# CONFIG_SKGE is not set +# CONFIG_SKY2 is not set +CONFIG_NET_VENDOR_MELLANOX=y +# CONFIG_MLX4_EN is not set +# CONFIG_MLX4_CORE is not set +# CONFIG_MLX5_CORE is not set +# CONFIG_MLXSW_CORE is not set +CONFIG_NET_VENDOR_MICREL=y +# CONFIG_KS8851 is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_KSZ884X_PCI is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +CONFIG_NET_VENDOR_NATSEMI=y +# CONFIG_NATSEMI is not set +# CONFIG_NS83820 is not set +CONFIG_NET_VENDOR_8390=y +# CONFIG_AX88796 is not set +# CONFIG_NE2K_PCI is not set +CONFIG_NET_VENDOR_NVIDIA=y +# CONFIG_FORCEDETH is not set +CONFIG_NET_VENDOR_OKI=y +# CONFIG_ETHOC is not set +CONFIG_NET_PACKET_ENGINE=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +CONFIG_NET_VENDOR_QLOGIC=y +# CONFIG_QLA3XXX is not set +# CONFIG_QLCNIC is not set +# CONFIG_QLGE is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_QED is not set +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000 is not set +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +# CONFIG_R8169 is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +# CONFIG_SXGBE_ETH is not set +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +# CONFIG_SFC is not set +CONFIG_NET_VENDOR_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_EPIC100 is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +# CONFIG_SMSC9420 is not set +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TI_CPSW_ALE is not set +# CONFIG_TLAN is not set +CONFIG_NET_VENDOR_VIA=y +# CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set +CONFIG_NET_VENDOR_WIZNET=y +# CONFIG_WIZNET_W5100 is not set +# CONFIG_WIZNET_W5300 is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOE=y +CONFIG_PPPOLAC=y +CONFIG_PPPOPNS=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_IPHETH is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_ATMEL is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_PRISM54 is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_ADM8211 is not set +# CONFIG_RTL8180 is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_MWL8K is not set +# CONFIG_ATH_CARDS is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +CONFIG_HOSTAP=y +# CONFIG_HOSTAP_FIRMWARE is not set +# CONFIG_HOSTAP_PLX is not set +# CONFIG_HOSTAP_PCI is not set +# CONFIG_IPW2100 is not set +# CONFIG_IPW2200 is not set +# CONFIG_IWLWIFI is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +# CONFIG_LIBERTAS is not set +# CONFIG_HERMES is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192EE is not set +# CONFIG_RTL8821AE is not set +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_VMXNET3 is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +# CONFIG_SERIO_PCIPS2 is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set +# CONFIG_GAMEPORT_EMU10K1 is not set +# CONFIG_GAMEPORT_FM801 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_NOZOMI is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +# CONFIG_DEVMEM 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_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_JSM 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_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_DEVPORT=y +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# 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_DESIGNWARE_PCI is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_VX855 is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_RDC321X is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +# CONFIG_APM_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SBS is not set +# CONFIG_BATTERY_BQ27XXX 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_BQ2415X is not set +# CONFIG_CHARGER_BQ24190 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_POWER_RESET is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_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_MAX1586 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PFUZE100 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_TPS6524X 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_RC_SUPPORT is not set +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_DEFERRED_IO=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_ADF is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_PCI=y +# CONFIG_SND_AD1889 is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SE6X is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VIRTUOSO is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set + +# +# HD-Audio +# +# CONFIG_SND_HDA_INTEL is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME is not set + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +CONFIG_HIDRAW=y +CONFIG_UHID=y +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +CONFIG_HID_A4TECH=y +CONFIG_HID_ACRUX=y +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=y +CONFIG_HID_APPLEIR=y +CONFIG_HID_AUREAL=y +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +CONFIG_HID_PRODIKEYS=y +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +CONFIG_HID_DRAGONRISE=y +CONFIG_DRAGONRISE_FF=y +CONFIG_HID_EMS_FF=y +CONFIG_HID_ELECOM=y +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +CONFIG_HID_HOLTEK=y +CONFIG_HOLTEK_FF=y +# CONFIG_HID_GT683R is not set +CONFIG_HID_KEYTOUCH=y +CONFIG_HID_KYE=y +CONFIG_HID_UCLOGIC=y +CONFIG_HID_WALTOP=y +CONFIG_HID_GYRATION=y +CONFIG_HID_ICADE=y +CONFIG_HID_TWINHAN=y +CONFIG_HID_KENSINGTON=y +CONFIG_HID_LCPOWER=y +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +CONFIG_HID_LOGITECH_DJ=y +CONFIG_HID_LOGITECH_HIDPP=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_HID_MAGICMOUSE=y +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_MULTITOUCH=y +CONFIG_HID_NTRIG=y +CONFIG_HID_ORTEK=y +CONFIG_HID_PANTHERLORD=y +CONFIG_PANTHERLORD_FF=y +# CONFIG_HID_PENMOUNT is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_PICOLCD=y +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_LEDS=y +# CONFIG_HID_PLANTRONICS is not set +CONFIG_HID_PRIMAX=y +CONFIG_HID_ROCCAT=y +CONFIG_HID_SAITEK=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +# CONFIG_SONY_FF is not set +CONFIG_HID_SPEEDLINK=y +CONFIG_HID_STEELSERIES=y +CONFIG_HID_SUNPLUS=y +# CONFIG_HID_RMI is not set +CONFIG_HID_GREENASIA=y +CONFIG_GREENASIA_FF=y +CONFIG_HID_SMARTJOYPLUS=y +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_HID_TIVO=y +CONFIG_HID_TOPSEED=y +CONFIG_HID_THINGM=y +CONFIG_HID_THRUSTMASTER=y +CONFIG_THRUSTMASTER_FF=y +CONFIG_HID_WACOM=y +CONFIG_HID_WIIMOTE=y +# CONFIG_HID_XINMO is not set +CONFIG_HID_ZEROPLUS=y +CONFIG_ZEROPLUS_FF=y +CONFIG_HID_ZYDACRON=y +CONFIG_HID_SENSOR_HUB=y +# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +CONFIG_USB_HIDDEV=y + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_UHCI_HCD 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 + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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=y +# CONFIG_USB_SERIAL_CONSOLE is not set +# CONFIG_USB_SERIAL_GENERIC is not set +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FTDI_SIO is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +# CONFIG_USB_SERIAL_PL2303 is not set +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 + +# +# USB Peripheral Controller +# +# CONFIG_USB_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_HISI_UDC=y +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_F_FS=y +# CONFIG_USB_CONFIGFS is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_AUDIO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_G_NCM is not set +# CONFIG_USB_GADGETFS is not set +CONFIG_USB_FUNCTIONFS=y +# CONFIG_USB_FUNCTIONFS_ETH is not set +# CONFIG_USB_FUNCTIONFS_RNDIS is not set +CONFIG_USB_FUNCTIONFS_GENERIC=y +# CONFIG_USB_MASS_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +# CONFIG_USB_G_HID is not set +# CONFIG_USB_G_DBGP is not set +# CONFIG_USB_G_WEBCAM is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC 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_TOSHIBA_PCI 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 + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +# CONFIG_LEDS_TRIGGERS is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_HCTOSYS is not set +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS3232 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_ISL12057 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF85063 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_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set +# CONFIG_RTC_DRV_RV8803 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_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_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_DS3234 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_MCP795 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PL030 is not set +# CONFIG_RTC_DRV_PL031 is not set +# CONFIG_RTC_DRV_SNVS is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTL8192U is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set +# CONFIG_FB_SM750 is not set +# CONFIG_FB_XGI is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +CONFIG_ASHMEM=y +# CONFIG_ANDROID_LOGGER is not set +CONFIG_ANDROID_TIMED_OUTPUT=y +# CONFIG_ANDROID_TIMED_GPIO is not set +CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_ANDROID_LOW_MEMORY_KILLER_AUTODETECT_OOM_ADJ_VALUES=y +# CONFIG_ANDROID_INTF_ALARM_DEV is not set +CONFIG_SYNC=y +CONFIG_SW_SYNC=y +CONFIG_SW_SYNC_USER=y +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGNC is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +CONFIG_OF_IOMMU=y +CONFIG_HISI_IOMMU_API=y +CONFIG_HISI_IOMMU=y +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +# CONFIG_DEVFREQ_GOV_USERSPACE is not set + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_NTB is not set +# CONFIG_VME_BUS is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +CONFIG_RAS=y +# CONFIG_THUNDERBOLT is not set + +# +# Android +# +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_BINDER_DEVICES="binder" +CONFIG_ANDROID_BINDER_IPC_32BIT=y +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_SWITCH is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +CONFIG_SDCARD_FS=y +# 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_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN 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_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XZ 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_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +CONFIG_CIFS=y +# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_XATTR is not set +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_SMB2 is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_MEMORY_INIT=y + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_STACKTRACE=y +CONFIG_DEBUG_BUGVERBOSE=y + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +CONFIG_SECURITY=y +# CONFIG_SECURITYFS is not set +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +# CONFIG_SECURITY_PATH is not set +CONFIG_LSM_MMAP_MIN_ADDR=32768 +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 +# CONFIG_SECURITY_SELINUX_DISABLE is not set +CONFIG_SECURITY_SELINUX_DEVELOP=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set +# CONFIG_SECURITY_SMACK is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SECURITY_APPARMOR is not set +# CONFIG_SECURITY_YAMA is not set +CONFIG_INTEGRITY=y +CONFIG_INTEGRITY_AUDIT=y +# CONFIG_IMA is not set +# CONFIG_EVM is not set +CONFIG_DEFAULT_SECURITY_SELINUX=y +# CONFIG_DEFAULT_SECURITY_DAC is not set +CONFIG_DEFAULT_SECURITY="selinux" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# CONFIG_CRYPTO_POLY1305 is not set +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=y +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=y +# 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_TEA is not set +CONFIG_CRYPTO_TWOFISH=y +CONFIG_CRYPTO_TWOFISH_COMMON=y + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_HIFN_795X is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=y +# CONFIG_CRC8 is not set +CONFIG_AUDIT_GENERIC=y +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=y +CONFIG_TEXTSEARCH_BM=y +CONFIG_TEXTSEARCH_FSM=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3798cv200_defconfig b/arch/arm/configs/hi3798cv200_defconfig new file mode 100644 index 000000000..42d702042 --- /dev/null +++ b/arch/arm/configs/hi3798cv200_defconfig @@ -0,0 +1,3854 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_hi3798cv2x" +# CONFIG_LOCALVERSION_AUTO is not set +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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_PCI_QUIRKS=y +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +CONFIG_ARCH_HI3798CV2X=y +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 + +# +# HI3798CV2X board feature +# +CONFIG_MACH_HI3798CV2X=y +# CONFIG_HI3798CV2X_FPGA is not set + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +CONFIG_PCI=y +# CONFIG_PCI_DOMAINS_GENERIC is not set +CONFIG_PCI_SYSCALL=y +# CONFIG_PCI_MSI is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set + +# +# PCI host controller drivers +# +CONFIG_PCIE_DW=y +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCIE_IPROC is not set +# CONFIG_PCIE_ALTERA is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# 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=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_CLEANCACHE is not set +CONFIG_CMA=y +# 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_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798cv200" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=95 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER 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=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +# CONFIG_NETFILTER_INGRESS is not set +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_NETLINK_ACCT=y +CONFIG_NETFILTER_NETLINK_QUEUE=y +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NF_CONNTRACK is not set +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY 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_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_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS 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_COMMENT is not set +# 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_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_POLICY 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_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_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 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_TTL is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_MANGLE is not set +# CONFIG_IP_NF_RAW is not set +CONFIG_IP_NF_ARPTABLES=y +# CONFIG_IP_NF_ARPFILTER is not set +# CONFIG_IP_NF_ARP_MANGLE is not set + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 +# 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED 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_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +CONFIG_BT_DEBUGFS=y + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=y +CONFIG_BT_HCIBTUSB=y +# CONFIG_BT_HCIBTUSB_BCM is not set +# CONFIG_BT_HCIBTUSB_RTL is not set +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_AF_RXRPC is not set +CONFIG_WIRELESS=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_REGULATOR is not set +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +CONFIG_PCIE_HISILICON=y +CONFIG_PCIE_PME_IRQ=0xa2 +CONFIG_PCIE_DMA_ADDR_READ=0x0 +CONFIG_PCIE_DMA_SIZE_READ=0x0 +CONFIG_PCIE_DMA_ADDR_WRITE=0x0 +CONFIG_PCIE_DMA_SIZE_WRITE=0x0 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_HISI_EXT4_TMP_QUIRK is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_CPU_IDLE_HI3798CV2X is not set +# CONFIG_TEE is not set +CONFIG_REGULATOR=y +CONFIG_REGULATOR_HI3798CV200=y +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_PCI is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_RICOH is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_CAFE is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_OF_MTD=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_BLK_DEV_PCIESSD_MTIP32XX is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_SX8 is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set +# CONFIG_BLK_DEV_NVME is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +# CONFIG_SATA_AHCI is not set +CONFIG_SATA_AHCI_PLATFORM=m +# CONFIG_AHCI_CEVA is not set +# CONFIG_AHCI_QORIQ is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# CONFIG_ARCNET is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +# CONFIG_TYPHOON is not set +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +# CONFIG_ET131X is not set +CONFIG_NET_VENDOR_ALTEON=y +# CONFIG_ACENIC is not set +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +# CONFIG_NET_VENDOR_ARC is not set +CONFIG_NET_VENDOR_ATHEROS=y +# CONFIG_ATL2 is not set +# CONFIG_ATL1 is not set +# CONFIG_ATL1E is not set +# CONFIG_ATL1C is not set +# CONFIG_ALX is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +CONFIG_NET_VENDOR_BROCADE=y +# CONFIG_BNA is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +CONFIG_NET_VENDOR_CHELSIO=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_CHELSIO_T4 is not set +# CONFIG_CHELSIO_T4VF is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +CONFIG_NET_VENDOR_CISCO=y +# CONFIG_ENIC is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +# CONFIG_DL2K is not set +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +# CONFIG_BE2NET is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +CONFIG_NET_VENDOR_EXAR=y +# CONFIG_S2IO is not set +# CONFIG_VXGE is not set +# CONFIG_NET_VENDOR_FARADAY is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC=y +# CONFIG_HIGMAC_DESC_4WORD is not set +# CONFIG_HIGMAC_RXCSUM is not set +CONFIG_NET_VENDOR_HP=y +# CONFIG_HP100 is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_JME is not set +# CONFIG_NET_VENDOR_MARVELL is not set +CONFIG_NET_VENDOR_MELLANOX=y +# CONFIG_MLX4_EN is not set +# CONFIG_MLX4_CORE is not set +# CONFIG_MLX5_CORE is not set +# CONFIG_MLXSW_CORE is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +CONFIG_NET_VENDOR_NVIDIA=y +# CONFIG_FORCEDETH is not set +CONFIG_NET_VENDOR_OKI=y +# CONFIG_ETHOC is not set +CONFIG_NET_PACKET_ENGINE=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +CONFIG_NET_VENDOR_QLOGIC=y +# CONFIG_QLA3XXX is not set +# CONFIG_QLCNIC is not set +# CONFIG_QLGE is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_QED is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +# CONFIG_R8169 is not set +# CONFIG_NET_VENDOR_RENESAS is not set +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 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_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +# CONFIG_SFC is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TI_CPSW_ALE is not set +# CONFIG_TLAN is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +# CONFIG_PPP_MPPE is not set +CONFIG_PPP_MULTILINK=y +# CONFIG_PPPOE is not set +# CONFIG_PPPOLAC is not set +# CONFIG_PPPOPNS is not set +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_IPHETH is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_ATMEL is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_PRISM54 is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_ADM8211 is not set +# CONFIG_RTL8180 is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_MWL8K is not set +CONFIG_ATH_COMMON=m +CONFIG_ATH_CARDS=m +# CONFIG_ATH_DEBUG is not set +# CONFIG_ATH5K is not set +# CONFIG_ATH5K_PCI is not set +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K=m +CONFIG_ATH9K_PCI=y +# CONFIG_ATH9K_AHB is not set +# CONFIG_ATH9K_DEBUGFS is not set +# CONFIG_ATH9K_DYNACK is not set +# CONFIG_ATH9K_WOW is not set +CONFIG_ATH9K_RFKILL=y +# CONFIG_ATH9K_CHANNEL_CONTEXT is not set +CONFIG_ATH9K_PCOEM=y +# CONFIG_ATH9K_HTC is not set +# CONFIG_CARL9170 is not set +# CONFIG_ATH6KL is not set +# CONFIG_AR5523 is not set +# CONFIG_WIL6210 is not set +# CONFIG_ATH10K is not set +# CONFIG_WCN36XX is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_IPW2100 is not set +# CONFIG_IPW2200 is not set +# CONFIG_IWLWIFI is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +# CONFIG_LIBERTAS is not set +# CONFIG_HERMES is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192EE is not set +# CONFIG_RTL8821AE is not set +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_VMXNET3 is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_LEDS is not set +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +# CONFIG_SERIO_PCIPS2 is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set +# CONFIG_GAMEPORT_EMU10K1 is not set +# CONFIG_GAMEPORT_FM801 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_NOZOMI is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_JSM 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_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_DEVPORT=y +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# 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_DESIGNWARE_PCI is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_VX855 is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_RDC321X is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_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_MAX1586 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PFUZE100 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_TPS6524X 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_RC_SUPPORT is not set +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_ADF is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_PCI=y +# CONFIG_SND_AD1889 is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SE6X is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VIRTUOSO is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set + +# +# HD-Audio +# +# CONFIG_SND_HDA_INTEL is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME 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=y +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_PRODIKEYS is not set +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# 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_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=y +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_HIDPP is not set +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set +# CONFIG_LOGIWHEELS_FF is not set +# CONFIG_HID_MAGICMOUSE is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +# CONFIG_HID_MULTITOUCH 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_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_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_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 + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_UHCI_HCD 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 + +# +# 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 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_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=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FTDI_SIO is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=y +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +CONFIG_USB_SERIAL_DEBUG=y + +# +# 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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_LED_TRIG is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC 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_TOSHIBA_PCI 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 + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTL8192U is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set +# CONFIG_FB_SM750 is not set +# CONFIG_FB_XGI is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +CONFIG_ASHMEM=y +# CONFIG_ANDROID_LOGGER is not set +CONFIG_ANDROID_TIMED_OUTPUT=y +# CONFIG_ANDROID_TIMED_GPIO is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +CONFIG_SYNC=y +CONFIG_SW_SYNC=y +CONFIG_SW_SYNC_USER=y +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGNC is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +CONFIG_OF_IOMMU=y +CONFIG_HISI_IOMMU_API=y +CONFIG_HISI_IOMMU=y +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +# CONFIG_DEVFREQ_GOV_USERSPACE is not set + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_NTB is not set +# CONFIG_VME_BUS is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +CONFIG_RAS=y +# CONFIG_THUNDERBOLT is not set + +# +# Android +# +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_BINDER_DEVICES="binder" +CONFIG_ANDROID_BINDER_IPC_32BIT=y +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_SWITCH is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +# CONFIG_JOLIET is not set +# CONFIG_ZISOFS is not set +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_SDCARD_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1080 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_MEMORY_INIT=y + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_STACKTRACE=y +CONFIG_DEBUG_BUGVERBOSE=y + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +CONFIG_TEST_UDELAY=m +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_HIFN_795X is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3798cv200_loader_defconfig b/arch/arm/configs/hi3798cv200_loader_defconfig new file mode 100644 index 000000000..c66492ce9 --- /dev/null +++ b/arch/arm/configs/hi3798cv200_loader_defconfig @@ -0,0 +1,2417 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_hi3798cv2x" +# CONFIG_LOCALVERSION_AUTO is not set +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 is not set +CONFIG_KERNEL_LZMA=y +# 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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_HZ_PERIODIC=y +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NO_HZ_FULL is not set +# CONFIG_NO_HZ is not set +# CONFIG_HIGH_RES_TIMERS is not set + +# +# 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_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_NAMESPACES is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +CONFIG_RD_LZMA=y +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +# CONFIG_UID16 is not set +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +# CONFIG_BUG is not set +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +# CONFIG_EPOLL is not set +CONFIG_SIGNALFD=y +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_AIO is not set +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# CONFIG_VM_EVENT_COUNTERS is not set +# 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_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +CONFIG_TRACEPOINTS=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_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_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_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_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +CONFIG_ARCH_HI3798CV2X=y +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 + +# +# HI3798CV2X board feature +# +CONFIG_MACH_HI3798CV2X=y +# CONFIG_HI3798CV2X_FPGA is not set + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# 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=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +# CONFIG_SCHED_HRTICK is not set +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +# CONFIG_HIGHPTE is not set +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +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=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +# CONFIG_IDLE_PAGE_TRACKING 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_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798cv200" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_STAT_DETAILS is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=95 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# 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 + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_WAKELOCK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG 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 is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_NET_IP_TUNNEL is not set +# CONFIG_IP_MROUTE is not set +CONFIG_SYN_COOKIES=y +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_WIRELESS is not set +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_RFKILL_REGULATOR 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +# CONFIG_PCIE_HISILICON is not set + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +# CONFIG_SUPPORT_SRAM_MANAGER is not set +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_CPU_IDLE_HI3798CV2X is not set +# CONFIG_TEE is not set +CONFIG_REGULATOR=y +CONFIG_REGULATOR_HI3798CV200=y +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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 +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# 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 is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_ZRAM is not set +# CONFIG_BLK_DEV_COW_COMMON 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=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_VXLAN is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_EMAC_ROCKCHIP is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS 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 is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC=y +# CONFIG_HIGMAC_DESC_4WORD is not set +# CONFIG_HIGMAC_RXCSUM is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_ETHOC is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC 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_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +# CONFIG_INPUT is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_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_MAX1586 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PFUZE100 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_TPS6524X is not set +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set +# CONFIG_LOGO is not set +# CONFIG_SOUND is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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_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_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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI 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_MTK is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +CONFIG_ANDROID_TIMED_OUTPUT=y +# CONFIG_ANDROID_TIMED_GPIO is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +CONFIG_OF_IOMMU=y +CONFIG_HISI_IOMMU_API=y +CONFIG_HISI_IOMMU=y +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +# CONFIG_DEVFREQ_GOV_USERSPACE is not set + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# 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_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_UBIFS_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +# CONFIG_SQUASHFS is not set +# 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_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +# CONFIG_ROOT_NFS is not set +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC 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_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +# CONFIG_DEBUG_USER is not set +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +# CONFIG_ENCRYPTED_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_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST 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_SEQIV is not set +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF 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_SHA256=m +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set + +# +# Certificates for signature checking +# +# CONFIG_SYSTEM_TRUSTED_KEYRING is not set +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +# CONFIG_CRC_CCITT 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_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_XZ_DEC is not set +# CONFIG_XZ_DEC_BCJ is not set +CONFIG_DECOMPRESS_LZMA=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3798mv100_android_defconfig b/arch/arm/configs/hi3798mv100_android_defconfig new file mode 100644 index 000000000..7bea7b30a --- /dev/null +++ b/arch/arm/configs/hi3798mv100_android_defconfig @@ -0,0 +1,3814 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_FHANDLE is not set +CONFIG_USELIB=y +CONFIG_AUDIT=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUDIT_TREE=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +CONFIG_ARCH_HI3798MX=y +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 + +# +# HI3798MX board feature +# +CONFIG_MACH_HI3798MX=y + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +# CONFIG_VDSO is not set +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# CONFIG_SCHED_SMT is not set +# CONFIG_HAVE_ARM_ARCH_TIMER is not set +# CONFIG_MCPM is not set +# CONFIG_BIG_LITTLE is not set +# CONFIG_VMSPLIT_3G is not set +# CONFIG_VMSPLIT_3G_OPT is not set +CONFIG_VMSPLIT_2G=y +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0x80000000 +CONFIG_NR_CPUS=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_CLEANCACHE is not set +# CONFIG_FRONTSWAP is not set +CONFIG_CMA=y +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_AREAS=7 +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +CONFIG_ZSMALLOC=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_SECCOMP=y +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798mv100" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +# CONFIG_HIBERNATION is not set +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS 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 is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +CONFIG_IP_ROUTE_CLASSID=y +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_NET_IP_TUNNEL=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +# CONFIG_IPV6_MROUTE is not set +# CONFIG_NETLABEL is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +CONFIG_NETWORK_SECMARK=y +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_DEBUG=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +# CONFIG_NETFILTER_NETLINK_ACCT is not set +CONFIG_NETFILTER_NETLINK_QUEUE=y +CONFIG_NETFILTER_NETLINK_LOG=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_MARK=y +# CONFIG_NF_CONNTRACK_SECMARK is not set +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CONNTRACK_TIMEOUT is not set +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_GRE=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_CONNTRACK_AMANDA=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_CONNTRACK_H323=y +CONFIG_NF_CONNTRACK_IRC=y +CONFIG_NF_CONNTRACK_BROADCAST=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=y +CONFIG_NF_CONNTRACK_SNMP=y +CONFIG_NF_CONNTRACK_PPTP=y +CONFIG_NF_CONNTRACK_SANE=y +CONFIG_NF_CONNTRACK_SIP=y +CONFIG_NF_CONNTRACK_TFTP=y +CONFIG_NF_CT_NETLINK=y +# CONFIG_NF_CT_NETLINK_TIMEOUT is not set +# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set +CONFIG_NF_NAT=y +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_PROTO_DCCP=y +CONFIG_NF_NAT_PROTO_UDPLITE=y +CONFIG_NF_NAT_PROTO_SCTP=y +CONFIG_NF_NAT_AMANDA=y +CONFIG_NF_NAT_FTP=y +CONFIG_NF_NAT_IRC=y +CONFIG_NF_NAT_SIP=y +CONFIG_NF_NAT_TFTP=y +CONFIG_NF_NAT_REDIRECT=y +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=y +CONFIG_NETFILTER_XT_CONNMARK=y + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y +# CONFIG_NETFILTER_XT_TARGET_CT is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_HL=y +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y +# CONFIG_NETFILTER_XT_TARGET_LOG is not set +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_NAT=y +CONFIG_NETFILTER_XT_TARGET_NETMAP=y +CONFIG_NETFILTER_XT_TARGET_NFLOG=y +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_RATEEST=y +CONFIG_NETFILTER_XT_TARGET_REDIRECT=y +CONFIG_NETFILTER_XT_TARGET_TEE=y +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETFILTER_XT_TARGET_TRACE is not set +# CONFIG_NETFILTER_XT_TARGET_SECMARK is not set +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +CONFIG_NETFILTER_XT_MATCH_CLUSTER=y +CONFIG_NETFILTER_XT_MATCH_COMMENT=y +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_CPU=y +CONFIG_NETFILTER_XT_MATCH_DCCP=y +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y +CONFIG_NETFILTER_XT_MATCH_DSCP=y +CONFIG_NETFILTER_XT_MATCH_ECN=y +CONFIG_NETFILTER_XT_MATCH_ESP=y +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y +CONFIG_NETFILTER_XT_MATCH_HELPER=y +CONFIG_NETFILTER_XT_MATCH_HL=y +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_IPVS=y +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +CONFIG_NETFILTER_XT_MATCH_LENGTH=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +CONFIG_NETFILTER_XT_MATCH_MARK=y +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +CONFIG_NETFILTER_XT_MATCH_OSF=y +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +CONFIG_NETFILTER_XT_MATCH_POLICY=y +# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y +CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y +# CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG is not set +CONFIG_NETFILTER_XT_MATCH_RATEEST=y +CONFIG_NETFILTER_XT_MATCH_REALM=y +CONFIG_NETFILTER_XT_MATCH_RECENT=y +CONFIG_NETFILTER_XT_MATCH_SCTP=y +CONFIG_NETFILTER_XT_MATCH_SOCKET=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y +CONFIG_NETFILTER_XT_MATCH_STRING=y +CONFIG_NETFILTER_XT_MATCH_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_TIME=y +CONFIG_NETFILTER_XT_MATCH_U32=y +# CONFIG_IP_SET is not set +CONFIG_IP_VS=y +# CONFIG_IP_VS_IPV6 is not set +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +# CONFIG_IP_VS_PROTO_TCP is not set +# CONFIG_IP_VS_PROTO_UDP is not set +# CONFIG_IP_VS_PROTO_AH_ESP is not set +# CONFIG_IP_VS_PROTO_ESP is not set +# CONFIG_IP_VS_PROTO_AH is not set +# CONFIG_IP_VS_PROTO_SCTP is not set + +# +# IPVS scheduler +# +# CONFIG_IP_VS_RR is not set +# CONFIG_IP_VS_WRR is not set +# CONFIG_IP_VS_LC is not set +# CONFIG_IP_VS_WLC is not set +# CONFIG_IP_VS_FO is not set +# CONFIG_IP_VS_OVF is not set +# CONFIG_IP_VS_LBLC is not set +# CONFIG_IP_VS_LBLCR is not set +# CONFIG_IP_VS_DH is not set +# CONFIG_IP_VS_SH is not set +# CONFIG_IP_VS_SED is not set +# CONFIG_IP_VS_NQ is not set + +# +# IPVS SH scheduler +# +CONFIG_IP_VS_SH_TAB_BITS=8 + +# +# IPVS application helper +# +# CONFIG_IP_VS_NFCT is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_NF_DUP_IPV4=y +# CONFIG_NF_LOG_ARP is not set +# CONFIG_NF_LOG_IPV4 is not set +CONFIG_NF_REJECT_IPV4=y +CONFIG_NF_NAT_IPV4=y +CONFIG_NF_NAT_MASQUERADE_IPV4=y +CONFIG_NF_NAT_SNMP_BASIC=y +CONFIG_NF_NAT_PROTO_GRE=y +CONFIG_NF_NAT_PPTP=y +CONFIG_NF_NAT_H323=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MATCH_AH=y +CONFIG_IP_NF_MATCH_ECN=y +# CONFIG_IP_NF_MATCH_RPFILTER is not set +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +# 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=y +CONFIG_IP_NF_TARGET_ECN=y +CONFIG_IP_NF_TARGET_TTL=y +CONFIG_IP_NF_RAW=y +# CONFIG_IP_NF_SECURITY is not set +CONFIG_IP_NF_ARPTABLES=y +CONFIG_IP_NF_ARPFILTER=y +CONFIG_IP_NF_ARP_MANGLE=y + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=y +CONFIG_NF_CONNTRACK_IPV6=y +CONFIG_NF_DUP_IPV6=y +CONFIG_NF_REJECT_IPV6=y +# CONFIG_NF_LOG_IPV6 is not set +CONFIG_NF_NAT_IPV6=y +CONFIG_NF_NAT_MASQUERADE_IPV6=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_MATCH_AH=y +CONFIG_IP6_NF_MATCH_EUI64=y +CONFIG_IP6_NF_MATCH_FRAG=y +CONFIG_IP6_NF_MATCH_OPTS=y +CONFIG_IP6_NF_MATCH_HL=y +CONFIG_IP6_NF_MATCH_IPV6HEADER=y +CONFIG_IP6_NF_MATCH_MH=y +CONFIG_IP6_NF_MATCH_RPFILTER=y +CONFIG_IP6_NF_MATCH_RT=y +CONFIG_IP6_NF_TARGET_HL=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_TARGET_REJECT=y +# CONFIG_IP6_NF_TARGET_SYNPROXY is not set +CONFIG_IP6_NF_MANGLE=y +CONFIG_IP6_NF_RAW=y +# CONFIG_IP6_NF_SECURITY is not set +CONFIG_IP6_NF_NAT=y +CONFIG_IP6_NF_TARGET_MASQUERADE=y +CONFIG_IP6_NF_TARGET_NPT=y +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=y +CONFIG_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +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_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=y +CONFIG_NET_SCH_HTB=y +CONFIG_NET_SCH_HFSC=y +CONFIG_NET_SCH_PRIO=y +CONFIG_NET_SCH_MULTIQ=y +CONFIG_NET_SCH_RED=y +CONFIG_NET_SCH_SFB=y +CONFIG_NET_SCH_SFQ=y +CONFIG_NET_SCH_TEQL=y +CONFIG_NET_SCH_TBF=y +CONFIG_NET_SCH_GRED=y +CONFIG_NET_SCH_DSMARK=y +CONFIG_NET_SCH_NETEM=y +CONFIG_NET_SCH_DRR=y +CONFIG_NET_SCH_MQPRIO=y +CONFIG_NET_SCH_CHOKE=y +CONFIG_NET_SCH_QFQ=y +CONFIG_NET_SCH_CODEL=y +CONFIG_NET_SCH_FQ_CODEL=y +# CONFIG_NET_SCH_FQ is not set +# CONFIG_NET_SCH_HHF is not set +# CONFIG_NET_SCH_PIE is not set +CONFIG_NET_SCH_INGRESS=y +CONFIG_NET_SCH_PLUG=y + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=y +CONFIG_NET_CLS_TCINDEX=y +CONFIG_NET_CLS_ROUTE4=y +CONFIG_NET_CLS_FW=y +CONFIG_NET_CLS_U32=y +CONFIG_CLS_U32_PERF=y +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_RSVP=y +CONFIG_NET_CLS_RSVP6=y +CONFIG_NET_CLS_FLOW=y +# CONFIG_NET_CLS_BPF is not set +# CONFIG_NET_CLS_FLOWER is not set +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_CMP=y +CONFIG_NET_EMATCH_NBYTE=y +CONFIG_NET_EMATCH_U32=y +CONFIG_NET_EMATCH_META=y +CONFIG_NET_EMATCH_TEXT=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=y +CONFIG_NET_ACT_GACT=y +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=y +CONFIG_NET_ACT_IPT=y +CONFIG_NET_ACT_NAT=y +CONFIG_NET_ACT_PEDIT=y +CONFIG_NET_ACT_SIMP=y +CONFIG_NET_ACT_SKBEDIT=y +CONFIG_NET_ACT_CSUM=y +# CONFIG_NET_ACT_VLAN is not set +# CONFIG_NET_ACT_BPF is not set +# CONFIG_NET_ACT_CONNMARK is not set +CONFIG_NET_CLS_IND=y +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +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_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_AF_RXRPC is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +CONFIG_LIB80211=y +CONFIG_LIB80211_CRYPT_WEP=y +CONFIG_LIB80211_CRYPT_CCMP=y +CONFIG_LIB80211_CRYPT_TKIP=y +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +# CONFIG_MAC80211_LEDS is not set +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +CONFIG_VIRTUAL_INPUT=y +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +CONFIG_SUPPORT_DSP_RUN_MEM=y +CONFIG_DSP_RUN_MEM_ADDR=0x2000000 +CONFIG_DSP_RUN_MEM_SIZE=0x800000 +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +CONFIG_CMA_MEM_SHARED=y +CONFIG_CMA_ADVANCE_SHARE=y +CONFIG_USB_OTG_HISI=y +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_SWAP is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +CONFIG_MTD_NAND_HINFC610=y +CONFIG_HINFC610_MAX_CHIP=1 +# CONFIG_HINFC610_CACHE_ENABLE is not set +CONFIG_HINFC610_DBG_NAND_DEBUG=y +CONFIG_HINFC610_DBG_NAND_DUMP=y +CONFIG_HINFC610_DBG_NAND_ERASE_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_COUNT=y +CONFIG_HINFC610_DBG_NAND_ECC_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_RETRY=y +CONFIG_HINFC610_AUTO_PAGESIZE_ECC=y +# CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +# CONFIG_MTD_HIFMC100 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_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_ZRAM=y +# CONFIG_ZRAM_LZ4_COMPRESS is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=y +CONFIG_BLK_DEV_SR_VENDOR=y +# 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 +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 +# CONFIG_SCSI_OSD_INITIATOR is not set +# CONFIG_ATA is not set +CONFIG_MD=y +# CONFIG_BLK_DEV_MD is not set +# CONFIG_BCACHE is not set +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DM=y +# CONFIG_DM_MQ_DEFAULT is not set +# CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=y +CONFIG_DM_CRYPT=y +CONFIG_DM_SNAPSHOT=y +# CONFIG_DM_THIN_PROVISIONING is not set +# CONFIG_DM_CACHE is not set +# CONFIG_DM_ERA is not set +# CONFIG_DM_MIRROR is not set +# CONFIG_DM_RAID is not set +# CONFIG_DM_ZERO is not set +# CONFIG_DM_MULTIPATH is not set +# CONFIG_DM_DELAY is not set +# CONFIG_DM_UEVENT is not set +# CONFIG_DM_FLAKEY is not set +# CONFIG_DM_VERITY is not set +# CONFIG_DM_SWITCH is not set +# CONFIG_DM_LOG_WRITES 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_IFB 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_TUN=y +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_NET_VENDOR_AURORA is not set +CONFIG_NET_CADENCE=y +# CONFIG_MACB 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_CIRRUS=y +# CONFIG_CS89x0 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_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_INTEL=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +CONFIG_NET_VENDOR_MICREL=y +# 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_NATSEMI=y +CONFIG_NET_VENDOR_8390=y +# CONFIG_AX88796 is not set +# CONFIG_ETHOC is not set +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000 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_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS 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_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOE=y +CONFIG_PPPOLAC=y +CONFIG_PPPOPNS=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_IPHETH is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_ATH_CARDS is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +CONFIG_HOSTAP=y +# CONFIG_HOSTAP_FIRMWARE is not set +# CONFIG_LIBERTAS is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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_UINPUT=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +# CONFIG_APM_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SBS is not set +# CONFIG_BATTERY_BQ27XXX 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_BQ2415X is not set +# CONFIG_CHARGER_BQ24190 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_POWER_RESET is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_DEFERRED_IO=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_ADF is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_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 +# +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME is not set + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +CONFIG_HIDRAW=y +CONFIG_UHID=y +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +CONFIG_HID_A4TECH=y +CONFIG_HID_ACRUX=y +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=y +CONFIG_HID_APPLEIR=y +CONFIG_HID_AUREAL=y +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +CONFIG_HID_PRODIKEYS=y +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +CONFIG_HID_DRAGONRISE=y +CONFIG_DRAGONRISE_FF=y +CONFIG_HID_EMS_FF=y +CONFIG_HID_ELECOM=y +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +CONFIG_HID_HOLTEK=y +CONFIG_HOLTEK_FF=y +# CONFIG_HID_GT683R is not set +CONFIG_HID_KEYTOUCH=y +CONFIG_HID_KYE=y +CONFIG_HID_UCLOGIC=y +CONFIG_HID_WALTOP=y +CONFIG_HID_GYRATION=y +CONFIG_HID_ICADE=y +CONFIG_HID_TWINHAN=y +CONFIG_HID_KENSINGTON=y +CONFIG_HID_LCPOWER=y +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +CONFIG_HID_LOGITECH_DJ=y +CONFIG_HID_LOGITECH_HIDPP=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_HID_MAGICMOUSE=y +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_MULTITOUCH=y +CONFIG_HID_NTRIG=y +CONFIG_HID_ORTEK=y +CONFIG_HID_PANTHERLORD=y +CONFIG_PANTHERLORD_FF=y +# CONFIG_HID_PENMOUNT is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_PICOLCD=y +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_LEDS=y +# CONFIG_HID_PLANTRONICS is not set +CONFIG_HID_PRIMAX=y +CONFIG_HID_ROCCAT=y +CONFIG_HID_SAITEK=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +# CONFIG_SONY_FF is not set +CONFIG_HID_SPEEDLINK=y +CONFIG_HID_STEELSERIES=y +CONFIG_HID_SUNPLUS=y +# CONFIG_HID_RMI is not set +CONFIG_HID_GREENASIA=y +CONFIG_GREENASIA_FF=y +CONFIG_HID_SMARTJOYPLUS=y +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_HID_TIVO=y +CONFIG_HID_TOPSEED=y +CONFIG_HID_THINGM=y +CONFIG_HID_THRUSTMASTER=y +CONFIG_THRUSTMASTER_FF=y +CONFIG_HID_WACOM=y +CONFIG_HID_WIIMOTE=y +# CONFIG_HID_XINMO is not set +CONFIG_HID_ZEROPLUS=y +CONFIG_ZEROPLUS_FF=y +CONFIG_HID_ZYDACRON=y +CONFIG_HID_SENSOR_HUB=y +# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +CONFIG_USB_HIDDEV=y + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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=y +# CONFIG_USB_SERIAL_CONSOLE is not set +# CONFIG_USB_SERIAL_GENERIC is not set +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FTDI_SIO is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +# CONFIG_USB_SERIAL_PL2303 is not set +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 + +# +# USB Peripheral Controller +# +# CONFIG_USB_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_HISI_UDC=y +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_LIBCOMPOSITE=m +CONFIG_USB_F_FS=m +# CONFIG_USB_CONFIGFS is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_AUDIO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_G_NCM is not set +# CONFIG_USB_GADGETFS is not set +CONFIG_USB_FUNCTIONFS=m +# CONFIG_USB_FUNCTIONFS_ETH is not set +# CONFIG_USB_FUNCTIONFS_RNDIS is not set +CONFIG_USB_FUNCTIONFS_GENERIC=y +# CONFIG_USB_MASS_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +# CONFIG_USB_G_HID is not set +# CONFIG_USB_G_DBGP is not set +# CONFIG_USB_G_WEBCAM is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI 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_MTK is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +# CONFIG_LEDS_TRIGGERS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_HCTOSYS is not set +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS3232 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_ISL12057 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF85063 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_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set +# CONFIG_RTC_DRV_RV8803 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_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_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_DS3234 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_MCP795 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PL030 is not set +# CONFIG_RTC_DRV_PL031 is not set +# CONFIG_RTC_DRV_SNVS is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_VT6656 is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +CONFIG_ASHMEM=y +# CONFIG_ANDROID_LOGGER is not set +CONFIG_ANDROID_TIMED_OUTPUT=y +# CONFIG_ANDROID_TIMED_GPIO is not set +CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_ANDROID_LOW_MEMORY_KILLER_AUTODETECT_OOM_ADJ_VALUES=y +# CONFIG_ANDROID_INTF_ALARM_DEV is not set +CONFIG_SYNC=y +CONFIG_SW_SYNC=y +CONFIG_SW_SYNC_USER=y +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +# CONFIG_HISI_IOMMU_API is not set +# CONFIG_HISI_IOMMU is not set +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_BINDER_DEVICES="binder" +CONFIG_ANDROID_BINDER_IPC_32BIT=y +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=m +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +CONFIG_SDCARD_FS=m +# 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_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN 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_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XZ 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_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +CONFIG_CIFS=y +# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_XATTR is not set +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_SMB2 is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_MEMORY_INIT=y + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_STACKTRACE=y +CONFIG_DEBUG_BUGVERBOSE=y + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +CONFIG_SECURITY=y +# CONFIG_SECURITYFS is not set +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +# CONFIG_SECURITY_PATH is not set +CONFIG_LSM_MMAP_MIN_ADDR=32768 +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 +# CONFIG_SECURITY_SELINUX_DISABLE is not set +CONFIG_SECURITY_SELINUX_DEVELOP=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set +# CONFIG_SECURITY_SMACK is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SECURITY_APPARMOR is not set +# CONFIG_SECURITY_YAMA is not set +CONFIG_INTEGRITY=y +CONFIG_INTEGRITY_AUDIT=y +# CONFIG_IMA is not set +# CONFIG_EVM is not set +CONFIG_DEFAULT_SECURITY_SELINUX=y +# CONFIG_DEFAULT_SECURITY_DAC is not set +CONFIG_DEFAULT_SECURITY="selinux" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# CONFIG_CRYPTO_POLY1305 is not set +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=y +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=y +# 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_TEA is not set +CONFIG_CRYPTO_TWOFISH=y +CONFIG_CRYPTO_TWOFISH_COMMON=y + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=y +# CONFIG_CRC8 is not set +CONFIG_AUDIT_GENERIC=y +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=y +CONFIG_TEXTSEARCH_BM=y +CONFIG_TEXTSEARCH_FSM=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3798mv100_defconfig b/arch/arm/configs/hi3798mv100_defconfig new file mode 100644 index 000000000..8af502e57 --- /dev/null +++ b/arch/arm/configs/hi3798mv100_defconfig @@ -0,0 +1,3384 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +CONFIG_CC_STACKPROTECTOR_REGULAR=y +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=15 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +CONFIG_ARCH_HI3798MX=y +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 + +# +# HI3798MX board feature +# +CONFIG_MACH_HI3798MX=y + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# 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 is not set +# CONFIG_VMSPLIT_3G_OPT is not set +CONFIG_VMSPLIT_2G=y +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0x80000000 +CONFIG_NR_CPUS=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_CLEANCACHE is not set +CONFIG_CMA=y +# 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_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798mv100" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER 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=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_NETLINK_ACCT=y +CONFIG_NETFILTER_NETLINK_QUEUE=y +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NF_CONNTRACK is not set +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY 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_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_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS 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_COMMENT is not set +# 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_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_POLICY is not set +# CONFIG_NETFILTER_XT_MATCH_PHYSDEV 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_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_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 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_TTL is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_MANGLE is not set +# CONFIG_IP_NF_RAW is not set +CONFIG_IP_NF_ARPTABLES=y +# CONFIG_IP_NF_ARPFILTER is not set +# CONFIG_IP_NF_ARP_MANGLE is not set + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=y +CONFIG_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +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_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED 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_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +CONFIG_BT_DEBUGFS=y + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=y +CONFIG_BT_HCIBTUSB=y +# CONFIG_BT_HCIBTUSB_BCM is not set +# CONFIG_BT_HCIBTUSB_RTL is not set +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_AF_RXRPC is not set +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +CONFIG_SUPPORT_DSP_RUN_MEM=y +CONFIG_DSP_RUN_MEM_ADDR=0x2000000 +CONFIG_DSP_RUN_MEM_SIZE=0x800000 +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +CONFIG_MTD_NAND_HINFC610=y +CONFIG_HINFC610_MAX_CHIP=1 +# CONFIG_HINFC610_CACHE_ENABLE is not set +CONFIG_HINFC610_DBG_NAND_DEBUG=y +CONFIG_HINFC610_DBG_NAND_DUMP=y +CONFIG_HINFC610_DBG_NAND_ERASE_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_COUNT=y +CONFIG_HINFC610_DBG_NAND_ECC_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_RETRY=y +CONFIG_HINFC610_AUTO_PAGESIZE_ECC=y +# CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +# CONFIG_MTD_HIFMC100 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_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_NET_VENDOR_AURORA is not set +CONFIG_NET_CADENCE=y +# CONFIG_MACB 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_CIRRUS=y +# CONFIG_CS89x0 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_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_INTEL=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +CONFIG_NET_VENDOR_MICREL=y +# 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_NATSEMI=y +CONFIG_NET_VENDOR_8390=y +# CONFIG_AX88796 is not set +# CONFIG_ETHOC is not set +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000 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_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS 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_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +# CONFIG_PPP_MPPE is not set +CONFIG_PPP_MULTILINK=y +# CONFIG_PPPOE is not set +# CONFIG_PPPOLAC is not set +# CONFIG_PPPOPNS is not set +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_IPHETH is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_AT76C50X_USB is not set +CONFIG_USB_ZD1201=m +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +CONFIG_ATH_COMMON=m +CONFIG_ATH_CARDS=m +# CONFIG_ATH_DEBUG is not set +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K=m +# CONFIG_ATH9K_AHB is not set +# CONFIG_ATH9K_DEBUGFS is not set +# CONFIG_ATH9K_DYNACK is not set +# CONFIG_ATH9K_WOW is not set +CONFIG_ATH9K_RFKILL=y +# CONFIG_ATH9K_CHANNEL_CONTEXT is not set +CONFIG_ATH9K_PCOEM=y +CONFIG_ATH9K_HTC=m +# CONFIG_ATH9K_HTC_DEBUGFS is not set +# CONFIG_CARL9170 is not set +# CONFIG_ATH6KL is not set +# CONFIG_AR5523 is not set +# CONFIG_ATH10K is not set +# CONFIG_WCN36XX is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_LIBERTAS is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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_UINPUT=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_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 +# +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME 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=y +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_PRODIKEYS is not set +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# 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_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=y +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_HIDPP is not set +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +# CONFIG_HID_MAGICMOUSE is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +# CONFIG_HID_MULTITOUCH 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_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_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_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 + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +CONFIG_USB_SERIAL_FTDI_SIO=y +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=y +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_LED_TRIG is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI 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_MTK is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_VT6656 is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +# CONFIG_HISI_IOMMU_API is not set +# CONFIG_HISI_IOMMU is not set +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +# CONFIG_JOLIET is not set +# CONFIG_ZISOFS is not set +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_SDCARD_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_MEMORY_INIT=y + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_STACKTRACE=y +CONFIG_DEBUG_BUGVERBOSE=y + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3798mv100_loader_defconfig b/arch/arm/configs/hi3798mv100_loader_defconfig new file mode 100644 index 000000000..b1d153cb0 --- /dev/null +++ b/arch/arm/configs/hi3798mv100_loader_defconfig @@ -0,0 +1,2476 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_s40" +# CONFIG_LOCALVERSION_AUTO is not set +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 is not set +CONFIG_KERNEL_LZMA=y +# 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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_HZ_PERIODIC=y +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NO_HZ_FULL is not set +# CONFIG_NO_HZ is not set +# CONFIG_HIGH_RES_TIMERS is not set + +# +# 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_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_NAMESPACES is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +CONFIG_RD_LZMA=y +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +# CONFIG_UID16 is not set +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +# CONFIG_BUG is not set +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +# CONFIG_EPOLL is not set +CONFIG_SIGNALFD=y +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_AIO is not set +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# CONFIG_VM_EVENT_COUNTERS is not set +# 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_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +CONFIG_TRACEPOINTS=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_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_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_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_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +CONFIG_ARCH_HI3798MX=y +# CONFIG_ARCH_HI3798CV2X is not set +# CONFIG_ARCH_HI3798MV2X is not set +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=240 + +# +# HI3798MX board feature +# +CONFIG_MACH_HI3798MX=y + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +# CONFIG_VDSO is not set +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# CONFIG_SCHED_SMT is not set +# CONFIG_HAVE_ARM_ARCH_TIMER is not set +# 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=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +# CONFIG_SCHED_HRTICK is not set +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +# CONFIG_HIGHPTE is not set +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +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=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +# CONFIG_IDLE_PAGE_TRACKING 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_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798mv100" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# 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 + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_WAKELOCK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG 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 is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_NET_IP_TUNNEL is not set +# CONFIG_IP_MROUTE is not set +CONFIG_SYN_COOKIES=y +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +# CONFIG_SUPPORT_SRAM_MANAGER is not set +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +CONFIG_SUPPORT_DSP_RUN_MEM=y +CONFIG_DSP_RUN_MEM_ADDR=0x2000000 +CONFIG_DSP_RUN_MEM_SIZE=0x800000 +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_TEE is not set +# CONFIG_REGULATOR is not set +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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 +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +CONFIG_MTD_NAND_HINFC610=y +CONFIG_HINFC610_MAX_CHIP=1 +# CONFIG_HINFC610_CACHE_ENABLE is not set +CONFIG_HINFC610_DBG_NAND_DEBUG=y +CONFIG_HINFC610_DBG_NAND_DUMP=y +CONFIG_HINFC610_DBG_NAND_ERASE_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_COUNT=y +CONFIG_HINFC610_DBG_NAND_ECC_COUNT=y +CONFIG_HINFC610_DBG_NAND_READ_RETRY=y +CONFIG_HINFC610_AUTO_PAGESIZE_ECC=y +# CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# 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 is not set +# CONFIG_MTD_HIFMC100 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_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_ZRAM is not set +# CONFIG_BLK_DEV_COW_COMMON 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=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_VXLAN is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS 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 is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_ETHOC is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC 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_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 is not set +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_APMPOWER is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO is not set + +# +# 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 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set +# CONFIG_LOGO is not set +# 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_ACRUX is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CP2112 is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF 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_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +# CONFIG_HID_MULTITOUCH 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_ROCCAT is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SPEEDLINK 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_THRUSTMASTER is not set +# CONFIG_HID_WACOM 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 + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV200_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI 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_MTK is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +# CONFIG_ANDROID_TIMED_OUTPUT is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# 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_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_UBIFS_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +# CONFIG_SQUASHFS is not set +# 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_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +# CONFIG_ROOT_NFS is not set +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC 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_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +# CONFIG_DEBUG_USER is not set +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +# CONFIG_ENCRYPTED_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_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST 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_SEQIV is not set +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF 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_SHA256=m +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set + +# +# Certificates for signature checking +# +# CONFIG_SYSTEM_TRUSTED_KEYRING is not set +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +# CONFIG_CRC_CCITT 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_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_XZ_DEC is not set +# CONFIG_XZ_DEC_BCJ is not set +CONFIG_DECOMPRESS_LZMA=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3798mv200_a_defconfig b/arch/arm/configs/hi3798mv200_a_defconfig new file mode 100644 index 000000000..20c4639bd --- /dev/null +++ b/arch/arm/configs/hi3798mv200_a_defconfig @@ -0,0 +1,3950 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_hi3798mv2x" +# CONFIG_LOCALVERSION_AUTO is not set +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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_PCI_QUIRKS=y +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +CONFIG_ARCH_HI3798MV2X=y +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=500 + +# +# HI3798MV2X board feature +# +CONFIG_MACH_HI3798MV2X=y +CONFIG_HAVE_SP804_LOCAL_TIMER_HI3798MV2X=y +# CONFIG_HAVE_ARM_LOCAL_TIMER_HI3798MV2X is not set +# CONFIG_HI3798MV2X_FPGA is not set + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +CONFIG_PCI=y +# CONFIG_PCI_DOMAINS_GENERIC is not set +CONFIG_PCI_SYSCALL=y +# CONFIG_PCI_MSI is not set +# CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set + +# +# PCI host controller drivers +# +CONFIG_PCIE_DW=y +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCIE_IPROC is not set +# CONFIG_PCIE_ALTERA is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# 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=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +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_IDLE_PAGE_TRACKING is not set +CONFIG_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798mv200_a" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +# CONFIG_ARM_ATAG_DTB_COMPAT is not set +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=80 +CONFIG_DEFAULT_GO_HISPEED_LOAD=80 +CONFIG_DEFAULT_TARGET_LOAD=70 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER 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=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_NETLINK_ACCT=y +CONFIG_NETFILTER_NETLINK_QUEUE=y +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NF_CONNTRACK is not set +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY 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_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_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS 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_COMMENT is not set +# 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_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_POLICY 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_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_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 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_TTL is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_MANGLE is not set +# CONFIG_IP_NF_RAW is not set +CONFIG_IP_NF_ARPTABLES=y +# CONFIG_IP_NF_ARPFILTER is not set +# CONFIG_IP_NF_ARP_MANGLE is not set + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 +# 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED 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_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +# CONFIG_BT_SELFTEST is not set +CONFIG_BT_DEBUGFS=y + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=y +CONFIG_BT_HCIBTUSB=y +# CONFIG_BT_HCIBTUSB_BCM is not set +# CONFIG_BT_HCIBTUSB_RTL is not set +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_AF_RXRPC is not set +CONFIG_WIRELESS=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_REGULATOR is not set +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +CONFIG_PCIE_HISILICON=y +CONFIG_PCIE_PME_IRQ=0xa2 +CONFIG_PCIE_DMA_ADDR_READ=0x0 +CONFIG_PCIE_DMA_SIZE_READ=0x0 +CONFIG_PCIE_DMA_ADDR_WRITE=0x0 +CONFIG_PCIE_DMA_SIZE_WRITE=0x0 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +# CONFIG_TIMER_HIFIXTIMER is not set +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_CPU_IDLE_HI3798MV2X is not set +# CONFIG_TEE is not set +CONFIG_REGULATOR=y +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_PCI is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_RICOH is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_CAFE is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_OF_MTD=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_BLK_DEV_PCIESSD_MTIP32XX is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_SX8 is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set +# CONFIG_BLK_DEV_NVME is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +# CONFIG_SATA_AHCI is not set +CONFIG_SATA_AHCI_PLATFORM=m +# CONFIG_AHCI_CEVA is not set +# CONFIG_AHCI_QORIQ is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# CONFIG_ARCNET is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +# CONFIG_TYPHOON is not set +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +# CONFIG_ET131X is not set +CONFIG_NET_VENDOR_ALTEON=y +# CONFIG_ACENIC is not set +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +# CONFIG_NET_VENDOR_ARC is not set +CONFIG_NET_VENDOR_ATHEROS=y +# CONFIG_ATL2 is not set +# CONFIG_ATL1 is not set +# CONFIG_ATL1E is not set +# CONFIG_ATL1C is not set +# CONFIG_ALX is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +CONFIG_NET_VENDOR_BROCADE=y +# CONFIG_BNA is not set +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_CHELSIO_T4 is not set +# CONFIG_CHELSIO_T4VF is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +CONFIG_NET_VENDOR_CISCO=y +# CONFIG_ENIC is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +# CONFIG_DL2K is not set +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +# CONFIG_BE2NET is not set +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_EXAR=y +# CONFIG_S2IO is not set +# CONFIG_VXGE is not set +# CONFIG_NET_VENDOR_FARADAY is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC=y +CONFIG_HIGMAC_DESC_4WORD=y +CONFIG_HIGMAC_RXCSUM=y +CONFIG_NET_VENDOR_HP=y +# CONFIG_HP100 is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_JME is not set +# CONFIG_NET_VENDOR_MARVELL is not set +CONFIG_NET_VENDOR_MELLANOX=y +# CONFIG_MLX4_EN is not set +# CONFIG_MLX4_CORE is not set +# CONFIG_MLX5_CORE is not set +# CONFIG_MLXSW_CORE is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +CONFIG_NET_VENDOR_NVIDIA=y +# CONFIG_FORCEDETH is not set +CONFIG_NET_VENDOR_OKI=y +# CONFIG_ETHOC is not set +CONFIG_NET_PACKET_ENGINE=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +CONFIG_NET_VENDOR_QLOGIC=y +# CONFIG_QLA3XXX is not set +# CONFIG_QLCNIC is not set +# CONFIG_QLGE is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_QED is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +# CONFIG_R8169 is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_ROCKER=y +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +# CONFIG_SFC is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TI_CPSW_ALE is not set +# CONFIG_TLAN is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +# CONFIG_PPP_MPPE is not set +CONFIG_PPP_MULTILINK=y +# CONFIG_PPPOE is not set +# CONFIG_PPPOLAC is not set +# CONFIG_PPPOPNS is not set +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +CONFIG_USB_USBNET=y +CONFIG_USB_NET_AX8817X=y +CONFIG_USB_NET_AX88179_178A=y +CONFIG_USB_NET_CDCETHER=y +# CONFIG_USB_NET_CDC_EEM is not set +CONFIG_USB_NET_CDC_NCM=y +# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set +# CONFIG_USB_NET_CDC_MBIM is not set +CONFIG_USB_NET_DM9601=y +# CONFIG_USB_NET_SR9700 is not set +# CONFIG_USB_NET_SR9800 is not set +# CONFIG_USB_NET_SMSC75XX is not set +# CONFIG_USB_NET_SMSC95XX is not set +# CONFIG_USB_NET_GL620A is not set +CONFIG_USB_NET_NET1080=y +# CONFIG_USB_NET_PLUSB is not set +# CONFIG_USB_NET_MCS7830 is not set +# CONFIG_USB_NET_RNDIS_HOST is not set +CONFIG_USB_NET_CDC_SUBSET=y +# CONFIG_USB_ALI_M5632 is not set +# CONFIG_USB_AN2720 is not set +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +# CONFIG_USB_EPSON2888 is not set +# CONFIG_USB_KC2190 is not set +CONFIG_USB_NET_ZAURUS=y +# CONFIG_USB_NET_CX82310_ETH is not set +# CONFIG_USB_NET_KALMIA is not set +# CONFIG_USB_NET_QMI_WWAN is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set +# CONFIG_USB_SIERRA_NET is not set +# CONFIG_USB_VL600 is not set +# CONFIG_USB_NET_CH9200 is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_ATMEL is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_PRISM54 is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_ADM8211 is not set +# CONFIG_RTL8180 is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_MWL8K is not set +CONFIG_ATH_COMMON=m +CONFIG_ATH_CARDS=m +# CONFIG_ATH_DEBUG is not set +# CONFIG_ATH5K is not set +# CONFIG_ATH5K_PCI is not set +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K=m +CONFIG_ATH9K_PCI=y +# CONFIG_ATH9K_AHB is not set +# CONFIG_ATH9K_DEBUGFS is not set +# CONFIG_ATH9K_DYNACK is not set +# CONFIG_ATH9K_WOW is not set +CONFIG_ATH9K_RFKILL=y +# CONFIG_ATH9K_CHANNEL_CONTEXT is not set +CONFIG_ATH9K_PCOEM=y +# CONFIG_ATH9K_HTC is not set +# CONFIG_CARL9170 is not set +# CONFIG_ATH6KL is not set +# CONFIG_AR5523 is not set +# CONFIG_WIL6210 is not set +# CONFIG_ATH10K is not set +# CONFIG_WCN36XX is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_IPW2100 is not set +# CONFIG_IPW2200 is not set +# CONFIG_IWLWIFI is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +# CONFIG_LIBERTAS is not set +# CONFIG_HERMES is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192EE is not set +# CONFIG_RTL8821AE is not set +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_VMXNET3 is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +# CONFIG_JOYSTICK_XPAD 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_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +# CONFIG_SERIO_PCIPS2 is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set +# CONFIG_GAMEPORT_EMU10K1 is not set +# CONFIG_GAMEPORT_FM801 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_NOZOMI is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_JSM 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_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_DEVPORT=y +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# 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_DESIGNWARE_PCI is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_VX855 is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_RDC321X is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_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_MAX1586 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PFUZE100 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_TPS6524X 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_RC_SUPPORT is not set +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_PCI=y +# CONFIG_SND_AD1889 is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SE6X is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VIRTUOSO is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set + +# +# HD-Audio +# +# CONFIG_SND_HDA_INTEL is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME 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=y +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_PRODIKEYS is not set +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# 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_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=y +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_HIDPP is not set +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set +# CONFIG_LOGIWHEELS_FF is not set +# CONFIG_HID_MAGICMOUSE is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +# CONFIG_HID_MULTITOUCH 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_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_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_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 + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_UHCI_HCD 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 + +# +# 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 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_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=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FTDI_SIO is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=y +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +CONFIG_USB_SERIAL_DEBUG=y + +# +# 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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_LED_TRIG is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV300_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC 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_TOSHIBA_PCI 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 + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTL8192U is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set +# CONFIG_FB_SM750 is not set +# CONFIG_FB_XGI is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +CONFIG_ANDROID_TIMED_OUTPUT=y +# CONFIG_ANDROID_TIMED_GPIO is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGNC is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +CONFIG_OF_IOMMU=y +CONFIG_HISI_IOMMU_API=y +CONFIG_HISI_IOMMU=y +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +# CONFIG_DEVFREQ_GOV_USERSPACE is not set + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_NTB is not set +# CONFIG_VME_BUS is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +CONFIG_RAS=y +# CONFIG_THUNDERBOLT is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +# CONFIG_JOLIET is not set +# CONFIG_ZISOFS is not set +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_SDCARD_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +CONFIG_LOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR_OTHER_CPU=y +CONFIG_HARDLOCKUP_DETECTOR=y +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1 +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1 +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_HIFN_795X is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3798mv200_android_defconfig b/arch/arm/configs/hi3798mv200_android_defconfig new file mode 100644 index 000000000..3fd02af9b --- /dev/null +++ b/arch/arm/configs/hi3798mv200_android_defconfig @@ -0,0 +1,4355 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_hi3798mv2x" +# CONFIG_LOCALVERSION_AUTO is not set +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=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_FHANDLE is not set +CONFIG_USELIB=y +CONFIG_AUDIT=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUDIT_TREE=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_PCI_QUIRKS=y +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +CONFIG_ARCH_HI3798MV2X=y +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=500 + +# +# HI3798MV2X board feature +# +CONFIG_MACH_HI3798MV2X=y +CONFIG_HAVE_SP804_LOCAL_TIMER_HI3798MV2X=y +# CONFIG_HAVE_ARM_LOCAL_TIMER_HI3798MV2X is not set +# CONFIG_HI3798MV2X_FPGA is not set + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +CONFIG_PCI=y +# CONFIG_PCI_DOMAINS_GENERIC is not set +CONFIG_PCI_SYSCALL=y +# CONFIG_PCI_MSI is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set + +# +# PCI host controller drivers +# +CONFIG_PCIE_DW=y +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCIE_IPROC is not set +# CONFIG_PCIE_ALTERA is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# 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=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_CLEANCACHE is not set +# CONFIG_FRONTSWAP is not set +CONFIG_CMA=y +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_AREAS=7 +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +CONFIG_ZSMALLOC=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_SECCOMP=y +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798mv200" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=95 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +# CONFIG_HIBERNATION is not set +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM=y +CONFIG_PM_DEBUG=y +# CONFIG_PM_ADVANCED_DEBUG is not set +# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_PM_SLEEP_DEBUG=y +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS 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 is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +CONFIG_IP_ROUTE_CLASSID=y +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_NET_IP_TUNNEL=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +# CONFIG_IPV6_MROUTE is not set +# CONFIG_NETLABEL is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +CONFIG_NETWORK_SECMARK=y +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_DEBUG=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +# CONFIG_NETFILTER_NETLINK_ACCT is not set +CONFIG_NETFILTER_NETLINK_QUEUE=y +CONFIG_NETFILTER_NETLINK_LOG=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_MARK=y +# CONFIG_NF_CONNTRACK_SECMARK is not set +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CONNTRACK_TIMEOUT is not set +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_GRE=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_CONNTRACK_AMANDA=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_CONNTRACK_H323=y +CONFIG_NF_CONNTRACK_IRC=y +CONFIG_NF_CONNTRACK_BROADCAST=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=y +CONFIG_NF_CONNTRACK_SNMP=y +CONFIG_NF_CONNTRACK_PPTP=y +CONFIG_NF_CONNTRACK_SANE=y +CONFIG_NF_CONNTRACK_SIP=y +CONFIG_NF_CONNTRACK_TFTP=y +CONFIG_NF_CT_NETLINK=y +# CONFIG_NF_CT_NETLINK_TIMEOUT is not set +# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set +CONFIG_NF_NAT=y +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_PROTO_DCCP=y +CONFIG_NF_NAT_PROTO_UDPLITE=y +CONFIG_NF_NAT_PROTO_SCTP=y +CONFIG_NF_NAT_AMANDA=y +CONFIG_NF_NAT_FTP=y +CONFIG_NF_NAT_IRC=y +CONFIG_NF_NAT_SIP=y +CONFIG_NF_NAT_TFTP=y +CONFIG_NF_NAT_REDIRECT=y +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=y +CONFIG_NETFILTER_XT_CONNMARK=y + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y +# CONFIG_NETFILTER_XT_TARGET_CT is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_HL=y +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y +# CONFIG_NETFILTER_XT_TARGET_LOG is not set +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_NAT=y +CONFIG_NETFILTER_XT_TARGET_NETMAP=y +CONFIG_NETFILTER_XT_TARGET_NFLOG=y +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_RATEEST=y +CONFIG_NETFILTER_XT_TARGET_REDIRECT=y +CONFIG_NETFILTER_XT_TARGET_TEE=y +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETFILTER_XT_TARGET_TRACE is not set +# CONFIG_NETFILTER_XT_TARGET_SECMARK is not set +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +CONFIG_NETFILTER_XT_MATCH_CLUSTER=y +CONFIG_NETFILTER_XT_MATCH_COMMENT=y +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_CPU=y +CONFIG_NETFILTER_XT_MATCH_DCCP=y +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y +CONFIG_NETFILTER_XT_MATCH_DSCP=y +CONFIG_NETFILTER_XT_MATCH_ECN=y +CONFIG_NETFILTER_XT_MATCH_ESP=y +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y +CONFIG_NETFILTER_XT_MATCH_HELPER=y +CONFIG_NETFILTER_XT_MATCH_HL=y +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_IPVS=y +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +CONFIG_NETFILTER_XT_MATCH_LENGTH=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +CONFIG_NETFILTER_XT_MATCH_MARK=y +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +CONFIG_NETFILTER_XT_MATCH_OSF=y +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +CONFIG_NETFILTER_XT_MATCH_POLICY=y +# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y +CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y +# CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG is not set +CONFIG_NETFILTER_XT_MATCH_RATEEST=y +CONFIG_NETFILTER_XT_MATCH_REALM=y +CONFIG_NETFILTER_XT_MATCH_RECENT=y +CONFIG_NETFILTER_XT_MATCH_SCTP=y +CONFIG_NETFILTER_XT_MATCH_SOCKET=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y +CONFIG_NETFILTER_XT_MATCH_STRING=y +CONFIG_NETFILTER_XT_MATCH_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_TIME=y +CONFIG_NETFILTER_XT_MATCH_U32=y +# CONFIG_IP_SET is not set +CONFIG_IP_VS=y +# CONFIG_IP_VS_IPV6 is not set +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +# CONFIG_IP_VS_PROTO_TCP is not set +# CONFIG_IP_VS_PROTO_UDP is not set +# CONFIG_IP_VS_PROTO_AH_ESP is not set +# CONFIG_IP_VS_PROTO_ESP is not set +# CONFIG_IP_VS_PROTO_AH is not set +# CONFIG_IP_VS_PROTO_SCTP is not set + +# +# IPVS scheduler +# +# CONFIG_IP_VS_RR is not set +# CONFIG_IP_VS_WRR is not set +# CONFIG_IP_VS_LC is not set +# CONFIG_IP_VS_WLC is not set +# CONFIG_IP_VS_FO is not set +# CONFIG_IP_VS_OVF is not set +# CONFIG_IP_VS_LBLC is not set +# CONFIG_IP_VS_LBLCR is not set +# CONFIG_IP_VS_DH is not set +# CONFIG_IP_VS_SH is not set +# CONFIG_IP_VS_SED is not set +# CONFIG_IP_VS_NQ is not set + +# +# IPVS SH scheduler +# +CONFIG_IP_VS_SH_TAB_BITS=8 + +# +# IPVS application helper +# +# CONFIG_IP_VS_NFCT is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_NF_DUP_IPV4=y +# CONFIG_NF_LOG_ARP is not set +# CONFIG_NF_LOG_IPV4 is not set +CONFIG_NF_REJECT_IPV4=y +CONFIG_NF_NAT_IPV4=y +CONFIG_NF_NAT_MASQUERADE_IPV4=y +CONFIG_NF_NAT_SNMP_BASIC=y +CONFIG_NF_NAT_PROTO_GRE=y +CONFIG_NF_NAT_PPTP=y +CONFIG_NF_NAT_H323=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MATCH_AH=y +CONFIG_IP_NF_MATCH_ECN=y +# CONFIG_IP_NF_MATCH_RPFILTER is not set +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +# 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=y +CONFIG_IP_NF_TARGET_ECN=y +CONFIG_IP_NF_TARGET_TTL=y +CONFIG_IP_NF_RAW=y +# CONFIG_IP_NF_SECURITY is not set +CONFIG_IP_NF_ARPTABLES=y +CONFIG_IP_NF_ARPFILTER=y +CONFIG_IP_NF_ARP_MANGLE=y + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=y +CONFIG_NF_CONNTRACK_IPV6=y +CONFIG_NF_DUP_IPV6=y +CONFIG_NF_REJECT_IPV6=y +# CONFIG_NF_LOG_IPV6 is not set +CONFIG_NF_NAT_IPV6=y +CONFIG_NF_NAT_MASQUERADE_IPV6=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_MATCH_AH=y +CONFIG_IP6_NF_MATCH_EUI64=y +CONFIG_IP6_NF_MATCH_FRAG=y +CONFIG_IP6_NF_MATCH_OPTS=y +CONFIG_IP6_NF_MATCH_HL=y +CONFIG_IP6_NF_MATCH_IPV6HEADER=y +CONFIG_IP6_NF_MATCH_MH=y +CONFIG_IP6_NF_MATCH_RPFILTER=y +CONFIG_IP6_NF_MATCH_RT=y +CONFIG_IP6_NF_TARGET_HL=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_TARGET_REJECT=y +# CONFIG_IP6_NF_TARGET_SYNPROXY is not set +CONFIG_IP6_NF_MANGLE=y +CONFIG_IP6_NF_RAW=y +# CONFIG_IP6_NF_SECURITY is not set +CONFIG_IP6_NF_NAT=y +CONFIG_IP6_NF_TARGET_MASQUERADE=y +CONFIG_IP6_NF_TARGET_NPT=y +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=y +CONFIG_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +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_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=y +CONFIG_NET_SCH_HTB=y +CONFIG_NET_SCH_HFSC=y +CONFIG_NET_SCH_PRIO=y +CONFIG_NET_SCH_MULTIQ=y +CONFIG_NET_SCH_RED=y +CONFIG_NET_SCH_SFB=y +CONFIG_NET_SCH_SFQ=y +CONFIG_NET_SCH_TEQL=y +CONFIG_NET_SCH_TBF=y +CONFIG_NET_SCH_GRED=y +CONFIG_NET_SCH_DSMARK=y +CONFIG_NET_SCH_NETEM=y +CONFIG_NET_SCH_DRR=y +CONFIG_NET_SCH_MQPRIO=y +CONFIG_NET_SCH_CHOKE=y +CONFIG_NET_SCH_QFQ=y +CONFIG_NET_SCH_CODEL=y +CONFIG_NET_SCH_FQ_CODEL=y +# CONFIG_NET_SCH_FQ is not set +# CONFIG_NET_SCH_HHF is not set +# CONFIG_NET_SCH_PIE is not set +CONFIG_NET_SCH_INGRESS=y +CONFIG_NET_SCH_PLUG=y + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=y +CONFIG_NET_CLS_TCINDEX=y +CONFIG_NET_CLS_ROUTE4=y +CONFIG_NET_CLS_FW=y +CONFIG_NET_CLS_U32=y +CONFIG_CLS_U32_PERF=y +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_RSVP=y +CONFIG_NET_CLS_RSVP6=y +CONFIG_NET_CLS_FLOW=y +# CONFIG_NET_CLS_BPF is not set +# CONFIG_NET_CLS_FLOWER is not set +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_CMP=y +CONFIG_NET_EMATCH_NBYTE=y +CONFIG_NET_EMATCH_U32=y +CONFIG_NET_EMATCH_META=y +CONFIG_NET_EMATCH_TEXT=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=y +CONFIG_NET_ACT_GACT=y +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=y +CONFIG_NET_ACT_IPT=y +CONFIG_NET_ACT_NAT=y +CONFIG_NET_ACT_PEDIT=y +CONFIG_NET_ACT_SIMP=y +CONFIG_NET_ACT_SKBEDIT=y +CONFIG_NET_ACT_CSUM=y +# CONFIG_NET_ACT_VLAN is not set +# CONFIG_NET_ACT_BPF is not set +# CONFIG_NET_ACT_CONNMARK is not set +CONFIG_NET_CLS_IND=y +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +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_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_AF_RXRPC is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +CONFIG_LIB80211=y +CONFIG_LIB80211_CRYPT_WEP=y +CONFIG_LIB80211_CRYPT_CCMP=y +CONFIG_LIB80211_CRYPT_TKIP=y +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +# CONFIG_MAC80211_LEDS is not set +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +CONFIG_VIRTUAL_INPUT=y +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +CONFIG_PCIE_HISILICON=y +CONFIG_PCIE_PME_IRQ=0xa2 +CONFIG_PCIE_DMA_ADDR_READ=0x0 +CONFIG_PCIE_DMA_SIZE_READ=0x0 +CONFIG_PCIE_DMA_ADDR_WRITE=0x0 +CONFIG_PCIE_DMA_SIZE_WRITE=0x0 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_HISI_EXT4_TMP_QUIRK is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +CONFIG_USB_OTG_HISI=y +# CONFIG_CPU_IDLE_HI3798MV2X is not set +# CONFIG_TEE is not set +CONFIG_REGULATOR=y +CONFIG_REGULATOR_HI3798MV200=y +CONFIG_HASH_VRF_DEV=y + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +CONFIG_FW_LOADER_USER_HELPER=y +CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_SWAP is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_PCI is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_RICOH is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_CAFE is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_OF_MTD=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_BLK_DEV_PCIESSD_MTIP32XX is not set +CONFIG_ZRAM=y +# CONFIG_ZRAM_LZ4_COMPRESS is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_SX8 is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=409600 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set +# CONFIG_BLK_DEV_NVME is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=y +CONFIG_BLK_DEV_SR_VENDOR=y +# 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 +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +# CONFIG_SATA_AHCI is not set +CONFIG_SATA_AHCI_PLATFORM=m +# CONFIG_AHCI_CEVA is not set +# CONFIG_AHCI_QORIQ is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +CONFIG_MD=y +# CONFIG_BLK_DEV_MD is not set +# CONFIG_BCACHE is not set +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DM=y +# CONFIG_DM_MQ_DEFAULT is not set +# CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=y +CONFIG_DM_CRYPT=y +CONFIG_DM_SNAPSHOT=y +# CONFIG_DM_THIN_PROVISIONING is not set +# CONFIG_DM_CACHE is not set +# CONFIG_DM_ERA is not set +# CONFIG_DM_MIRROR is not set +# CONFIG_DM_RAID is not set +# CONFIG_DM_ZERO is not set +# CONFIG_DM_MULTIPATH is not set +# CONFIG_DM_DELAY is not set +# CONFIG_DM_UEVENT is not set +# CONFIG_DM_FLAKEY is not set +# CONFIG_DM_VERITY is not set +# CONFIG_DM_SWITCH is not set +# CONFIG_DM_LOG_WRITES is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC is not set +# CONFIG_IFB 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_TUN=y +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set +# CONFIG_ARCNET is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +# CONFIG_TYPHOON is not set +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +# CONFIG_ET131X is not set +CONFIG_NET_VENDOR_ALTEON=y +# CONFIG_ACENIC is not set +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +CONFIG_NET_VENDOR_ATHEROS=y +# CONFIG_ATL2 is not set +# CONFIG_ATL1 is not set +# CONFIG_ATL1E is not set +# CONFIG_ATL1C is not set +# CONFIG_ALX is not set +# CONFIG_NET_VENDOR_AURORA is not set +CONFIG_NET_CADENCE=y +# CONFIG_MACB is not set +CONFIG_NET_VENDOR_BROADCOM=y +# CONFIG_B44 is not set +# CONFIG_BCMGENET is not set +# CONFIG_BNX2 is not set +# CONFIG_CNIC is not set +# CONFIG_TIGON3 is not set +# CONFIG_BNX2X is not set +# CONFIG_SYSTEMPORT is not set +# CONFIG_BNXT is not set +CONFIG_NET_VENDOR_BROCADE=y +# CONFIG_BNA is not set +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_CHELSIO_T4 is not set +# CONFIG_CHELSIO_T4VF is not set +CONFIG_NET_VENDOR_CIRRUS=y +# CONFIG_CS89x0 is not set +CONFIG_NET_VENDOR_CISCO=y +# CONFIG_ENIC is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +# CONFIG_DL2K is not set +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +# CONFIG_BE2NET is not set +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_EXAR=y +# CONFIG_S2IO is not set +# CONFIG_VXGE is not set +CONFIG_NET_VENDOR_FARADAY=y +# CONFIG_FTMAC100 is not set +# CONFIG_FTGMAC100 is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC=y +CONFIG_HIGMAC_DESC_4WORD=y +CONFIG_HIGMAC_RXCSUM=y +CONFIG_NET_VENDOR_HP=y +# CONFIG_HP100 is not set +CONFIG_NET_VENDOR_INTEL=y +# CONFIG_E100 is not set +# CONFIG_E1000 is not set +# CONFIG_E1000E is not set +# CONFIG_IGB is not set +# CONFIG_IGBVF is not set +# CONFIG_IXGB is not set +# CONFIG_IXGBE is not set +# CONFIG_I40E is not set +CONFIG_NET_VENDOR_I825XX=y +# CONFIG_JME is not set +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +# CONFIG_SKGE is not set +# CONFIG_SKY2 is not set +CONFIG_NET_VENDOR_MELLANOX=y +# CONFIG_MLX4_EN is not set +# CONFIG_MLX4_CORE is not set +# CONFIG_MLX5_CORE is not set +# CONFIG_MLXSW_CORE is not set +CONFIG_NET_VENDOR_MICREL=y +# CONFIG_KS8851 is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_KSZ884X_PCI is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +CONFIG_NET_VENDOR_NATSEMI=y +# CONFIG_NATSEMI is not set +# CONFIG_NS83820 is not set +CONFIG_NET_VENDOR_8390=y +# CONFIG_AX88796 is not set +# CONFIG_NE2K_PCI is not set +CONFIG_NET_VENDOR_NVIDIA=y +# CONFIG_FORCEDETH is not set +CONFIG_NET_VENDOR_OKI=y +# CONFIG_ETHOC is not set +CONFIG_NET_PACKET_ENGINE=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +CONFIG_NET_VENDOR_QLOGIC=y +# CONFIG_QLA3XXX is not set +# CONFIG_QLCNIC is not set +# CONFIG_QLGE is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_QED is not set +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000 is not set +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +# CONFIG_R8169 is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +# CONFIG_SXGBE_ETH is not set +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +# CONFIG_SFC is not set +CONFIG_NET_VENDOR_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_EPIC100 is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +# CONFIG_SMSC9420 is not set +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TI_CPSW_ALE is not set +# CONFIG_TLAN is not set +CONFIG_NET_VENDOR_VIA=y +# CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set +CONFIG_NET_VENDOR_WIZNET=y +# CONFIG_WIZNET_W5100 is not set +# CONFIG_WIZNET_W5300 is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +CONFIG_HISILICON_PHY=y +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOE=y +CONFIG_PPPOLAC=y +CONFIG_PPPOPNS=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +CONFIG_USB_USBNET=y +CONFIG_USB_NET_AX8817X=y +CONFIG_USB_NET_AX88179_178A=y +CONFIG_USB_NET_CDCETHER=y +# CONFIG_USB_NET_CDC_EEM is not set +CONFIG_USB_NET_CDC_NCM=y +# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set +# CONFIG_USB_NET_CDC_MBIM is not set +CONFIG_USB_NET_DM9601=y +# CONFIG_USB_NET_SR9700 is not set +# CONFIG_USB_NET_SR9800 is not set +# CONFIG_USB_NET_SMSC75XX is not set +# CONFIG_USB_NET_SMSC95XX is not set +# CONFIG_USB_NET_GL620A is not set +CONFIG_USB_NET_NET1080=y +# CONFIG_USB_NET_PLUSB is not set +# CONFIG_USB_NET_MCS7830 is not set +# CONFIG_USB_NET_RNDIS_HOST is not set +CONFIG_USB_NET_CDC_SUBSET=y +# CONFIG_USB_ALI_M5632 is not set +# CONFIG_USB_AN2720 is not set +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +# CONFIG_USB_EPSON2888 is not set +# CONFIG_USB_KC2190 is not set +CONFIG_USB_NET_ZAURUS=y +# CONFIG_USB_NET_CX82310_ETH is not set +# CONFIG_USB_NET_KALMIA is not set +# CONFIG_USB_NET_QMI_WWAN is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set +# CONFIG_USB_SIERRA_NET is not set +# CONFIG_USB_VL600 is not set +# CONFIG_USB_NET_CH9200 is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_ATMEL is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_PRISM54 is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_ADM8211 is not set +# CONFIG_RTL8180 is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_MWL8K is not set +# CONFIG_ATH_CARDS is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +CONFIG_HOSTAP=y +# CONFIG_HOSTAP_FIRMWARE is not set +# CONFIG_HOSTAP_PLX is not set +# CONFIG_HOSTAP_PCI is not set +# CONFIG_IPW2100 is not set +# CONFIG_IPW2200 is not set +# CONFIG_IWLWIFI is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +# CONFIG_LIBERTAS is not set +# CONFIG_HERMES is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192EE is not set +# CONFIG_RTL8821AE is not set +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_VMXNET3 is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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_UINPUT=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +# CONFIG_SERIO_PCIPS2 is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set +# CONFIG_GAMEPORT_EMU10K1 is not set +# CONFIG_GAMEPORT_FM801 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_NOZOMI is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +# CONFIG_DEVMEM 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_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_JSM 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_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_DEVPORT=y +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# 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_DESIGNWARE_PCI is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_VX855 is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_RDC321X is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +# CONFIG_APM_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SBS is not set +# CONFIG_BATTERY_BQ27XXX 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_BQ2415X is not set +# CONFIG_CHARGER_BQ24190 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_POWER_RESET is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +CONFIG_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_DEFERRED_IO=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_ADF is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_PCI=y +# CONFIG_SND_AD1889 is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SE6X is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VIRTUOSO is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set + +# +# HD-Audio +# +# CONFIG_SND_HDA_INTEL is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME is not set + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +CONFIG_HIDRAW=y +CONFIG_UHID=y +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +CONFIG_HID_A4TECH=y +CONFIG_HID_ACRUX=y +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=y +CONFIG_HID_APPLEIR=y +CONFIG_HID_AUREAL=y +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +CONFIG_HID_PRODIKEYS=y +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +CONFIG_HID_DRAGONRISE=y +CONFIG_DRAGONRISE_FF=y +CONFIG_HID_EMS_FF=y +CONFIG_HID_ELECOM=y +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +CONFIG_HID_HOLTEK=y +CONFIG_HOLTEK_FF=y +# CONFIG_HID_GT683R is not set +CONFIG_HID_KEYTOUCH=y +CONFIG_HID_KYE=y +CONFIG_HID_UCLOGIC=y +CONFIG_HID_WALTOP=y +CONFIG_HID_GYRATION=y +CONFIG_HID_ICADE=y +CONFIG_HID_TWINHAN=y +CONFIG_HID_KENSINGTON=y +CONFIG_HID_LCPOWER=y +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +CONFIG_HID_LOGITECH_DJ=y +CONFIG_HID_LOGITECH_HIDPP=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y +CONFIG_HID_MAGICMOUSE=y +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_MULTITOUCH=y +CONFIG_HID_NTRIG=y +CONFIG_HID_ORTEK=y +CONFIG_HID_PANTHERLORD=y +CONFIG_PANTHERLORD_FF=y +# CONFIG_HID_PENMOUNT is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_PICOLCD=y +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_LEDS=y +# CONFIG_HID_PLANTRONICS is not set +CONFIG_HID_PRIMAX=y +CONFIG_HID_ROCCAT=y +CONFIG_HID_SAITEK=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +# CONFIG_SONY_FF is not set +CONFIG_HID_SPEEDLINK=y +CONFIG_HID_STEELSERIES=y +CONFIG_HID_SUNPLUS=y +# CONFIG_HID_RMI is not set +CONFIG_HID_GREENASIA=y +CONFIG_GREENASIA_FF=y +CONFIG_HID_SMARTJOYPLUS=y +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_HID_TIVO=y +CONFIG_HID_TOPSEED=y +CONFIG_HID_THINGM=y +CONFIG_HID_THRUSTMASTER=y +CONFIG_THRUSTMASTER_FF=y +CONFIG_HID_WACOM=y +CONFIG_HID_WIIMOTE=y +# CONFIG_HID_XINMO is not set +CONFIG_HID_ZEROPLUS=y +CONFIG_ZEROPLUS_FF=y +CONFIG_HID_ZYDACRON=y +CONFIG_HID_SENSOR_HUB=y +# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +CONFIG_USB_HIDDEV=y + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_UHCI_HCD 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 + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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 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_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=y +# CONFIG_USB_SERIAL_CONSOLE is not set +# CONFIG_USB_SERIAL_GENERIC is not set +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FTDI_SIO is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +# CONFIG_USB_SERIAL_PL2303 is not set +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 + +# +# USB Peripheral Controller +# +# CONFIG_USB_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_HISI_UDC=y +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_F_FS=y +# CONFIG_USB_CONFIGFS is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_AUDIO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_G_NCM is not set +# CONFIG_USB_GADGETFS is not set +CONFIG_USB_FUNCTIONFS=y +# CONFIG_USB_FUNCTIONFS_ETH is not set +# CONFIG_USB_FUNCTIONFS_RNDIS is not set +CONFIG_USB_FUNCTIONFS_GENERIC=y +# CONFIG_USB_MASS_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +# CONFIG_USB_G_HID is not set +# CONFIG_USB_G_DBGP is not set +# CONFIG_USB_G_WEBCAM is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV300_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC 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_TOSHIBA_PCI 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 + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +# CONFIG_LEDS_TRIGGERS is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_HCTOSYS is not set +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS3232 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_ISL12057 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF85063 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_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set +# CONFIG_RTC_DRV_RV8803 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_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_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_DS3234 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_MCP795 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PL030 is not set +# CONFIG_RTC_DRV_PL031 is not set +# CONFIG_RTC_DRV_SNVS is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTL8192U is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set +# CONFIG_FB_SM750 is not set +# CONFIG_FB_XGI is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +CONFIG_ASHMEM=y +CONFIG_ANDROID_LOGGER=y +CONFIG_ANDROID_TIMED_OUTPUT=y +# CONFIG_ANDROID_TIMED_GPIO is not set +CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_ANDROID_LOW_MEMORY_KILLER_AUTODETECT_OOM_ADJ_VALUES=y +# CONFIG_ANDROID_INTF_ALARM_DEV is not set +CONFIG_SYNC=y +CONFIG_SW_SYNC=y +CONFIG_SW_SYNC_USER=y +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGNC is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +CONFIG_OF_IOMMU=y +CONFIG_HISI_IOMMU_API=y +CONFIG_HISI_IOMMU=y +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +# CONFIG_DEVFREQ_GOV_USERSPACE is not set +CONFIG_DEVFREQ_GOV_GPU_ONDEMAND=y + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_NTB is not set +# CONFIG_VME_BUS is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +CONFIG_RAS=y +# CONFIG_THUNDERBOLT is not set + +# +# Android +# +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_BINDER_DEVICES="binder" +CONFIG_ANDROID_BINDER_IPC_32BIT=y +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_SWITCH is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +CONFIG_SDCARD_FS=y +# 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_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN 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_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +CONFIG_CIFS=y +# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_XATTR is not set +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_SMB2 is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_MEMORY_INIT=y + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_STACKTRACE=y +CONFIG_DEBUG_BUGVERBOSE=y + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +CONFIG_SECURITY=y +# CONFIG_SECURITYFS is not set +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +# CONFIG_SECURITY_PATH is not set +CONFIG_LSM_MMAP_MIN_ADDR=32768 +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 +# CONFIG_SECURITY_SELINUX_DISABLE is not set +CONFIG_SECURITY_SELINUX_DEVELOP=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set +# CONFIG_SECURITY_SMACK is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SECURITY_APPARMOR is not set +# CONFIG_SECURITY_YAMA is not set +CONFIG_INTEGRITY=y +CONFIG_INTEGRITY_AUDIT=y +# CONFIG_IMA is not set +# CONFIG_EVM is not set +CONFIG_DEFAULT_SECURITY_SELINUX=y +# CONFIG_DEFAULT_SECURITY_DAC is not set +CONFIG_DEFAULT_SECURITY="selinux" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# CONFIG_CRYPTO_POLY1305 is not set +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=y +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=y +# 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_TEA is not set +CONFIG_CRYPTO_TWOFISH=y +CONFIG_CRYPTO_TWOFISH_COMMON=y + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_HIFN_795X is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=y +# CONFIG_CRC8 is not set +CONFIG_AUDIT_GENERIC=y +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=y +CONFIG_TEXTSEARCH_BM=y +CONFIG_TEXTSEARCH_FSM=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3798mv200_defconfig b/arch/arm/configs/hi3798mv200_defconfig new file mode 100644 index 000000000..bc6f354bd --- /dev/null +++ b/arch/arm/configs/hi3798mv200_defconfig @@ -0,0 +1,3966 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_hi3798mv2x" +# CONFIG_LOCALVERSION_AUTO is not set +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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_PCI_QUIRKS=y +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +CONFIG_ARCH_HI3798MV2X=y +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=500 + +# +# HI3798MV2X board feature +# +CONFIG_MACH_HI3798MV2X=y +CONFIG_HAVE_SP804_LOCAL_TIMER_HI3798MV2X=y +# CONFIG_HAVE_ARM_LOCAL_TIMER_HI3798MV2X is not set +# CONFIG_HI3798MV2X_FPGA is not set + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +CONFIG_PCI=y +# CONFIG_PCI_DOMAINS_GENERIC is not set +CONFIG_PCI_SYSCALL=y +# CONFIG_PCI_MSI is not set +# CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set + +# +# PCI host controller drivers +# +CONFIG_PCIE_DW=y +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCIE_IPROC is not set +# CONFIG_PCIE_ALTERA is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# 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=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +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_IDLE_PAGE_TRACKING is not set +CONFIG_FRAME_VECTOR=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798mv200" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=95 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_WAKELOCK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +CONFIG_PM_DEBUG=y +# CONFIG_PM_ADVANCED_DEBUG is not set +CONFIG_PM_SLEEP_DEBUG=y +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER 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=m +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +# CONFIG_IPV6_ROUTE_INFO 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_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +CONFIG_ANDROID_PARANOID_NETWORK=y +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_NETLINK_ACCT=y +CONFIG_NETFILTER_NETLINK_QUEUE=y +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NF_CONNTRACK is not set +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY 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_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_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS 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_COMMENT is not set +# 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_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_POLICY 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_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_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 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_TTL is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_MANGLE is not set +# CONFIG_IP_NF_RAW is not set +CONFIG_IP_NF_ARPTABLES=y +# CONFIG_IP_NF_ARPFILTER is not set +# CONFIG_IP_NF_ARP_MANGLE is not set + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_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 +# 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED 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_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +# CONFIG_BT_SELFTEST is not set +CONFIG_BT_DEBUGFS=y + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=y +CONFIG_BT_HCIBTUSB=y +# CONFIG_BT_HCIBTUSB_BCM is not set +# CONFIG_BT_HCIBTUSB_RTL is not set +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_AF_RXRPC is not set +CONFIG_WIRELESS=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_REGULATOR is not set +# CONFIG_RFKILL_GPIO 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +CONFIG_PCIE_HISILICON=y +CONFIG_PCIE_PME_IRQ=0xa2 +CONFIG_PCIE_DMA_ADDR_READ=0x0 +CONFIG_PCIE_DMA_SIZE_READ=0x0 +CONFIG_PCIE_DMA_ADDR_WRITE=0x0 +CONFIG_PCIE_DMA_SIZE_WRITE=0x0 + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +CONFIG_SUPPORT_SRAM_MANAGER=y +CONFIG_SRAM_PHYS_START=0xFFFF2800 +CONFIG_SRAM_PHYS_SIZE=0x00002800 +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_HISI_EXT4_TMP_QUIRK is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_CPU_IDLE_HI3798MV2X is not set +# CONFIG_TEE is not set +CONFIG_REGULATOR=y +CONFIG_REGULATOR_HI3798MV200=y +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI500_PMU is not set +# CONFIG_ARM_CCN is not set +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_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=y + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_PCI is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_RICOH is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_CAFE is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=128 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_OF_MTD=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_BLK_DEV_PCIESSD_MTIP32XX is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_SX8 is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set +# CONFIG_BLK_DEV_NVME is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_UID_CPUTIME is not set +# CONFIG_MEMORY_STATE_TIME 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_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +# CONFIG_SATA_AHCI is not set +CONFIG_SATA_AHCI_PLATFORM=m +# CONFIG_AHCI_CEVA is not set +# CONFIG_AHCI_QORIQ is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC 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_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# CONFIG_ARCNET is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +# CONFIG_TYPHOON is not set +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +# CONFIG_ET131X is not set +CONFIG_NET_VENDOR_ALTEON=y +# CONFIG_ACENIC is not set +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +# CONFIG_NET_VENDOR_ARC is not set +CONFIG_NET_VENDOR_ATHEROS=y +# CONFIG_ATL2 is not set +# CONFIG_ATL1 is not set +# CONFIG_ATL1E is not set +# CONFIG_ATL1C is not set +# CONFIG_ALX is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +CONFIG_NET_VENDOR_BROCADE=y +# CONFIG_BNA is not set +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_CHELSIO_T4 is not set +# CONFIG_CHELSIO_T4VF is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +CONFIG_NET_VENDOR_CISCO=y +# CONFIG_ENIC is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +# CONFIG_DL2K is not set +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +# CONFIG_BE2NET is not set +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_EXAR=y +# CONFIG_S2IO is not set +# CONFIG_VXGE is not set +# CONFIG_NET_VENDOR_FARADAY is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC=y +CONFIG_HIGMAC_DESC_4WORD=y +CONFIG_HIGMAC_RXCSUM=y +CONFIG_NET_VENDOR_HP=y +# CONFIG_HP100 is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_JME is not set +# CONFIG_NET_VENDOR_MARVELL is not set +CONFIG_NET_VENDOR_MELLANOX=y +# CONFIG_MLX4_EN is not set +# CONFIG_MLX4_CORE is not set +# CONFIG_MLX5_CORE is not set +# CONFIG_MLXSW_CORE is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +CONFIG_NET_VENDOR_NVIDIA=y +# CONFIG_FORCEDETH is not set +CONFIG_NET_VENDOR_OKI=y +# CONFIG_ETHOC is not set +CONFIG_NET_PACKET_ENGINE=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +CONFIG_NET_VENDOR_QLOGIC=y +# CONFIG_QLA3XXX is not set +# CONFIG_QLCNIC is not set +# CONFIG_QLGE is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_QED is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +# CONFIG_R8169 is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_ROCKER=y +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +# CONFIG_SFC is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TI_CPSW_ALE is not set +# CONFIG_TLAN is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +CONFIG_HISILICON_PHY=y +# CONFIG_FIXED_PHY 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_BCM_UNIMAC is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +# CONFIG_PPP_MPPE is not set +CONFIG_PPP_MULTILINK=y +# CONFIG_PPPOE is not set +# CONFIG_PPPOLAC is not set +# CONFIG_PPPOPNS is not set +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +CONFIG_USB_USBNET=y +CONFIG_USB_NET_AX8817X=y +CONFIG_USB_NET_AX88179_178A=y +CONFIG_USB_NET_CDCETHER=y +# CONFIG_USB_NET_CDC_EEM is not set +CONFIG_USB_NET_CDC_NCM=y +# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set +# CONFIG_USB_NET_CDC_MBIM is not set +CONFIG_USB_NET_DM9601=y +# CONFIG_USB_NET_SR9700 is not set +# CONFIG_USB_NET_SR9800 is not set +# CONFIG_USB_NET_SMSC75XX is not set +# CONFIG_USB_NET_SMSC95XX is not set +# CONFIG_USB_NET_GL620A is not set +CONFIG_USB_NET_NET1080=y +# CONFIG_USB_NET_PLUSB is not set +# CONFIG_USB_NET_MCS7830 is not set +# CONFIG_USB_NET_RNDIS_HOST is not set +CONFIG_USB_NET_CDC_SUBSET=y +# CONFIG_USB_ALI_M5632 is not set +# CONFIG_USB_AN2720 is not set +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +# CONFIG_USB_EPSON2888 is not set +# CONFIG_USB_KC2190 is not set +CONFIG_USB_NET_ZAURUS=y +# CONFIG_USB_NET_CX82310_ETH is not set +# CONFIG_USB_NET_KALMIA is not set +# CONFIG_USB_NET_QMI_WWAN is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set +# CONFIG_USB_SIERRA_NET is not set +# CONFIG_USB_VL600 is not set +# CONFIG_USB_NET_CH9200 is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_ATMEL is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_PRISM54 is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_ADM8211 is not set +# CONFIG_RTL8180 is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_MWL8K is not set +CONFIG_ATH_COMMON=m +CONFIG_ATH_CARDS=m +# CONFIG_ATH_DEBUG is not set +# CONFIG_ATH5K is not set +# CONFIG_ATH5K_PCI is not set +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K=m +CONFIG_ATH9K_PCI=y +# CONFIG_ATH9K_AHB is not set +# CONFIG_ATH9K_DEBUGFS is not set +# CONFIG_ATH9K_DYNACK is not set +# CONFIG_ATH9K_WOW is not set +CONFIG_ATH9K_RFKILL=y +# CONFIG_ATH9K_CHANNEL_CONTEXT is not set +CONFIG_ATH9K_PCOEM=y +# CONFIG_ATH9K_HTC is not set +# CONFIG_CARL9170 is not set +# CONFIG_ATH6KL is not set +# CONFIG_AR5523 is not set +# CONFIG_WIL6210 is not set +# CONFIG_ATH10K is not set +# CONFIG_WCN36XX is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_IPW2100 is not set +# CONFIG_IPW2200 is not set +# CONFIG_IWLWIFI is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +# CONFIG_LIBERTAS is not set +# CONFIG_HERMES is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192EE is not set +# CONFIG_RTL8821AE is not set +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_VMXNET3 is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_KEYRESET is not set +# CONFIG_INPUT_KEYCOMBO 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=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 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_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYCHORD 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=y +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 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 + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AMBAKMI is not set +# CONFIG_SERIO_PCIPS2 is not set +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_USERIO is not set +CONFIG_GAMEPORT=y +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set +# CONFIG_GAMEPORT_EMU10K1 is not set +# CONFIG_GAMEPORT_FM801 is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_NOZOMI is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_JSM 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_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_DEVPORT=y +# CONFIG_XILLYBUS 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_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# 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_DESIGNWARE_PCI is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_VX855 is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_RDC321X is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_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_MAX1586 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PFUZE100 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_TPS6524X 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_RC_SUPPORT is not set +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +# CONFIG_USB_M5602 is not set +# CONFIG_USB_STV06XX is not set +# CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set +# CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set +# CONFIG_USB_GSPCA_DTCS033 is not set +# CONFIG_USB_GSPCA_ETOMS is not set +# CONFIG_USB_GSPCA_FINEPIX is not set +# CONFIG_USB_GSPCA_JEILINJ is not set +# CONFIG_USB_GSPCA_JL2005BCD is not set +# CONFIG_USB_GSPCA_KINECT is not set +# CONFIG_USB_GSPCA_KONICA is not set +# CONFIG_USB_GSPCA_MARS is not set +# CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set +# CONFIG_USB_GSPCA_OV519 is not set +# CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set +# CONFIG_USB_GSPCA_PAC207 is not set +# CONFIG_USB_GSPCA_PAC7302 is not set +# CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SE401 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set +# CONFIG_USB_GSPCA_SN9C20X is not set +# CONFIG_USB_GSPCA_SONIXB is not set +# CONFIG_USB_GSPCA_SONIXJ is not set +# CONFIG_USB_GSPCA_SPCA500 is not set +# CONFIG_USB_GSPCA_SPCA501 is not set +# CONFIG_USB_GSPCA_SPCA505 is not set +# CONFIG_USB_GSPCA_SPCA506 is not set +# CONFIG_USB_GSPCA_SPCA508 is not set +# CONFIG_USB_GSPCA_SPCA561 is not set +# CONFIG_USB_GSPCA_SPCA1528 is not set +# CONFIG_USB_GSPCA_SQ905 is not set +# CONFIG_USB_GSPCA_SQ905C is not set +# CONFIG_USB_GSPCA_SQ930X is not set +# CONFIG_USB_GSPCA_STK014 is not set +# CONFIG_USB_GSPCA_STK1135 is not set +# CONFIG_USB_GSPCA_STV0680 is not set +# CONFIG_USB_GSPCA_SUNPLUS is not set +# CONFIG_USB_GSPCA_T613 is not set +# CONFIG_USB_GSPCA_TOPRO is not set +# CONFIG_USB_GSPCA_TOUPTEK is not set +# CONFIG_USB_GSPCA_TV8532 is not set +# CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set +# CONFIG_USB_GSPCA_ZC3XX is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set +# CONFIG_V4L_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 + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y + +# +# Audio decoders, processors and mixers +# + +# +# RDS decoders +# + +# +# Video decoders +# + +# +# Video and audio decoders +# + +# +# Video encoders +# + +# +# Camera sensor devices +# + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_GENERIC=m +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_ADF is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_PCI=y +# CONFIG_SND_AD1889 is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SE6X is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VIRTUOSO is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set + +# +# HD-Audio +# +# CONFIG_SND_HDA_INTEL is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_ARM=y +# CONFIG_SND_ARMAACI is not set +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF 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_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME 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=y +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_PRODIKEYS is not set +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# 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_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=y +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_HIDPP is not set +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set +# CONFIG_LOGIWHEELS_FF is not set +# CONFIG_HID_MAGICMOUSE is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +# CONFIG_HID_MULTITOUCH 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_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_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_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 + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_UHCI_HCD 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 + +# +# 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 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_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=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FTDI_SIO is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=y +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +CONFIG_USB_SERIAL_DEBUG=y + +# +# 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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_LED_TRIG is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV300_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC 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_TOSHIBA_PCI 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 + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_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 + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTL8192U is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_R8723AU is not set +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set +# CONFIG_FB_SM750 is not set +# CONFIG_FB_XGI is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +CONFIG_ASHMEM=y +# CONFIG_ANDROID_LOGGER is not set +CONFIG_ANDROID_TIMED_OUTPUT=y +# CONFIG_ANDROID_TIMED_GPIO is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +CONFIG_SYNC=y +CONFIG_SW_SYNC=y +CONFIG_SW_SYNC_USER=y +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGNC is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_DRIVER is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +CONFIG_OF_IOMMU=y +CONFIG_HISI_IOMMU_API=y +CONFIG_HISI_IOMMU=y +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +# CONFIG_DEVFREQ_GOV_USERSPACE is not set +CONFIG_DEVFREQ_GOV_GPU_ONDEMAND=y + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_NTB is not set +# CONFIG_VME_BUS is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +CONFIG_RAS=y +# CONFIG_THUNDERBOLT is not set + +# +# Android +# +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_BINDER_DEVICES="binder" +CONFIG_ANDROID_BINDER_IPC_32BIT=y +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_SWITCH is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_CHECK=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_DEBUG=y +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG 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=m +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +# CONFIG_JOLIET is not set +# CONFIG_ZISOFS is not set +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_SDCARD_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_YAFFS_FS=y +CONFIG_YAFFS_YAFFS1=y +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=y +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +# CONFIG_LOGFS is not set +CONFIG_CRAMFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +CONFIG_LOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR_OTHER_CPU=y +CONFIG_HARDLOCKUP_DETECTOR=y +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1 +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1 +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +CONFIG_TEST_UDELAY=m +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY_PERF_EVENTS_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# 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_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_HIFN_795X is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC 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_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/configs/hi3798mv200_loader_defconfig b/arch/arm/configs/hi3798mv200_loader_defconfig new file mode 100644 index 000000000..65afaf418 --- /dev/null +++ b/arch/arm/configs/hi3798mv200_loader_defconfig @@ -0,0 +1,2431 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.35 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +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_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_NEED_MACH_IO_H=y +CONFIG_NEED_MACH_MEMORY_H=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="_hi3798mv2x" +# CONFIG_LOCALVERSION_AUTO is not set +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 is not set +CONFIG_KERNEL_LZMA=y +# 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_FHANDLE is not set +CONFIG_USELIB=y +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_HZ_PERIODIC=y +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NO_HZ_FULL is not set +# CONFIG_NO_HZ is not set +# CONFIG_HIGH_RES_TIMERS is not set + +# +# 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_SCHED_WALT is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_NAMESPACES is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +CONFIG_RD_LZMA=y +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +# CONFIG_UID16 is not set +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +# CONFIG_BUG is not set +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +# CONFIG_EPOLL is not set +CONFIG_SIGNALFD=y +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_AIO is not set +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# CONFIG_VM_EVENT_COUNTERS is not set +# 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_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +CONFIG_TRACEPOINTS=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS 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_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_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_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_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_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_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_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_MULTIPLATFORM is not set +# CONFIG_ARCH_S40 is not set +# CONFIG_ARCH_HI3716MV420N is not set +# CONFIG_ARCH_HI3798MX is not set +# CONFIG_ARCH_HI3798CV2X is not set +CONFIG_ARCH_HI3798MV2X=y +# CONFIG_ARCH_HI3796MV2X is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX 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_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set +CONFIG_DEFAULT_UART_BASE_ADDR=0xF8B00000 +CONFIG_DEFAULT_VMALLOC_SIZE=500 + +# +# HI3798MV2X board feature +# +CONFIG_MACH_HI3798MV2X=y +CONFIG_HAVE_SP804_LOCAL_TIMER_HI3798MV2X=y +# CONFIG_HAVE_ARM_LOCAL_TIMER_HI3798MV2X is not set +# CONFIG_HI3798MV2X_FPGA is not set + +# +# Processor Type +# +CONFIG_CPU_V7=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_ARCH_PHYS_ADDR_T_64BIT 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_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_458693 is not set +# CONFIG_ARM_ERRATA_460075 is not set +# CONFIG_ARM_ERRATA_742230 is not set +# CONFIG_ARM_ERRATA_742231 is not set +# CONFIG_ARM_ERRATA_643719 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_743622 is not set +# CONFIG_ARM_ERRATA_751472 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 + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# 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=4 +CONFIG_HOTPLUG_CPU=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# 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=y +CONFIG_HZ=1000 +# CONFIG_SCHED_HRTICK is not set +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HIGHMEM=y +# CONFIG_HIGHPTE is not set +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_VM_MIN_FREE_KBYTES=0 +CONFIG_VM_OVERCOMMIT_GUESS=0 +CONFIG_VM_DIRTY_RATIO=20 +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_COMPACTION is not set +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_BOUNCE=y +CONFIG_KSM=y +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=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +# CONFIG_IDLE_PAGE_TRACKING 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_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set +# CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="hi3798mv200" +CONFIG_ZBOOT_ROM_TEXT=0x00008000 +CONFIG_ZBOOT_ROM_BSS=0x00008000 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +CONFIG_CMDLINE="mem=128M console=ttyAMA0,115200 console=ttyMTD,blackbox" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# CONFIG_AUTO_ZRELADDR is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_STAT_DETAILS is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_GOV_SCHED is not set + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_MICRO_FREQUENCY_UP_THRESHOLD=95 +CONFIG_DEFAULT_GO_HISPEED_LOAD=99 +CONFIG_DEFAULT_TARGET_LOAD=90 +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# 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 + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_WAKELOCK=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +CONFIG_PM_DEBUG=y +# CONFIG_PM_ADVANCED_DEBUG is not set +CONFIG_PM_SLEEP_DEBUG=y +CONFIG_APM_EMULATION=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG 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 is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_NET_IP_TUNNEL is not set +# CONFIG_IP_MROUTE is not set +CONFIG_SYN_COOKIES=y +# CONFIG_NET_UDP_TUNNEL 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_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_LRO=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER 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_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV 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 +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_WIRELESS is not set +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_RFKILL_REGULATOR 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_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Hisilicon driver support +# +# CONFIG_VIRTUAL_INPUT is not set +CONFIG_HISI_DEBUG_UART_PHYS=0xF8B00000 +CONFIG_HISI_DEBUG_UART_VIRT=0xF9B00000 +# CONFIG_PCIE_HISILICON is not set + +# +# Hisilicon IR drivers +# +# CONFIG_HISI_IR is not set +# CONFIG_SUPPORT_SRAM_MANAGER is not set +CONFIG_TIMER_HISP804=y +CONFIG_TIMER_HIFIXTIMER=y +CONFIG_MTD_BLOCK_ROMBLOCK=y +CONFIG_PART_CHANGE=y + +# +# Hisilicon CPU frequency scaling config +# +CONFIG_HI_I2C=y +# CONFIG_PAGEALLOC_LOCK is not set +# CONFIG_SUPPORT_DSP_RUN_MEM is not set +# CONFIG_SUPPORT_ATF_MEM is not set +# CONFIG_SUPPORT_SMCU_MEM is not set +# CONFIG_SUPPORT_CA is not set +# CONFIG_CA_FILE_AUTHORITY is not set +# CONFIG_CA_NET_CONFIG is not set +# CONFIG_CMA_MEM_SHARED is not set +# CONFIG_CMA_ADVANCE_SHARE is not set +# CONFIG_USB_OTG_HISI is not set +# CONFIG_CPU_IDLE_HI3798MV2X is not set +# CONFIG_TEE is not set +CONFIG_REGULATOR=y +CONFIG_REGULATOR_HI3798MV200=y +# CONFIG_HASH_VRF_DEV is not set + +# +# Hisilicon thermal drivers +# +# CONFIG_HISI_THERMAL is not set +CONFIG_ARM_AMBA=y +# CONFIG_TEGRA_AHB is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH 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 +# CONFIG_MTD_HISFC350 is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_NAND_HINFC610 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# 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 is not set +CONFIG_MTD_HIFMC100=y +CONFIG_MTD_HIFMC100_SPINOR=y +CONFIG_MTD_HIFMC100_SPINAND=y +CONFIG_MTD_HIFMC100_NAND=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=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_ZRAM is not set +# CONFIG_BLK_DEV_COW_COMMON 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=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# 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_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM 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 + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# 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_VXLAN is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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 +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_EMAC_ROCKCHIP is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS 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 is not set +CONFIG_HIETH_SWITCH_FABRIC=y +CONFIG_HIETH_MAX_RX_POOLS=1024 +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC 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_HIETH_GMAC=y +CONFIG_HIGMAC_DESC_4WORD=y +CONFIG_HIGMAC_RXCSUM=y +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_ETHOC is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +CONFIG_HISILICON_PHY=y +# CONFIG_FIXED_PHY 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_BCM_UNIMAC 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_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +# CONFIG_INPUT is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# 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_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST 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_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_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +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_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI 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 +# +# 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 +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_OC_TINY=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT 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_ARM_SP805_WATCHDOG=y +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC 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_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC 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_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON 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_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X 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 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB 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_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_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_MAX1586 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PFUZE100 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_TPS6524X is not set +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# 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_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set +# CONFIG_LOGO is not set +# CONFIG_SOUND is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES 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_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_HISILICON=m +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=y +# 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_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_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_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED 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_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_WAKELOCK is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_EMBEDDED_SDIO=y +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_HIMCIV300_SDIO_SYNOPSYS=y +# CONFIG_MMC_ARMMMCI is not set +# CONFIG_MMC_SDHCI 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_MTK is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ANDROID_LOGGER is not set +CONFIG_ANDROID_TIMED_OUTPUT=y +# CONFIG_ANDROID_TIMED_GPIO is not set +# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set +# CONFIG_SYNC is not set +CONFIG_ION=y +# CONFIG_ION_TEST is not set +# CONFIG_ION_DUMMY is not set +CONFIG_ION_HISI=y +# CONFIG_FIQ_DEBUGGER is not set +# CONFIG_FIQ_WATCHDOG is not set +# CONFIG_STAGING_BOARD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +CONFIG_OF_IOMMU=y +CONFIG_HISI_IOMMU_API=y +CONFIG_HISI_IOMMU=y +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +# CONFIG_DEVFREQ_GOV_USERSPACE is not set +CONFIG_DEVFREQ_GOV_GPU_ONDEMAND=y + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +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_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# 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_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_UBIFS_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +# CONFIG_SQUASHFS is not set +# 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_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +# CONFIG_ROOT_NFS is not set +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=y +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# 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=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC 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_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +CONFIG_LOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR_OTHER_CPU=y +CONFIG_HARDLOCKUP_DETECTOR=y +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1 +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHED_INFO is not set +# CONFIG_PANIC_ON_RT_THROTTLING is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_OLD_MCOUNT=y +# CONFIG_DEBUG_USER is not set +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +# CONFIG_ENCRYPTED_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_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST 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_SEQIV is not set +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF 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_SHA256=m +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# 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_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set + +# +# Certificates for signature checking +# +# CONFIG_SYSTEM_TRUSTED_KEYRING is not set +# CONFIG_ARM_CRYPTO is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +# CONFIG_CRC_CCITT 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_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_XZ_DEC is not set +# CONFIG_XZ_DEC_BCJ is not set +CONFIG_DECOMPRESS_LZMA=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/arch/arm/mach-hi3716mv420n/Kconfig b/arch/arm/mach-hi3716mv420n/Kconfig new file mode 100644 index 000000000..835cb1093 --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/Kconfig @@ -0,0 +1,33 @@ +if ARCH_HI3716MV420N +menu "Hi3716MV420N board feature" + +config MACH_HI3716MV420N + bool "Support Hi3716MV420N platform" + select CPU_V7 + select ARM_GIC + select ARM_TIMER_SP804 + select COMMON_CLK + select ARCH_REQUIRE_GPIOLIB + select DYNAMIC_DEBUG + help + Include support for the hisilion Hi3716MV420N platform. + Hi3716MV420N support ARM CORTEX-A9 processer, + within a Generic Interrupt Controller. + Support DDR2 and DDR3. + +config DEFAULT_UART_BASE_ADDR + hex "Default uart controller base address" + default "0xF8B00000" + help + Default UART controller base address + +config MMZ_PARAM + string "MMZ param for CMA and ION" + depends on CMA + default "ddr,0,0,320M" if MACH_HI3716MV420N + help + This is the parameter of mmz memory manager, which now is for CMA + and ION memory manager. + +endmenu +endif diff --git a/arch/arm/mach-hi3716mv420n/Makefile b/arch/arm/mach-hi3716mv420n/Makefile new file mode 100644 index 000000000..fdab15477 --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/Makefile @@ -0,0 +1,12 @@ +# +# Makefile for the linux kernel. +# + + +KBUILD_AFLAGS :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=softvfp+vfp) +LDFLAGS +=--no-warn-mismatch + +obj-y := core.o +obj-$(CONFIG_HW_PERF_EVENTS) += pmu.o +obj-$(CONFIG_SMP) += platsmp.o headsmp.o +obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o diff --git a/arch/arm/mach-hi3716mv420n/Makefile.boot b/arch/arm/mach-hi3716mv420n/Makefile.boot new file mode 100644 index 000000000..aa739ea10 --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/Makefile.boot @@ -0,0 +1,4 @@ +zreladdr-y := 0x00008000 +params_phys-y := 0x00000100 +initrd_phys-y := 0x00800000 +LOADADDR := 0x02000000 diff --git a/arch/arm/mach-hi3716mv420n/core.c b/arch/arm/mach-hi3716mv420n/core.c new file mode 100644 index 000000000..5eb3180f2 --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/core.c @@ -0,0 +1,124 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "platsmp.h" + +/*****************************************************************************/ + +static struct map_desc s40_io_desc[] __initdata = { + /* S40_IOCH1 */ + { + .virtual = S40_IOCH1_VIRT, + .pfn = __phys_to_pfn(S40_IOCH1_PHYS), + .length = S40_IOCH1_SIZE, + .type = MT_DEVICE + }, + /* S40_IOCH2 */ + { + .virtual = S40_IOCH2_VIRT, + .pfn = __phys_to_pfn(S40_IOCH2_PHYS), + .length = S40_IOCH2_SIZE, + .type = MT_DEVICE + }, +}; +/******************************************************************************/ + +static void __init s40_map_io(void) +{ + iotable_init(s40_io_desc, ARRAY_SIZE(s40_io_desc)); +} +/*****************************************************************************/ + +static void __init s40_reserve(void) +{ +} +/******************************************************************************/ + +static void __init s40_init_early(void) +{ + /* + * 1. enable L1 prefetch [2] + * 4. enable allocation in one cache way only. [8] + */ + asm volatile ( + " mrc p15, 0, r0, c1, c0, 1\n" + " orr r0, r0, #0x104\n" + " mcr p15, 0, r0, c1, c0, 1\n" + : + : + : "r0", "cc"); +} +/*****************************************************************************/ + +static void s40_restart(enum reboot_mode mode, const char *cmd) +{ + unsigned int val; + + printk(KERN_INFO "CPU will restart."); + + mdelay(200); + + local_irq_disable(); + /* enable the wdg0 crg clock */ + val = readl(__io_address(REG_BASE_CRG + REG_PERI_CRG94)); + val &= ~(1<<4); + val |= 1; + writel(val, __io_address(REG_BASE_CRG + REG_PERI_CRG94)); + udelay(1); + + /* unclock wdg */ + writel(0x1ACCE551, __io_address(REG_BASE_WDG0 + 0xc00)); + /* wdg load value */ + writel(0x00000100, __io_address(REG_BASE_WDG0 + 0x0)); + /* bit0: int enable bit1: reboot enable */ + writel(0x00000003, __io_address(REG_BASE_WDG0 + 0x8)); + + while (1); + + BUG(); +} +/*****************************************************************************/ +extern void __init s40_timer_init(void); + +static const char * const s40_dt_board_compat[] = { + "hi3716cv200-series", + "hi3716mv410-series", + NULL +}; + +DT_MACHINE_START(S40, "bigfish") + .dt_compat = s40_dt_board_compat, + .atag_offset = 0x100, + .map_io = s40_map_io, + .init_early = s40_init_early, + .smp = smp_ops(s40_smp_ops), + .reserve = s40_reserve, + .restart = s40_restart, +MACHINE_END diff --git a/arch/arm/mach-hi3716mv420n/headsmp.S b/arch/arm/mach-hi3716mv420n/headsmp.S new file mode 100644 index 000000000..9c4a4012e --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/headsmp.S @@ -0,0 +1,98 @@ +/* + * + * clone from linux/arch/arm/mach-realview/headsmp.S + * + * Copyright (c) 2003 ARM Limited + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#include +#include + +/* + * Realview specific entry point for secondary CPUs. This provides + * a "holding pen" into which all secondary cores are held until we're + * ready for them to initialise. + */ +ENTRY(s40_secondary_startup) + + /* set the cpu to SVC32 mode */ + mrs r0, cpsr + bic r0, r0, #0x1f /* r0 = ((~0x1F) & r0) */ + orr r0, r0, #0xd3 /* r0 = (0xd3 | r0) */ + msr cpsr, r0 + + /* secure os enable in slave_bootup.S */ +#ifndef CONFIG_SECURE_EXTENSION + /* CPUCTLR.SMPEN */ + mrrc p15,1,r0,r1,c15 + orr r0, r0, #0x40 @ enable data coherency with other cores in the cluster + mcrr p15,1,r0,r1,c15 + + bl flash_cache_all +#endif + + mrc p15, 0, r0, c0, c0, 5 + and r0, r0, #15 + adr r4, 1f + ldmia r4, {r5, r6} + sub r4, r4, r5 + add r6, r6, r4 +pen: ldr r7, [r6] + cmp r7, r0 + bne pen + + /* + * we've been released from the holding pen: secondary_stack + * should now contain the SVC stack for this core + */ + b secondary_startup + +1: .long . + .long pen_release + +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@ +@ corrupt: r0, r1, r2, r3 +@ +.align 2 +flash_cache_all: + + /* disable MMU stuff and caches */ + mrc p15, 0, r0, c1, c0, 0 + orr r0, r0, #0x00002000 /* clear bits 13 (--V-) */ + bic r0, r0, #0x00000007 /* clear bits 2:0 (-CAM) */ + orr r0, r0, #0x00000002 /* set bit 1 (--A-) Align */ + orr r0, r0, #0x00000800 /* set bit 12 (Z---) BTB */ + mcr p15, 0, r0, c1, c0, 0 + + /* + * Invalidate L1 I/D + */ + mov r0, #0 /* set up for MCR */ + mcr p15, 0, r0, c8, c7, 0 /* invalidate TLBs */ + mcr p15, 0, r0, c7, c5, 0 /* invalidate icache */ + + /* Invalidate L1 D-cache */ + mcr p15, 2, r0, c0, c0, 0 /* select L1 data cache */ + mrc p15, 1, r3, c0, c0, 0 /* Read Current Cache Size Identification Register */ + ldr r1, =0x1ff + and r3, r1, r3, LSR #13 /* r3 = (number of sets -1) */ + mov r0, #0 +way_loop: + mov r1, #0 /* r1->set counter */ +line_loop: + mov r2, r0, LSL #30 + orr r2, r1, LSL #5 /* r2->set/way cache-op format */ + mcr p15, 0, r2, c7, c6, 2 /* Invalidate line described by r2 */ + add r1, r1, #1 /* Increment set counter */ + cmp r1, r3 /* Check if the last set is reached... */ + ble line_loop /* if not, continue the set_loop */ + add r0, r0, #1 /* else, Increment way counter */ + cmp r0, #4 /* Check if the last way is reached... */ + blt way_loop /* if not, continue the way_loop */ + + mov pc, lr diff --git a/arch/arm/mach-hi3716mv420n/hi_cma.c b/arch/arm/mach-hi3716mv420n/hi_cma.c new file mode 100644 index 000000000..099d3fcdc --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/hi_cma.c @@ -0,0 +1,136 @@ +#include +#include +#include +#include +#include + +#define NAME_LEN_MAX 64 +#define ZONE_MAX 64 +#define MMZ_SETUP_CMDLINE_LEN 256 + +struct cma_zone { + struct device pdev; + char name[NAME_LEN_MAX]; + unsigned long gfp; + unsigned long phys_start; + unsigned long nbytes; + unsigned int alloc_type; + unsigned long block_align; +}; + +static unsigned int num_zones; +static struct cma_zone hisi_zone[ZONE_MAX]; + +#ifdef CONFIG_MMZ_PARAM +static char __initdata default_cmd[MMZ_SETUP_CMDLINE_LEN] = CONFIG_MMZ_PARAM; +#else +static char __initdata default_cmd[MMZ_SETUP_CMDLINE_LEN] = "ddr,0,0,160M"; +#endif +static int use_bootargs; + +unsigned int get_cma_size(void) +{ + int i; + u64 total = 0; + + for (i = 0; i < num_zones; i++) + total += hisi_zone[i].nbytes; + + /* unit is M */ + return (unsigned int)(total >> 20); +} + +static int __init hisi_mmz_parse_cmdline(char *s) +{ + char *line, *tmp; + char tmpline[256]; + + strncpy(tmpline, s, sizeof(tmpline)); + tmpline[sizeof(tmpline)-1] = '\0'; + tmp = tmpline; + + while ((line = strsep(&tmp, ":")) != NULL) { + int i; + char *argv[6]; + + for (i = 0; (argv[i] = strsep(&line, ",")) != NULL;) + if (++i == ARRAY_SIZE(argv)) + break; + + hisi_zone[num_zones].pdev.coherent_dma_mask = DMA_BIT_MASK(64); + if (i == 4) { + strlcpy(hisi_zone[num_zones].name, argv[0], NAME_LEN_MAX); + hisi_zone[num_zones].gfp = memparse(argv[2], NULL); + hisi_zone[num_zones].phys_start = memparse(argv[2], NULL); + hisi_zone[num_zones].nbytes = memparse(argv[3], NULL); + } + + else if (i == 6) { + strlcpy(hisi_zone[num_zones].name, argv[0], NAME_LEN_MAX); + hisi_zone[num_zones].gfp = memparse(argv[1], NULL); + hisi_zone[num_zones].phys_start = memparse(argv[2], NULL); + hisi_zone[num_zones].nbytes = memparse(argv[3], NULL); + hisi_zone[num_zones].alloc_type = memparse(argv[4], NULL); + hisi_zone[num_zones].block_align = memparse(argv[5], NULL); + } else { + pr_err("hisi ion parameter is not correct\n"); + continue; + } + + num_zones++; + } + if (num_zones != 0) + use_bootargs = 1; + + return 0; +} +early_param("mmz", hisi_mmz_parse_cmdline); + +struct cma_zone *hisi_get_cma_zone(const char *name) +{ + int i = 0; + + for (i = 0; i < num_zones; i++) + if (strcmp(hisi_zone[i].name, name) == 0) + break; + + if (i == num_zones) + return NULL; + + return &hisi_zone[i]; +} +EXPORT_SYMBOL(hisi_get_cma_zone); + +struct device *hisi_get_cma_device(const char *name) +{ + int i = 0; + + for (i = 0; i < num_zones; i++) + if (strcmp(hisi_zone[i].name, name) == 0) + break; + + if (i == num_zones) + return NULL; + + return &hisi_zone[i].pdev; +} +EXPORT_SYMBOL(hisi_get_cma_device); + +int hisi_declare_heap_memory(void) +{ + int i; + int ret = 0; + + if (use_bootargs == 0) + hisi_mmz_parse_cmdline(default_cmd); + for (i = 0; i < num_zones; i++) { + ret = dma_declare_contiguous(&hisi_zone[i].pdev, \ + hisi_zone[i].nbytes, hisi_zone[i].phys_start, 0); + if (!ret) + panic("declare configuous memory name :%s base: %lu size :%luMB failed", \ + hisi_zone[i].name, hisi_zone[i].phys_start, hisi_zone[i].nbytes>>20); + hisi_zone[i].phys_start = ret; + /*FIXME need to fix dma_declare_contiguous return value &&value type*/ + } + return ret; +} diff --git a/arch/arm/mach-hi3716mv420n/hotplug.c b/arch/arm/mach-hi3716mv420n/hotplug.c new file mode 100644 index 000000000..7faeb3108 --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/hotplug.c @@ -0,0 +1,161 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include + +/*****************************************************************************/ + +static inline void s40_scu_power_off(int cpu) +{ + + for (;;) { + smp_mb(); + /* + * here's the WFI + */ + asm(".word 0xe320f003\n" + : + : + : "memory", "cc"); + + if (pen_release == cpu_logical_map(cpu)) { + /* + * OK, proper wakeup, we're done + */ + break; + } + } +} +/******************************************************************************/ + +static inline void s5_scu_power_off(int cpu) +{ + for (;;) { + smp_mb(); + /* + * here's the WFI + */ + asm(".word 0xe320f003\n" + : + : + : "memory", "cc"); + + if (pen_release == cpu_logical_map(cpu)) { + /* + * OK, proper wakeup, we're done + */ + break; + } + } + +} +/*****************************************************************************/ + +void s40_cpu_die(unsigned int cpu) +{ + u64 chipid = get_chipid(0ULL); + + flush_cache_all(); + + if (chipid == _HI3798CV100A || + chipid == _HI3798CV100 || + chipid == _HI3796CV100) { + s5_scu_power_off(cpu); + } else { + s40_scu_power_off(cpu); + } +} +/*****************************************************************************/ +/* + * copy startup code to sram, and flash cache. + * @start_addr: slave start phy address + * @jump_addr: slave jump phy address + */ +void set_scu_boot_addr(unsigned int start_addr, unsigned int jump_addr) +{ + unsigned int *virtaddr; + unsigned int *p_virtaddr; + + p_virtaddr = virtaddr = ioremap(start_addr, PAGE_SIZE); + + *p_virtaddr++ = 0xe51ff004; /* ldr pc, [pc, #-4] */ + *p_virtaddr++ = jump_addr; /* pc jump phy address */ + + smp_wmb(); + __cpuc_flush_dcache_area((void *)virtaddr, + (size_t)((char *)p_virtaddr - (char *)virtaddr)); + outer_clean_range(__pa(virtaddr), __pa(p_virtaddr)); + + iounmap(virtaddr); +} +/*****************************************************************************/ + +void s40_scu_power_up(int cpu) +{ + unsigned int regval; + static int init_flags = 0; + + if (!init_flags) { + writel(0x3, __io_address(REG_PERI_PMC3)); + writel(0xffff88, __io_address(REG_PERI_PMC1)); + init_flags++; + } + + regval = readl(__io_address(REG_BASE_PMC)); + /* a9_core1_pd_req=0, enable core1 power*/ + regval &= ~(1 << 3); + /* a9_core1_wait_mtcoms_ack=0, no wait ack */ + regval &= ~(1 << 8); + /* a9_core1_mtcmos_reg=1, core1 mtcoms power on */ + regval |= (1 << 0); + writel(regval, __io_address(REG_BASE_PMC)); + + /* clear the slave cpu reset */ + regval = readl(__io_address(A9_REG_BASE_RST)); + regval &= ~(1 << 17); + writel(regval, __io_address(A9_REG_BASE_RST)); +} +/******************************************************************************/ + +void s5_scu_power_up(int cpu) +{ + unsigned int regval; + static int init_flags = 0; + + if (!init_flags) { + writel(0x3, __io_address(REG_PERI_PMC3)); + writel(0xffff88, __io_address(REG_PERI_PMC1)); + init_flags++; + } + + /* clear the slave cpu reset */ + regval = readl(__io_address(A9_REG_BASE_RST)); + if (regval & (1 << (12 + cpu))) { + regval &= ~(1 << (12 + cpu)); + writel(regval, __io_address(A9_REG_BASE_RST)); + } +} + diff --git a/arch/arm/mach-hi3716mv420n/hotplug.h b/arch/arm/mach-hi3716mv420n/hotplug.h new file mode 100644 index 000000000..f9bdf892a --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/hotplug.h @@ -0,0 +1,32 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#ifndef HOTPLUGH +#define HOTPLUGH +/******************************************************************************/ + +void s40_cpu_die(unsigned int cpu); + +void set_scu_boot_addr(unsigned int start_addr, unsigned int jump_addr); + +void s40_scu_power_up(int cpu); +void s5_scu_power_up(int cpu); + +/******************************************************************************/ +#endif /* HOTPLUGH */ diff --git a/arch/arm/mach-hi3716mv420n/include/mach/debug-macro.S b/arch/arm/mach-hi3716mv420n/include/mach/debug-macro.S new file mode 100644 index 000000000..40b0c8df0 --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/include/mach/debug-macro.S @@ -0,0 +1,9 @@ +#include +#include + +.macro addruart, rp, rv, tmp + ldr \rp, =CONFIG_DEFAULT_UART_BASE_ADDR @physical base + ldr \rv, =(CONFIG_DEFAULT_UART_BASE_ADDR +IO_OFFSET_LOW) @virtual base +.endm + +#include diff --git a/arch/arm/mach-hi3716mv420n/include/mach/hardware.h b/arch/arm/mach-hi3716mv420n/include/mach/hardware.h new file mode 100644 index 000000000..961f5dbf9 --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/include/mach/hardware.h @@ -0,0 +1,13 @@ +#ifndef __ASM_ARCH_HARDWARE_H +#define __ASM_ARCH_HARDWARE_H + +#include +#include + +#ifndef __ASSEMBLY__ +# include +#endif + +#define __io_address(n) (IOMEM(IO_ADDRESS(n))) + +#endif diff --git a/arch/arm/mach-hi3716mv420n/include/mach/io.h b/arch/arm/mach-hi3716mv420n/include/mach/io.h new file mode 100644 index 000000000..b5dc7b558 --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/include/mach/io.h @@ -0,0 +1,30 @@ +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +#define __mem_pci(a) (a) + +/* phys_addr virt_addr + * 0xF800_0000 <-----> 0xF900_0000 + */ +#define S40_IOCH1_VIRT (0xF9000000) +#define S40_IOCH1_PHYS (0xF8000000) +#define S40_IOCH1_SIZE (0x02000000) + +/* phys_addr virt_addr + * 0xFF000000 <-----> 0xFB000000 + * Only for s5 platform + */ +#define S40_IOCH2_VIRT (0xFB000000) +#define S40_IOCH2_PHYS (0xFF000000) +#define S40_IOCH2_SIZE (0x00430000) + +#define IO_OFFSET_LOW (0x1000000) +#define IO_OFFSET_HIGH (0x4000000) + +#define IO_ADDRESS(x) ((x) >= S40_IOCH2_PHYS ? (x)- IO_OFFSET_HIGH\ + : (x) + IO_OFFSET_LOW) + +#define IO_ADDRESS_LOW(x) ((x) + IO_OFFSET_LOW) +#define IO_ADDRESS_HIGH(x) ((x) - IO_OFFSET_HIGH) + +#endif diff --git a/arch/arm/mach-hi3716mv420n/include/mach/irqs.h b/arch/arm/mach-hi3716mv420n/include/mach/irqs.h new file mode 100644 index 000000000..aa01ed012 --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/include/mach/irqs.h @@ -0,0 +1,54 @@ +#ifndef __HI_IRQS_H__ +#define __HI_IRQS_H__ + +#define HISI_GIC_IRQ_START (32) +#define IRQ_LOCALTIMER (29) +#define INTNR_COMMTX0 (HISI_GIC_IRQ_START + 0) +#define INTNR_COMMRX0 (HISI_GIC_IRQ_START + 2) +#define INTNR_WATCHDOG (HISI_GIC_IRQ_START + 4) +#define INTNR_TIMER_0_1 (HISI_GIC_IRQ_START + 24) +#define INTNR_TIMER_2_3 (HISI_GIC_IRQ_START + 25) +#define INTNR_TIMER_3 (HISI_GIC_IRQ_START + 58) /* for Hi3716Mv410 */ +#define INTNR_TIMER_4_5 (HISI_GIC_IRQ_START + 26) +#define INTNR_TIMER_6_7 (HISI_GIC_IRQ_START + 27) +#define INTNR_TIMER_8_9 (HISI_GIC_IRQ_START + 28) //Only for s5 platform +#define INTNR_TIMER_A_B (HISI_GIC_IRQ_START + 52) //Only for s5 platform +#define INTNR_TIMER_C_D (HISI_GIC_IRQ_START + 53) //Only for s5 platform +#define INTNR_GPIO_0 (HISI_GIC_IRQ_START + 9) +#define INTNR_GPIO_1 (HISI_GIC_IRQ_START + 10) +#define INTNR_GPIO_2 (HISI_GIC_IRQ_START + 11) +#define INTNR_GPIO_3 (HISI_GIC_IRQ_START + 12) +#define INTNR_GPIO_4 (HISI_GIC_IRQ_START + 13) +#define INTNR_GPIO_5 (HISI_GIC_IRQ_START + 14) +#define INTNR_GPIO_6 (HISI_GIC_IRQ_START + 15) +#define INTNR_GPIO_7 (HISI_GIC_IRQ_START + 16) +#define INTNR_GPIO_8 (HISI_GIC_IRQ_START + 17) +#define INTNR_GPIO_9 (HISI_GIC_IRQ_START + 18) +#define INTNR_GPIO_10 (HISI_GIC_IRQ_START + 19) +#define INTNR_GPIO_11 (HISI_GIC_IRQ_START + 20) +#define INTNR_GPIO_12 (HISI_GIC_IRQ_START + 21) +#define INTNR_I2C0 (HISI_GIC_IRQ_START + 22) +#define INTNR_I2C1 (HISI_GIC_IRQ_START + 23) +#define INTNR_I2C2 (HISI_GIC_IRQ_START + 24) +#define INTNR_I2C3 (HISI_GIC_IRQ_START + 25) +#define INTNR_UART0 (HISI_GIC_IRQ_START + 49) +#define INTNR_UART1 (HISI_GIC_IRQ_START + 50) +#define INTNR_UART2 (HISI_GIC_IRQ_START + 51) +#define INTNR_UART3 (HISI_GIC_IRQ_START + 52) +#define INTNR_UART4 (HISI_GIC_IRQ_START + 53) + +#define INTNR_ETH (HISI_GIC_IRQ_START + 51) +#define INTNR_L2CACHE_CHK0_INT (HISI_GIC_IRQ_START + 72) +#define INTNR_L2CACHE_CHK1_INT (HISI_GIC_IRQ_START + 73) +#define INTNR_L2CACHE_INT_COMB (HISI_GIC_IRQ_START + 74) +#define INTNR_A9_PMU_INT0 (HISI_GIC_IRQ_START + 8) +#define INTNR_A9_PMU_INT1 (HISI_GIC_IRQ_START + 9) +#define INTNR_A9_PMU_INT2 (HISI_GIC_IRQ_START + 10) //Only for s5 platform +#define INTNR_A9_PMU_INT3 (HISI_GIC_IRQ_START + 11) //Only for s5 platform + +/* HISI_GIC_IRQ_START + 160 ~ HISI_GIC_IRQ_START + 320 reserve for gpio */ +#define VIRT_IRQS_START (HISI_GIC_IRQ_START + 160) +#define NR_IRQS (VIRT_IRQS_START + 160) +#define MAX_GIC_NR 1 + +#endif diff --git a/arch/arm/mach-hi3716mv420n/include/mach/memory.h b/arch/arm/mach-hi3716mv420n/include/mach/memory.h new file mode 100644 index 000000000..fc2ab58aa --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/include/mach/memory.h @@ -0,0 +1,20 @@ +#ifndef __ASM_ARCH_MEMORY_H +#define __ASM_ARCH_MEMORY_H + +#define CONFIG_PHYS_OFFSET UL(0x0) + +/* ddr max size */ +#define PLAT_PHYS_END UL(0xC0000000) + +/* + * sdk use mmap + /dev/mem widely, by default mmap("/dev/mem") + * will map non-system memory(!pfn_valid) as strong order, + * but we want to chang it to normal non-cached, because of + * 1) normal non-cached has a better performance than strong order + * 2) unaligned access(i.e. in software decoder) will fault in + * data abort exception for ARM architecture reason. + * see phys_mem_access_prot() in /driver/char/mem.c + */ +#define is_ddr(phys) ((phys) >= CONFIG_PHYS_OFFSET && (phys) <= PLAT_PHYS_END) + +#endif /* __ASM_ARCH_MEMORY_H */ diff --git a/arch/arm/mach-hi3716mv420n/include/mach/platform.h b/arch/arm/mach-hi3716mv420n/include/mach/platform.h new file mode 100644 index 000000000..dd091a888 --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/include/mach/platform.h @@ -0,0 +1,164 @@ +#ifndef __HI_CHIP_REGS_H__ +#define __HI_CHIP_REGS_H__ + +#include + +/* SRAM Base Address Register */ +#define SRAM_BASE_ADDRESS 0xFFFF0000 + +#define S40_REG_BASE 0xF8000000 +#define REG_BASE_SCTL (S40_REG_BASE + 0) + + +#define REG_BASE_TIMER01 0xF8002000 +#define REG_BASE_TIMER23 0xF8A29000 +#define REG_BASE_TIMER45 0xF8A2A000 +#define REG_BASE_TIMER67 0xF8A2B000 +#define REG_BASE_TIMER89 0xF8A81000 //Only for s5 platform +#define REG_BASE_TIMERAB 0xF8A82000 //Only for s5 platform +#define REG_BASE_TIMERCD 0xF8A83000 //Only for s5 platform + + +#define REG_BASE_SCI0 0x101F3000 +#define REG_BASE_SCI1 0x101F4000 +#define REG_BASE_CRG 0xF8A22000 +#define A9_REG_BASE_RST 0xF8A22050 + +#define HIETHPHY_SYSREG_REG 0x0120 + +#define REG_BASE_PMC 0xF8A23000 +#define REG_PERI_PMC0 (REG_BASE_PMC) +#define REG_PERI_PMC1 (REG_BASE_PMC + 0x4) +#define REG_PERI_PMC2 (REG_BASE_PMC + 0x8) +#define REG_PERI_PMC3 (REG_BASE_PMC + 0xC) +#define REG_PERI_PMC4 (REG_BASE_PMC + 0x10) +#define REG_PERI_PMC5 (REG_BASE_PMC + 0x14) +#define REG_PERI_PMC6 (REG_BASE_PMC + 0x18) +#define REG_PERI_PMC7 (REG_BASE_PMC + 0x1C) +#define REG_PERI_PMC8 (REG_BASE_PMC + 0x20) +#define REG_PERI_PMC9 (REG_BASE_PMC + 0x24) + +#define REG_BASE_UART0 0xF8B00000 +#define REG_BASE_UART1 0xF8006000 +#define REG_BASE_UART2 0xF8B02000 +#define REG_BASE_UART3 0xF8B03000 +#define REG_BASE_UART4 0xF8B04000 +#define REG_BASE_CUR_UART REG_BASE_UART0 + +#define REG_BASE_PERI_CTRL 0xF8A20000 +#define REG_BASE_PERI_CTRL_START_MODE (REG_BASE_PERI_CTRL) + +#define REG_BASE_A9_PERI 0xF8A00000 +#define REG_BASE_CSSYS 0x10330000 +#define REG_BASE_DNR 0x10450000 + +#define REG_BASE_L2CACHE 0xF8A10000 + + +/*CORTTX-A9 MPCORE MEMORY REGION*/ +#define REG_A9_PERI_SCU 0x0000 +#define REG_A9_PERI_GIC_CPU 0x0100 +#define REG_A9_PERI_GLOBAL_TIMER 0x0200 +#define REG_A9_PERI_PRI_TIMER_WDT 0x0600 +#define REG_A9_PERI_GIC_DIST 0x1000 + + +/* CA clock and reset register */ +#define REG_PERI_CRG29 0x00B4 + +#define CA_CTRL_PROC 0x78 +#define CA_VENDOR_OFFSET 28 +#define CA_VENDOR_MASK 0x0f +#define CA_TYPE_NO_CA 0 +#define CA_TYPE_NAGRA 1 + +/* SYSTEM CONTROL REG */ +#define REG_SC_CTRL 0x0000 +#define REG_SC_SYSRES 0x0004 +#define REG_SC_XTALCTRL 0x0010 +#define REG_SC_APLLCTRL 0x0014 +#define REG_SC_APLLFREQCTRL0 0x0018 +#define REG_SC_APLLFREQCTRL1 0x001C +#define REG_SC_VPLL0FREQCTRL0 0x0020 +#define REG_SC_VPLL0FREQCTRL1 0x0024 +#define REG_SC_VPLL1FREQCTRL0 0x0028 +#define REG_SC_VPLL1FREQCTRL1 0x002C +#define REG_SC_EPLLFREQCTRL0 0x0030 +#define REG_SC_EPLLFREQCTRL1 0x0034 +#define REG_SC_QPLLFREQCTRL0 0x0038 +#define REG_SC_QPLLFREQCTRL1 0x003C +#define REG_SC_LOW_POWER_CTRL 0x0040 +#define REG_SC_IO_REUSE_SEL 0x0044 +#define REG_SC_SRST_REQ_CTRL 0x0048 +#define REG_SC_CA_RST_CTRL 0x004C +#define REG_SC_WDG_RST_CTRL 0x0050 +#define REG_SC_DDRC_DFI_RST_CTRL 0x0054 +#define REG_SC_PLLLOCK_STAT 0x0070 +#define REG_SC_GEN0 0x0080 +#define REG_SC_GEN1 0x0084 +#define REG_SC_GEN2 0x0088 +#define REG_SC_GEN3 0x008C +#define REG_SC_GEN4 0x0090 +#define REG_SC_GEN5 0x0094 +#define REG_SC_GEN6 0x0098 +#define REG_SC_GEN7 0x009C +#define REG_SC_GEN8 0x00A0 +#define REG_SC_GEN9 0x00A4 +#define REG_SC_GEN10 0x00A8 +#define REG_SC_GEN11 0x00AC +#define REG_SC_GEN12 0x00B0 +#define REG_SC_GEN13 0x00B4 +#define REG_SC_GEN14 0x00B8 +#define REG_SC_GEN15 0x00BC +#define REG_SC_GEN16 0x00C0 +#define REG_SC_GEN17 0x00C4 +#define REG_SC_GEN18 0x00C8 +#define REG_SC_GEN19 0x00CC +#define REG_SC_GEN20 0x00D0 +#define REG_SC_GEN21 0x00D4 +#define REG_SC_GEN22 0x00D8 +#define REG_SC_GEN23 0x00DC +#define REG_SC_GEN24 0x00E0 +#define REG_SC_GEN25 0x00E4 +#define REG_SC_GEN26 0x00E8 +#define REG_SC_GEN27 0x00EC +#define REG_SC_GEN28 0x00F0 +#define REG_SC_GEN29 0x00F4 +#define REG_SC_GEN30 0x00F8 +#define REG_SC_GEN31 0x00FC +#define REG_SC_LOCKEN 0x020C +#define REG_SC_SYSID0 0x0EE0 +#define REG_SC_SYSID1 0x0EE4 +#define REG_SC_SYSID2 0x0EE8 +#define REG_SC_SYSID3 0x0EEC + +#define REG_CHECK_AREA_NUM 0x0FB0 +#define REG_START_ADDR(i) (0x0FB4 + (i) * 8) +#define REG_SIZE(i) (0x0FB8 + (i) * 8) +#define REG_SC_CEP 0x0FF4 +#define REG_SC_WAKEUP_FLAG 0x0FF8 + +#define DDR_WAKEUP_FLAG 0x66031013 + +#define REG_PERI_SOC_FUSE 0x840 + +#define REG_BASE_WDG0 0xF8A2C000 +#define REG_BASE_WDG1 0xF8A2D000 +#define REG_PERI_CRG94 0x178 + +#define CFG_GIC_CPU_BASE (IO_ADDRESS(REG_BASE_A9_PERI) + REG_A9_PERI_GIC_CPU) +#define CFG_GIC_DIST_BASE (IO_ADDRESS(REG_BASE_A9_PERI) + REG_A9_PERI_GIC_DIST) + +#define DDR_SUSPEND_SIZE 0x1000 /* size 1KB */ + +/*********************************************************************/ +/* + * 0x1-> init item1 + * 0x2-> init item2 + * 0x3->init item1 & item2 + */ +#define INIT_REG_ITEM1 1 +#define INIT_REG_ITEM2 2 +#define INIT_REG_ITEM1_ITEM2 (INIT_REG_ITEM1 | INIT_REG_ITEM2) + +#endif /*End of __HI_CHIP_REGS_H__ */ diff --git a/arch/arm/mach-hi3716mv420n/include/mach/timex.h b/arch/arm/mach-hi3716mv420n/include/mach/timex.h new file mode 100644 index 000000000..5c9ae566c --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/include/mach/timex.h @@ -0,0 +1,6 @@ +#ifndef __HISI_TIMEX__ +#define __HISI_TIMEX__ + +#define CLOCK_TICK_RATE 25000000 + +#endif diff --git a/arch/arm/mach-hi3716mv420n/include/mach/uncompress.h b/arch/arm/mach-hi3716mv420n/include/mach/uncompress.h new file mode 100644 index 000000000..1fbad984e --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/include/mach/uncompress.h @@ -0,0 +1,38 @@ +#ifndef __HISI_UNCOMPRESS_H__ +#define __HISI_UNCOMPRESS_H__ +#include +#include + +#define AMBA_UART_DR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x0)) +#define AMBA_UART_LCRH \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x2c)) +#define AMBA_UART_CR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x30)) +#define AMBA_UART_FR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x18)) + +/* + * This does not append a newline + */ +static inline void putc(int c) +{ + while (AMBA_UART_FR & (1 << 5)) + barrier(); + + AMBA_UART_DR = c; +} + +static inline void flush(void) +{ + while (AMBA_UART_FR & (1 << 3)) + barrier(); +} + +/* + * nothing to do + */ +#define arch_decomp_setup() +#define arch_decomp_wdog() + +#endif diff --git a/arch/arm/mach-hi3716mv420n/platsmp.c b/arch/arm/mach-hi3716mv420n/platsmp.c new file mode 100644 index 000000000..433cff2ba --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/platsmp.c @@ -0,0 +1,192 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "platsmp.h" +#include "hotplug.h" + +#include + +extern u32 scureg_base; + +static DEFINE_SPINLOCK(boot_lock); + +/*****************************************************************************/ + +static void __iomem *scu_base_addr(void) +{ + return __io_address(REG_BASE_A9_PERI + REG_A9_PERI_SCU); +} +/*****************************************************************************/ + +static void write_pen_release(int val) +{ + pen_release = val; + smp_wmb(); + __cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release)); + outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1)); +} +/*****************************************************************************/ + +static int s40_boot_secondary(unsigned int cpu, + struct task_struct *idle) +{ + unsigned long timeout; + u64 chipid = get_chipid(0ULL); + + set_scu_boot_addr(0xFFFF0000, + (unsigned int)virt_to_phys(s40_secondary_startup)); + + /* + * set synchronisation state between this boot processor + * and the secondary one + */ + spin_lock(&boot_lock); + + if (chipid == _HI3798CV100A || + chipid == _HI3798CV100 || + chipid == _HI3796CV100) { + s5_scu_power_up(cpu); + } else { + s40_scu_power_up(cpu); + } + + /* + * The secondary processor is waiting to be released from + * the holding pen - release it, then wait for it to flag + * that it has been released by resetting pen_release. + * + * Note that "pen_release" is the hardware CPU ID, whereas + * "cpu" is Linux's internal ID. + */ + write_pen_release(cpu); + + /* + * Send the secondary CPU a soft interrupt, thereby causing + * the boot monitor to read the system wide flags register, + * and branch to the address found there. + */ + arch_send_wakeup_ipi_mask(cpumask_of(cpu)); + + /* + * Send the secondary CPU a soft interrupt, thereby causing + * the boot monitor to read the system wide flags register, + * and branch to the address found there. + */ + timeout = jiffies + (5 * HZ); + while (time_before(jiffies, timeout)) { + smp_rmb(); + if (pen_release == -1) + break; + + udelay(10); + } + + /* + * now the secondary core is starting up let it run its + * calibrations, then wait for it to finish + */ + spin_unlock(&boot_lock); + + return pen_release != -1 ? -ENOSYS : 0; +} +/*****************************************************************************/ + +static void s40_secondary_init(unsigned int cpu) +{ + /* + * 1. enable L1 prefetch [2] + * 2. enable L2 prefetch hint [1]a + * 3. enable write full line of zeros mode. [3]a + * 4. enable allocation in one cache way only. [8] + * a: This feature must be enabled only when the slaves + * connected on the Cortex-A9 AXI master port support it. + */ + asm volatile ( + " mrc p15, 0, r0, c1, c0, 1\n" + " orr r0, r0, #0x0104\n" + " orr r0, r0, #0x02\n" + " mcr p15, 0, r0, c1, c0, 1\n" + : + : + : "r0", "cc"); + + /* + * let the primary processor know we're out of the + * pen, then head off into the C entry point + */ + write_pen_release(-1); + + /* + * Synchronise with the boot thread. + */ + spin_lock(&boot_lock); + spin_unlock(&boot_lock); +} +/*****************************************************************************/ + +static void __init s40_smp_init_cpus(void) +{ + void __iomem *scu_base = scu_base_addr(); + unsigned int i, ncores; + + scureg_base = (u32)scu_base; + ncores = scu_base ? scu_get_core_count(scu_base) : 1; + + /* sanity check */ + if (ncores > NR_CPUS) { + printk(KERN_WARNING + "Realview: no. of cores (%d) greater than configured " + "maximum of %d - clipping\n", + ncores, NR_CPUS); + ncores = NR_CPUS; + } + + for (i = 0; i < ncores; i++) + set_cpu_possible(i, true); +} +/*****************************************************************************/ + +static void __init s40_smp_prepare_cpus(unsigned int max_cpus) +{ + scu_enable(scu_base_addr()); +} +/*****************************************************************************/ + +struct smp_operations s40_smp_ops __initdata = { + .smp_init_cpus = s40_smp_init_cpus, + .smp_prepare_cpus = s40_smp_prepare_cpus, + .smp_secondary_init = s40_secondary_init, + .smp_boot_secondary = s40_boot_secondary, +#ifdef CONFIG_HOTPLUG_CPU + .cpu_die = s40_cpu_die, +#endif +}; diff --git a/arch/arm/mach-hi3716mv420n/platsmp.h b/arch/arm/mach-hi3716mv420n/platsmp.h new file mode 100644 index 000000000..2825bd973 --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/platsmp.h @@ -0,0 +1,30 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +*****************************************************************************/ + +#ifndef __PLATSMP__H__ +#define __PLATSMP__H__ + +extern struct smp_operations s40_smp_ops; + +void s40_scu_power_up(int cpu); +void s40_secondary_startup(void); +void s5_scu_power_up(int cpu); + +#endif + diff --git a/arch/arm/mach-hi3716mv420n/pmu.c b/arch/arm/mach-hi3716mv420n/pmu.c new file mode 100644 index 000000000..57f14ab77 --- /dev/null +++ b/arch/arm/mach-hi3716mv420n/pmu.c @@ -0,0 +1,71 @@ +#include +#include +#include + +static struct resource pmu_resource_s40[] = { + [0] = { + .start = INTNR_A9_PMU_INT0, + .end = INTNR_A9_PMU_INT0, + .flags = IORESOURCE_IRQ, + }, + + [1] = { + .start = INTNR_A9_PMU_INT1, + .end = INTNR_A9_PMU_INT1, + .flags = IORESOURCE_IRQ, + } +}; + +static struct platform_device A9_pmu_device_s40 = { + .name = "arm-pmu", + .id = -1, + .resource = pmu_resource_s40, + .num_resources = ARRAY_SIZE(pmu_resource_s40), +}; + +static struct resource pmu_resource_s5[] = { + [0] = { + .start = INTNR_A9_PMU_INT0, + .end = INTNR_A9_PMU_INT0, + .flags = IORESOURCE_IRQ, + }, + + [1] = { + .start = INTNR_A9_PMU_INT1, + .end = INTNR_A9_PMU_INT1, + .flags = IORESOURCE_IRQ, + }, + + [2] = { + .start = INTNR_A9_PMU_INT2, + .end = INTNR_A9_PMU_INT2, + .flags = IORESOURCE_IRQ, + }, + + [3] = { + .start = INTNR_A9_PMU_INT3, + .end = INTNR_A9_PMU_INT3, + .flags = IORESOURCE_IRQ, + }, +}; + +static struct platform_device A9_pmu_device_s5 = { + .name = "arm-pmu", + .id = -1, + .resource = pmu_resource_s5, + .num_resources = ARRAY_SIZE(pmu_resource_s5), +}; + +static int __init pmu_init(void) +{ + u64 chipid = get_chipid(0ULL); + + if (_HI3798CV100A == chipid || _HI3798CV100 == chipid + || chipid == _HI3796CV100) { + platform_device_register(&A9_pmu_device_s5); + } else { + platform_device_register(&A9_pmu_device_s40); + } + return 0; +}; +arch_initcall(pmu_init); diff --git a/arch/arm/mach-hi3796mv2x/Kconfig b/arch/arm/mach-hi3796mv2x/Kconfig new file mode 100644 index 000000000..e0ad8d887 --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/Kconfig @@ -0,0 +1,29 @@ +if ARCH_HI3796MV2X +menu "HI3796MV2X board feature" + +config MACH_HI3796MV2X + bool "Support hi3796mv2x platform" + select CPU_V7 + select ARM_GIC + select ARM_TIMER_SP804 + select COMMON_CLK + select ARCH_REQUIRE_GPIOLIB + select DYNAMIC_DEBUG + help + Include support for the hisilion HI3796MV2X platform. + HI3796MV2X support ARM CORTEX-A7 processer, + within a Generic Interrupt Controller. + Support DDR2 and DDR3. + +config DEFAULT_UART_BASE_ADDR + hex "Default uart controller base address" + default "0xF8B00000" + help + Default UART controller base address + +config HI3796MV2X_FPGA + bool "Enable HI3796MV2X Fpga config" + default n if ARCH_HI3796MV2X + +endmenu +endif diff --git a/arch/arm/mach-hi3796mv2x/Makefile b/arch/arm/mach-hi3796mv2x/Makefile new file mode 100644 index 000000000..fdab15477 --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/Makefile @@ -0,0 +1,12 @@ +# +# Makefile for the linux kernel. +# + + +KBUILD_AFLAGS :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=softvfp+vfp) +LDFLAGS +=--no-warn-mismatch + +obj-y := core.o +obj-$(CONFIG_HW_PERF_EVENTS) += pmu.o +obj-$(CONFIG_SMP) += platsmp.o headsmp.o +obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o diff --git a/arch/arm/mach-hi3796mv2x/Makefile.boot b/arch/arm/mach-hi3796mv2x/Makefile.boot new file mode 100644 index 000000000..aa739ea10 --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/Makefile.boot @@ -0,0 +1,4 @@ +zreladdr-y := 0x00008000 +params_phys-y := 0x00000100 +initrd_phys-y := 0x00800000 +LOADADDR := 0x02000000 diff --git a/arch/arm/mach-hi3796mv2x/core.c b/arch/arm/mach-hi3796mv2x/core.c new file mode 100644 index 000000000..dd6a55099 --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/core.c @@ -0,0 +1,154 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "platsmp.h" + +void __iomem *s40_gic_cpu_base_addr = IOMEM(CFG_GIC_CPU_BASE); + +/*****************************************************************************/ + +static void __maybe_unused __init hi3798mv2x_gic_init_irq(void) +{ + gic_init(0, HISI_GIC_IRQ_START, IOMEM(CFG_GIC_DIST_BASE), + IOMEM(CFG_GIC_CPU_BASE)); +} +/*****************************************************************************/ + +static struct map_desc hi3798mv2x_io_desc[] __initdata = { + /* HI3798MV2X_IOCH1 */ + { + .virtual = HI3798MV2X_IOCH1_VIRT, + .pfn = __phys_to_pfn(HI3798MV2X_IOCH1_PHYS), + .length = HI3798MV2X_IOCH1_SIZE, + .type = MT_DEVICE + }, +}; +/******************************************************************************/ + +static void __init hi3798mv2x_map_io(void) +{ + iotable_init(hi3798mv2x_io_desc, ARRAY_SIZE(hi3798mv2x_io_desc)); +} +/*****************************************************************************/ + +static void __init hi3798mv2x_reserve(void) +{ +} +/******************************************************************************/ + +static void __init hi3798mv2x_init_early(void) +{ + /* + * 1. enable L1 prefetch [2] + * 4. enable allocation in one cache way only. [8] + */ + asm volatile ( + " mrc p15, 0, r0, c1, c0, 1\n" + " orr r0, r0, #0x104\n" + " mcr p15, 0, r0, c1, c0, 1\n" + : + : + : "r0", "cc"); +} +/*****************************************************************************/ + +#ifdef CONFIG_HIMCIV200_SDIO_SYNOPSYS +static int hi3798mv2x_mci_quirk(void) +{ + void *base = __io_address(REG_BASE_SDIO1); + unsigned int reg_data = 0; + + writel(0x1affe, base + 0x44); + writel(0, base + 0x20); + writel(0, base + 0x1c); + writel(0, base + 0x28); + + writel(0xa000414c, base + 0x2c); + + mdelay(100); + + reg_data = readl(base + 0x00); + reg_data |= 7; + writel(reg_data, base + 0x00); + + writel(0, base + 0x78); + writel(0, base + 0x04); + mdelay(2); + writel(1, base + 0x78); + + return 0; +} +#endif + +static void hi3798mv2x_restart(enum reboot_mode mode, const char *cmd) +{ + printk(KERN_INFO "CPU will restart."); + + mdelay(200); + + local_irq_disable(); + +#ifdef CONFIG_HIMCIV200_SDIO_SYNOPSYS + hi3798mv2x_mci_quirk(); +#endif + + /* unclock wdg */ + writel(0x1ACCE551, __io_address(REG_BASE_WDG0 + 0xc00)); + /* wdg load value */ + writel(0x00000100, __io_address(REG_BASE_WDG0 + 0x0)); + /* bit0: int enable bit1: reboot enable */ + writel(0x00000003, __io_address(REG_BASE_WDG0 + 0x8)); + + while (1) + ; + + BUG(); +} +/*****************************************************************************/ +static const char * const hi3798mv2x_dt_board_compat[] = { + "hi3796mv200-series", + NULL +}; + +#ifdef CONFIG_USE_OF +DT_MACHINE_START(HI3796MV2X, "bigfish") + .dt_compat = hi3798mv2x_dt_board_compat, +#else +MACHINE_START(HI3796MV2X, "bigfish") + .init_irq = hi3798mv2x_gic_init_irq, +#endif + .atag_offset = 0x100, + .map_io = hi3798mv2x_map_io, + .init_early = hi3798mv2x_init_early, + .smp = smp_ops(hi3798mv2x_smp_ops), + .reserve = hi3798mv2x_reserve, + .restart = hi3798mv2x_restart, +MACHINE_END diff --git a/arch/arm/mach-hi3796mv2x/headsmp.S b/arch/arm/mach-hi3796mv2x/headsmp.S new file mode 100644 index 000000000..6735ec3e0 --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/headsmp.S @@ -0,0 +1,78 @@ +/* + * + * clone from linux/arch/arm/mach-realview/headsmp.S + * + * Copyright (c) 2003 ARM Limited + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#include +#include + +/* + * Realview specific entry point for secondary CPUs. This provides + * a "holding pen" into which all secondary cores are held until we're + * ready for them to initialise. + */ +ENTRY(hi3798mv2x_secondary_startup) + + /* set the cpu to SVC32 mode */ + mrs r0, cpsr + bic r0, r0, #0x1f /* r0 = ((~0x1F) & r0) */ + orr r0, r0, #0xd3 /* r0 = (0xd3 | r0) */ + msr cpsr, r0 + + /* CPUCTLR.SMPEN */ + mrrc p15,1,r0,r1,c15 + orr r0, r0, #0x40 @ enable data coherency with other cores in the cluster + mcrr p15,1,r0,r1,c15 + + bl flash_cache_all + + mrc p15, 0, r0, c0, c0, 5 + and r0, r0, #15 + adr r4, 1f + ldmia r4, {r5, r6} + sub r4, r4, r5 + add r6, r6, r4 +pen: ldr r7, [r6] + cmp r7, r0 + bne pen + + /* + * we've been released from the holding pen: secondary_stack + * should now contain the SVC stack for this core + */ + b secondary_startup + +1: .long . + .long pen_release + +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@ +@ corrupt: r0, r1, r2, r3 +@ +.align 2 +flash_cache_all: + mov r8, lr + /* disable MMU stuff and caches */ + mrc p15, 0, r0, c1, c0, 0 + orr r0, r0, #0x00002000 /* clear bits 13 (--V-) */ + bic r0, r0, #0x00000007 /* clear bits 2:0 (-CAM) */ + orr r0, r0, #0x00000002 /* set bit 1 (--A-) Align */ + orr r0, r0, #0x00000800 /* set bit 12 (Z---) BTB */ + mcr p15, 0, r0, c1, c0, 0 + + /* + * Invalidate L1 I/D + */ + mov r0, #0 /* set up for MCR */ + mcr p15, 0, r0, c8, c7, 0 /* invalidate TLBs */ + mcr p15, 0, r0, c7, c5, 0 /* invalidate icache */ + + /* Invalidate L1 D-cache */ + bl v7_invalidate_l1 + mov pc, r8 diff --git a/arch/arm/mach-hi3796mv2x/hotplug.c b/arch/arm/mach-hi3796mv2x/hotplug.c new file mode 100644 index 000000000..c6138c3fc --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/hotplug.c @@ -0,0 +1,131 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static DECLARE_COMPLETION(cpu_killed); + +/*****************************************************************************/ +static inline void cpu_leave_lowpower(void) +{ + unsigned int v; + + asm volatile( + "mrc p15, 0, %0, c1, c0, 0\n" + " orr %0, %0, %1\n" + " mcr p15, 0, %0, c1, c0, 0\n" + " mrc p15, 0, %0, c1, c0, 1\n" + " orr %0, %0, %2\n" + " mcr p15, 0, %0, c1, c0, 1\n" + " isb \n" + " dsb \n" + : "=&r" (v) + : "Ir" (CR_C), "Ir" (0x40) + : "cc"); +} + +/*****************************************************************************/ +static inline void platform_do_lowpower(unsigned int cpu, int *spurious) +{ + for (;;) { + /* + * here's the WFI + */ + + wfi(); + + } +} +/*****************************************************************************/ +/* + * platform-specific code to shutdown a CPU + * + * Called with IRQs disabled + */ +void hi3798mv2x_cpu_die(unsigned int cpu) +{ + int spurious = 0; + + v7_exit_coherency_flush(louis); + asm volatile( \ + ".arch armv7-a \n\t" \ + "mrrc p15, 1, r0, r1, c15 @ get ACTLR \n\t" \ + "bic r0, #(1 << 6) @ disable local coherency \n\t" \ + "mcrr p15, 1, r0, r1, c15 @ set ACTLR \n\t" \ + "isb \n\t" \ + "dsb \n\t" \ + : : : "r0", "r1", "memory" ); + + platform_do_lowpower(cpu, &spurious); + +} + +/*****************************************************************************/ +/* + * copy startup code to sram, and flash cache. + * @start_addr: slave start phy address + * @jump_addr: slave jump phy address + */ +void set_scu_boot_addr(unsigned int start_addr, unsigned int jump_addr) +{ + unsigned int *virtaddr; + uint32_t *soc_tee_en_reg = ioremap(REG_SOC_TEE_ENABLE, PAGE_SIZE); + + BUG_ON(!soc_tee_en_reg); + + printk(KERN_INFO "SOC TEE EN = 0x%X\n", readl(soc_tee_en_reg)); + if (0x42 != (readl(soc_tee_en_reg) >> 8 & 0xFF)) { + virtaddr = ioremap(REG_BASE_SCTL + REG_SC_GEN1, PAGE_SIZE); + + *virtaddr = jump_addr; /* pc jump phy address */ + + smp_wmb(); + __cpuc_flush_dcache_area((void *)virtaddr, + (size_t)sizeof(*virtaddr)); + outer_clean_range(__pa(virtaddr), __pa(virtaddr + sizeof(*virtaddr))); + + iounmap(virtaddr); + }else { + unsigned int *p_virtaddr; + + p_virtaddr = virtaddr = ioremap(start_addr, PAGE_SIZE); + + *p_virtaddr++ = 0xe51ff004; /* ldr pc, [pc, #-4] */ + *p_virtaddr++ = jump_addr; /* pc jump phy address */ + + smp_wmb(); + __cpuc_flush_dcache_area((void *)virtaddr, + (size_t)((char *)p_virtaddr - (char *)virtaddr)); + outer_clean_range(__pa(virtaddr), __pa(p_virtaddr)); + + iounmap(virtaddr); + } + + iounmap(soc_tee_en_reg); +} + + diff --git a/arch/arm/mach-hi3796mv2x/hotplug.h b/arch/arm/mach-hi3796mv2x/hotplug.h new file mode 100644 index 000000000..1aef14ede --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/hotplug.h @@ -0,0 +1,29 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#ifndef HOTPLUGH +#define HOTPLUGH +/******************************************************************************/ + +void hi3798mv2x_cpu_die(unsigned int cpu); + +void set_scu_boot_addr(unsigned int start_addr, unsigned int jump_addr); + +/******************************************************************************/ +#endif /* HOTPLUGH */ diff --git a/arch/arm/mach-hi3796mv2x/include/mach/debug-macro.S b/arch/arm/mach-hi3796mv2x/include/mach/debug-macro.S new file mode 100644 index 000000000..fd26c7896 --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/include/mach/debug-macro.S @@ -0,0 +1,10 @@ +#include +#include + +.macro addruart, rp, rv, tmp + ldr \rp, =CONFIG_DEFAULT_UART_BASE_ADDR @physical base + ldr \rv, =(CONFIG_DEFAULT_UART_BASE_ADDR +IO_OFFSET_LOW) + @ldr \rv, =0xFEC00000 @IO_ADDRESS(CONFIG_DEFAULT_UART_BASE_ADDR +IO_OFFSET_LOW) @virtual base +.endm + +#include diff --git a/arch/arm/mach-hi3796mv2x/include/mach/hardware.h b/arch/arm/mach-hi3796mv2x/include/mach/hardware.h new file mode 100644 index 000000000..961f5dbf9 --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/include/mach/hardware.h @@ -0,0 +1,13 @@ +#ifndef __ASM_ARCH_HARDWARE_H +#define __ASM_ARCH_HARDWARE_H + +#include +#include + +#ifndef __ASSEMBLY__ +# include +#endif + +#define __io_address(n) (IOMEM(IO_ADDRESS(n))) + +#endif diff --git a/arch/arm/mach-hi3796mv2x/include/mach/io.h b/arch/arm/mach-hi3796mv2x/include/mach/io.h new file mode 100644 index 000000000..7b3fb5c9d --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/include/mach/io.h @@ -0,0 +1,22 @@ +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +#include + + +#define __mem_pci(a) (a) + +/* phys_addr virt_addr + * 0xF800_0000 <-----> 0xF900_0000 + */ +#define HI3798MV2X_IOCH1_VIRT (0xF9000000) +#define HI3798MV2X_IOCH1_PHYS (0xF8000000) +#define HI3798MV2X_IOCH1_SIZE (0x02000000) + +#define IO_OFFSET_LOW (0x1000000) + +#define IO_ADDRESS(x) ((x) + IO_OFFSET_LOW) + +#define IO_ADDRESS_LOW(x) ((x) + IO_OFFSET_LOW) + +#endif diff --git a/arch/arm/mach-hi3796mv2x/include/mach/irqs.h b/arch/arm/mach-hi3796mv2x/include/mach/irqs.h new file mode 100644 index 000000000..293d09a71 --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/include/mach/irqs.h @@ -0,0 +1,38 @@ +#ifndef __HI_IRQS_H__ +#define __HI_IRQS_H__ + +#define HISI_GIC_IRQ_START (32) +#define IRQ_LOCALTIMER (29) +#define INTNR_COMMTX0 (HISI_GIC_IRQ_START + 0) +#define INTNR_COMMRX0 (HISI_GIC_IRQ_START + 2) +#define INTNR_WATCHDOG (HISI_GIC_IRQ_START + 4) +#define INTNR_TIMER_0_1 (HISI_GIC_IRQ_START + 24) +#define INTNR_TIMER_2 (HISI_GIC_IRQ_START + 25) +#define INTNR_TIMER_3 (HISI_GIC_IRQ_START + 58) +#define INTNR_TIMER_4 (HISI_GIC_IRQ_START + 26) +#define INTNR_TIMER_5 (HISI_GIC_IRQ_START + 59) +#define INTNR_TIMER_6 (HISI_GIC_IRQ_START + 27) +#define INTNR_TIMER_7 (HISI_GIC_IRQ_START + 60) + +#define INTNR_I2C0 (HISI_GIC_IRQ_START + 22) +#define INTNR_I2C1 (HISI_GIC_IRQ_START + 23) +#define INTNR_I2C2 (HISI_GIC_IRQ_START + 24) +#define INTNR_I2C3 (HISI_GIC_IRQ_START + 25) +#define INTNR_UART0 (HISI_GIC_IRQ_START + 49) +#define INTNR_UART1 (HISI_GIC_IRQ_START + 50) +#define INTNR_UART2 (HISI_GIC_IRQ_START + 51) +#define INTNR_UART3 (HISI_GIC_IRQ_START + 52) +#define INTNR_UART4 (HISI_GIC_IRQ_START + 53) + +#define INTNR_ETH (HISI_GIC_IRQ_START + 51) +#define INTNR_L2CACHE_CHK0_INT (HISI_GIC_IRQ_START + 72) +#define INTNR_L2CACHE_CHK1_INT (HISI_GIC_IRQ_START + 73) +#define INTNR_L2CACHE_INT_COMB (HISI_GIC_IRQ_START + 74) +#define INTNR_A9_PMU_INT0 (HISI_GIC_IRQ_START + 8) +#define INTNR_A9_PMU_INT1 (HISI_GIC_IRQ_START + 9) + +/* HISI_GIC_IRQ_START+160 ~ HISI_GIC_IRQ_START+320 reserve for gpio dynamic irq*/ +#define NR_IRQS (HISI_GIC_IRQ_START + 320) +#define MAX_GIC_NR 1 + +#endif diff --git a/arch/arm/mach-hi3796mv2x/include/mach/memory.h b/arch/arm/mach-hi3796mv2x/include/mach/memory.h new file mode 100644 index 000000000..fc2ab58aa --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/include/mach/memory.h @@ -0,0 +1,20 @@ +#ifndef __ASM_ARCH_MEMORY_H +#define __ASM_ARCH_MEMORY_H + +#define CONFIG_PHYS_OFFSET UL(0x0) + +/* ddr max size */ +#define PLAT_PHYS_END UL(0xC0000000) + +/* + * sdk use mmap + /dev/mem widely, by default mmap("/dev/mem") + * will map non-system memory(!pfn_valid) as strong order, + * but we want to chang it to normal non-cached, because of + * 1) normal non-cached has a better performance than strong order + * 2) unaligned access(i.e. in software decoder) will fault in + * data abort exception for ARM architecture reason. + * see phys_mem_access_prot() in /driver/char/mem.c + */ +#define is_ddr(phys) ((phys) >= CONFIG_PHYS_OFFSET && (phys) <= PLAT_PHYS_END) + +#endif /* __ASM_ARCH_MEMORY_H */ diff --git a/arch/arm/mach-hi3796mv2x/include/mach/platform.h b/arch/arm/mach-hi3796mv2x/include/mach/platform.h new file mode 100644 index 000000000..ea880e2d6 --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/include/mach/platform.h @@ -0,0 +1,169 @@ +#ifndef __HI_CHIP_REGS_H__ +#define __HI_CHIP_REGS_H__ + +#include + +/* SRAM Base Address Register */ +#define SRAM_BASE_ADDRESS 0xFFFF0000 + +#define S40_REG_BASE 0xF8000000 +#define REG_BASE_SCTL (S40_REG_BASE + 0) + + +#define REG_BASE_TIMER01 0xF8002000 +#define REG_BASE_TIMER23 0xF8A29000 +#define REG_BASE_TIMER45 0xF8A2A000 +#define REG_BASE_TIMER67 0xF8A2B000 + + +#define REG_BASE_SCI0 0x101F3000 +#define REG_BASE_SCI1 0x101F4000 +#define REG_BASE_CRG 0xF8A22000 +#define REG_BASE_SDIO1 0xF9830000 + +#define REG_BASE_CPU_LP 0xF8A22048 +#define REG_CPU_LP_CPU_SW_BEGIN 10 +#define CPU_REG_BASE_RST 0xF8A22050 +#define CPU_REG_COREPO_SRST 12 +#define CPU_REG_COREPDBG_SRST 6 +#define CPU_REG_CORE_SRST 8 +#define CPU_REG_CKEN 16 + +#define HIETHPHY_SYSREG_REG 0x0388 + +#define REG_BASE_PMC 0xF8A23000 +#define REG_PERI_PMC0 (REG_BASE_PMC) +#define REG_PERI_PMC1 (REG_BASE_PMC + 0x4) +#define REG_PERI_PMC2 (REG_BASE_PMC + 0x8) +#define REG_PERI_PMC3 (REG_BASE_PMC + 0xC) +#define REG_PERI_PMC4 (REG_BASE_PMC + 0x10) +#define REG_PERI_PMC5 (REG_BASE_PMC + 0x14) +#define REG_PERI_PMC6 (REG_BASE_PMC + 0x18) +#define REG_PERI_PMC7 (REG_BASE_PMC + 0x1C) +#define REG_PERI_PMC8 (REG_BASE_PMC + 0x20) +#define REG_PERI_PMC9 (REG_BASE_PMC + 0x24) +#define REG_PERI_PMC64 (REG_BASE_PMC + 0X100) +#define REG_PERI_PMC65 (REG_BASE_PMC + 0X104) +#define REG_PERI_PMC66 (REG_BASE_PMC + 0X108) +#define REG_PERI_PMC67 (REG_BASE_PMC + 0X10c) +#define REG_PERI_PMC68 (REG_BASE_PMC + 0X110) +#define REG_PERI_PMC76 (REG_BASE_PMC + 0X130) +#define REG_PERI_PMC77 (REG_BASE_PMC + 0X134) +#define REG_PERI_PMC78 (REG_BASE_PMC + 0X138) + +#define REG_BASE_UART0 0xF8B00000 +#define REG_BASE_UART1 0xF8006000 +#define REG_BASE_UART2 0xF8B02000 +#define REG_BASE_UART3 0xF8B03000 +#define REG_BASE_UART4 0xF8B04000 +#define REG_BASE_CUR_UART REG_BASE_UART0 + +#define REG_BASE_PERI_CTRL 0xF8A20000 +#define REG_BASE_PERI_CTRL_START_MODE (REG_BASE_PERI_CTRL) + +#define REG_BASE_GIC_REG 0xF1000000 +#define REG_BASE_CSSYS 0x10330000 +#define REG_BASE_DNR 0x10450000 + +#define REG_BASE_L2CACHE 0xF8A10000 + + +/*CORTTX-A9 MPCORE MEMORY REGION*/ +#define REG_A9_PERI_SCU 0x0000 +#define REG_A9_PERI_GIC_CPU 0x2000 +#define REG_A9_PERI_GLOBAL_TIMER 0x0200 +#define REG_A9_PERI_PRI_TIMER_WDT 0x0600 +#define REG_A9_PERI_GIC_DIST 0x1000 + + +/* CA clock and reset register */ +#define REG_PERI_CRG29 0x00B4 + +#define CA_CTRL_PROC 0x78 +#define CA_VENDOR_OFFSET 28 +#define CA_VENDOR_MASK 0x0f +#define CA_TYPE_NO_CA 0 +#define CA_TYPE_NAGRA 1 + +/* SYSTEM CONTROL REG */ +#define REG_SC_CTRL 0x0000 +#define REG_SC_SYSRES 0x0004 +#define REG_SC_XTALCTRL 0x0010 +#define REG_SC_APLLCTRL 0x0014 +#define REG_SC_APLLFREQCTRL0 0x0018 +#define REG_SC_APLLFREQCTRL1 0x001C +#define REG_SC_VPLL0FREQCTRL0 0x0020 +#define REG_SC_VPLL0FREQCTRL1 0x0024 +#define REG_SC_VPLL1FREQCTRL0 0x0028 +#define REG_SC_VPLL1FREQCTRL1 0x002C +#define REG_SC_EPLLFREQCTRL0 0x0030 +#define REG_SC_EPLLFREQCTRL1 0x0034 +#define REG_SC_QPLLFREQCTRL0 0x0038 +#define REG_SC_QPLLFREQCTRL1 0x003C +#define REG_SC_LOW_POWER_CTRL 0x0040 +#define REG_SC_IO_REUSE_SEL 0x0044 +#define REG_SC_SRST_REQ_CTRL 0x0048 +#define REG_SC_CA_RST_CTRL 0x004C +#define REG_SC_WDG_RST_CTRL 0x0050 +#define REG_SC_DDRC_DFI_RST_CTRL 0x0054 +#define REG_SC_PLLLOCK_STAT 0x0070 +#define REG_SC_GEN0 0x0080 +#define REG_SC_GEN1 0x0084 +#define REG_SC_GEN2 0x0088 +#define REG_SC_GEN3 0x008C +#define REG_SC_GEN4 0x0090 +#define REG_SC_GEN5 0x0094 +#define REG_SC_GEN6 0x0098 +#define REG_SC_GEN7 0x009C +#define REG_SC_GEN8 0x00A0 +#define REG_SC_GEN9 0x00A4 +#define REG_SC_GEN10 0x00A8 +#define REG_SC_GEN11 0x00AC +#define REG_SC_GEN12 0x00B0 +#define REG_SC_GEN13 0x00B4 +#define REG_SC_GEN14 0x00B8 +#define REG_SC_GEN15 0x00BC +#define REG_SC_GEN16 0x00C0 +#define REG_SC_GEN17 0x00C4 +#define REG_SC_GEN18 0x00C8 +#define REG_SC_GEN19 0x00CC +#define REG_SC_GEN20 0x00D0 +#define REG_SC_GEN21 0x00D4 +#define REG_SC_GEN22 0x00D8 +#define REG_SC_GEN23 0x00DC +#define REG_SC_GEN24 0x00E0 +#define REG_SC_GEN25 0x00E4 +#define REG_SC_GEN26 0x00E8 +#define REG_SC_GEN27 0x00EC +#define REG_SC_GEN28 0x00F0 +#define REG_SC_GEN29 0x00F4 +#define REG_SC_GEN30 0x00F8 +#define REG_SC_GEN31 0x00FC +#define REG_SC_LOCKEN 0x020C +#define REG_SC_SYSID0 0x0EE0 +#define REG_SC_SYSID1 0x0EE4 +#define REG_SC_SYSID2 0x0EE8 +#define REG_SC_SYSID3 0x0EEC + +#define REG_PERI_SOC_FUSE 0x840 + +#define REG_BASE_WDG0 0xF8A2C000 +#define REG_BASE_WDG1 0xF8A2D000 + +#define CFG_GIC_CPU_BASE (IO_ADDRESS(REG_BASE_GIC_REG) + REG_A9_PERI_GIC_CPU) +#define CFG_GIC_DIST_BASE (IO_ADDRESS(REG_BASE_GIC_REG) + REG_A9_PERI_GIC_DIST) + +#define DDR_SUSPEND_SIZE 0x1000 /* size 1KB */ + +#define REG_SOC_TEE_ENABLE 0xF8AB0004 +/*********************************************************************/ +/* + * 0x1-> init item1 + * 0x2-> init item2 + * 0x3->init item1 & item2 + */ +#define INIT_REG_ITEM1 1 +#define INIT_REG_ITEM2 2 +#define INIT_REG_ITEM1_ITEM2 (INIT_REG_ITEM1 | INIT_REG_ITEM2) + +#endif /*End of __HI_CHIP_REGS_H__ */ diff --git a/arch/arm/mach-hi3796mv2x/include/mach/timex.h b/arch/arm/mach-hi3796mv2x/include/mach/timex.h new file mode 100644 index 000000000..5c9ae566c --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/include/mach/timex.h @@ -0,0 +1,6 @@ +#ifndef __HISI_TIMEX__ +#define __HISI_TIMEX__ + +#define CLOCK_TICK_RATE 25000000 + +#endif diff --git a/arch/arm/mach-hi3796mv2x/include/mach/uncompress.h b/arch/arm/mach-hi3796mv2x/include/mach/uncompress.h new file mode 100644 index 000000000..1fbad984e --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/include/mach/uncompress.h @@ -0,0 +1,38 @@ +#ifndef __HISI_UNCOMPRESS_H__ +#define __HISI_UNCOMPRESS_H__ +#include +#include + +#define AMBA_UART_DR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x0)) +#define AMBA_UART_LCRH \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x2c)) +#define AMBA_UART_CR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x30)) +#define AMBA_UART_FR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x18)) + +/* + * This does not append a newline + */ +static inline void putc(int c) +{ + while (AMBA_UART_FR & (1 << 5)) + barrier(); + + AMBA_UART_DR = c; +} + +static inline void flush(void) +{ + while (AMBA_UART_FR & (1 << 3)) + barrier(); +} + +/* + * nothing to do + */ +#define arch_decomp_setup() +#define arch_decomp_wdog() + +#endif diff --git a/arch/arm/mach-hi3796mv2x/platsmp.c b/arch/arm/mach-hi3796mv2x/platsmp.c new file mode 100644 index 000000000..29d1c3676 --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/platsmp.c @@ -0,0 +1,199 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "platsmp.h" +#include "hotplug.h" + +#include + +static DEFINE_SPINLOCK(boot_lock); + +/*****************************************************************************/ +static void write_pen_release(int val) +{ + pen_release = val; + smp_wmb(); + __cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release)); + outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1)); +} +/*****************************************************************************/ + +static int hi3798mv2x_boot_secondary(unsigned int cpu, struct task_struct *idle) +{ + unsigned long timeout; + + set_scu_boot_addr(0xFFFF0000, + (unsigned int)virt_to_phys(hi3798mv2x_secondary_startup)); + + /* + * set synchronisation state between this boot processor + * and the secondary one + */ + spin_lock(&boot_lock); + + slave_cores_power_up(cpu); + + /* + * The secondary processor is waiting to be released from + * the holding pen - release it, then wait for it to flag + * that it has been released by resetting pen_release. + * + * Note that "pen_release" is the hardware CPU ID, whereas + * "cpu" is Linux's internal ID. + */ + write_pen_release(cpu); + + /* + * Send the secondary CPU a soft interrupt, thereby causing + * the boot monitor to read the system wide flags register, + * and branch to the address found there. + */ + arch_send_wakeup_ipi_mask(cpumask_of(cpu)); + + /* + * Send the secondary CPU a soft interrupt, thereby causing + * the boot monitor to read the system wide flags register, + * and branch to the address found there. + */ + timeout = jiffies + (5 * HZ); + while (time_before(jiffies, timeout)) { + smp_rmb(); + if (pen_release == -1) + break; + + udelay(10); + } + + /* + * now the secondary core is starting up let it run its + * calibrations, then wait for it to finish + */ + spin_unlock(&boot_lock); + + return pen_release != -1 ? -ENOSYS : 0; +} +/*****************************************************************************/ + +static void hi3798mv2x_secondary_init(unsigned int cpu) +{ + /* + * let the primary processor know we're out of the + * pen, then head off into the C entry point + */ + write_pen_release(-1); + + /* + * Synchronise with the boot thread. + */ + spin_lock(&boot_lock); + spin_unlock(&boot_lock); +} +/*****************************************************************************/ + +static void __init hi3798mv2x_smp_init_cpus(void) +{ + unsigned int i, ncores, l2ctlr; + + asm volatile("mrc p15, 1, %0, c9, c0, 2\n" : "=r" (l2ctlr)); + ncores = ((l2ctlr >> 24) & 0x3) + 1; + + /* sanity check */ + if (ncores > NR_CPUS) { + printk(KERN_WARNING + "Realview: no. of cores (%d) greater than configured " + "maximum of %d - clipping\n", + ncores, NR_CPUS); + ncores = NR_CPUS; + } + + for (i = 0; i < ncores; i++) + set_cpu_possible(i, true); +} +/*****************************************************************************/ +void slave_cores_power_up(int cpu) +{ + unsigned int regval, regval_bak; + + void __iomem *cpu_rst = NULL; + + cpu_rst = ioremap_nocache(CPU_REG_BASE_RST, PAGE_SIZE); + if (!cpu_rst) + BUG(); + + printk(KERN_DEBUG "CPU%u: powerup\n", cpu); + + +#ifdef CONFIG_HI3798MV2X_FPGA + /* clear the slave cpu reset */ + regval = readl(cpu_rst); + regval &= ~(1 << (cpu + 12)); + writel(regval, cpu_rst); + + /* clear the slave cpu reset */ + regval = readl(cpu_rst); + regval &= ~(1 << (cpu + 8)); + writel(regval, cpu_rst); +#else + /* select 400MHz before start slave cores */ + regval_bak = readl((void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + writel(0x206, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + writel(0x606, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + + /* clear the slave cpu arm_por_srst_req reset */ + regval = readl((void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + regval &= ~(1 << (cpu + CPU_REG_COREPO_SRST)); + writel(regval, (void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + + /* clear the slave cpu reset */ + regval = readl((void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + regval &= ~(1 << (cpu + CPU_REG_CORE_SRST)); + writel(regval, (void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + + /* restore cpu freq */ + regval = regval_bak & (~(1 << REG_CPU_LP_CPU_SW_BEGIN)); + writel(regval, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + writel(regval_bak, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + + iounmap(cpu_rst); +#endif +} + +/*****************************************************************************/ + +struct smp_operations hi3798mv2x_smp_ops __initdata = { + .smp_init_cpus = hi3798mv2x_smp_init_cpus, + .smp_secondary_init = hi3798mv2x_secondary_init, + .smp_boot_secondary = hi3798mv2x_boot_secondary, +#ifdef CONFIG_HOTPLUG_CPU + .cpu_die = hi3798mv2x_cpu_die, +#endif +}; diff --git a/arch/arm/mach-hi3796mv2x/platsmp.h b/arch/arm/mach-hi3796mv2x/platsmp.h new file mode 100644 index 000000000..58872d566 --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/platsmp.h @@ -0,0 +1,30 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +*****************************************************************************/ + +#ifndef __PLATSMP__H__ +#define __PLATSMP__H__ + +extern struct smp_operations hi3798mv2x_smp_ops; + +void hi3798mv2x_secondary_startup(void); + +void slave_cores_power_up(int cpu); + +#endif + diff --git a/arch/arm/mach-hi3796mv2x/pmu.c b/arch/arm/mach-hi3796mv2x/pmu.c new file mode 100644 index 000000000..fb360d4a5 --- /dev/null +++ b/arch/arm/mach-hi3796mv2x/pmu.c @@ -0,0 +1,30 @@ +#include +#include + +static struct resource pmu_resource_hi3798mv2x[] = { + [0] = { + .start = INTNR_A9_PMU_INT0, + .end = INTNR_A9_PMU_INT0, + .flags = IORESOURCE_IRQ, + }, + + [1] = { + .start = INTNR_A9_PMU_INT1, + .end = INTNR_A9_PMU_INT1, + .flags = IORESOURCE_IRQ, + } +}; + +static struct platform_device A9_pmu_device_hi3798mv2x = { + .name = "arm-pmu", + .id = -1, + .resource = pmu_resource_hi3798mv2x, + .num_resources = ARRAY_SIZE(pmu_resource_hi3798mv2x), +}; + +static int __init pmu_init(void) +{ + platform_device_register(&A9_pmu_device_hi3798mv2x); + return 0; +}; +arch_initcall(pmu_init); diff --git a/arch/arm/mach-hi3798cv2x/Kconfig b/arch/arm/mach-hi3798cv2x/Kconfig new file mode 100644 index 000000000..15ba10c68 --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/Kconfig @@ -0,0 +1,29 @@ +if ARCH_HI3798CV2X +menu "HI3798CV2X board feature" + +config MACH_HI3798CV2X + bool "Support hi3798cv2x platform" + select CPU_V7 + select ARM_GIC + select ARM_TIMER_SP804 + select COMMON_CLK + select ARCH_REQUIRE_GPIOLIB + select DYNAMIC_DEBUG + help + Include support for the hisilion HI3798CV2X platform. + HI3798CV2X support ARM CORTEX-A7 processer, + within a Generic Interrupt Controller. + Support DDR2 and DDR3. + +config DEFAULT_UART_BASE_ADDR + hex "Default uart controller base address" + default "0xF8B00000" + help + Default UART controller base address + +config HI3798CV2X_FPGA + bool "Enable HI3798CV2X Fpga config" + default n if ARCH_HI3798CV2X + +endmenu +endif diff --git a/arch/arm/mach-hi3798cv2x/Makefile b/arch/arm/mach-hi3798cv2x/Makefile new file mode 100644 index 000000000..fdab15477 --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/Makefile @@ -0,0 +1,12 @@ +# +# Makefile for the linux kernel. +# + + +KBUILD_AFLAGS :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=softvfp+vfp) +LDFLAGS +=--no-warn-mismatch + +obj-y := core.o +obj-$(CONFIG_HW_PERF_EVENTS) += pmu.o +obj-$(CONFIG_SMP) += platsmp.o headsmp.o +obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o diff --git a/arch/arm/mach-hi3798cv2x/Makefile.boot b/arch/arm/mach-hi3798cv2x/Makefile.boot new file mode 100644 index 000000000..aa739ea10 --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/Makefile.boot @@ -0,0 +1,4 @@ +zreladdr-y := 0x00008000 +params_phys-y := 0x00000100 +initrd_phys-y := 0x00800000 +LOADADDR := 0x02000000 diff --git a/arch/arm/mach-hi3798cv2x/core.c b/arch/arm/mach-hi3798cv2x/core.c new file mode 100644 index 000000000..15303c72f --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/core.c @@ -0,0 +1,155 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "platsmp.h" + +void __iomem *s40_gic_cpu_base_addr = IOMEM(CFG_GIC_CPU_BASE); + +/*****************************************************************************/ + +static void __maybe_unused __init hi3798cv2x_gic_init_irq(void) +{ + gic_init(0, HISI_GIC_IRQ_START, IOMEM(CFG_GIC_DIST_BASE), + IOMEM(CFG_GIC_CPU_BASE)); +} +/*****************************************************************************/ + +static struct map_desc hi3798cv2x_io_desc[] __initdata = { + /* HI3798CV2X_IOCH1 */ + { + .virtual = HI3798CV2X_IOCH1_VIRT, + .pfn = __phys_to_pfn(HI3798CV2X_IOCH1_PHYS), + .length = HI3798CV2X_IOCH1_SIZE, + .type = MT_DEVICE + }, +}; +/******************************************************************************/ + +static void __init hi3798cv2x_map_io(void) +{ + iotable_init(hi3798cv2x_io_desc, ARRAY_SIZE(hi3798cv2x_io_desc)); +} +/*****************************************************************************/ + +static void __init hi3798cv2x_reserve(void) +{ +} +/******************************************************************************/ + +static void __init hi3798cv2x_init_early(void) +{ + /* + * 1. enable L1 prefetch [2] + * 4. enable allocation in one cache way only. [8] + */ + asm volatile ( + " mrc p15, 0, r0, c1, c0, 1\n" + " orr r0, r0, #0x104\n" + " mcr p15, 0, r0, c1, c0, 1\n" + : + : + : "r0", "cc"); +} +/*****************************************************************************/ + +#ifdef CONFIG_HIMCIV200_SDIO_SYNOPSYS +static int hi3798cv2x_mci_quirk(void) +{ + void *base = __io_address(REG_BASE_SDIO1); + unsigned int reg_data = 0; + + writel(0x1affe, base + 0x44); + writel(0, base + 0x20); + writel(0, base + 0x1c); + writel(0, base + 0x28); + + writel(0xa000414c, base + 0x2c); + + mdelay(100); + + reg_data = readl(base + 0x00); + reg_data |= 7; + writel(reg_data, base + 0x00); + + writel(0, base + 0x78); + writel(0, base + 0x04); + mdelay(2); + writel(1, base + 0x78); + + return 0; +} +#endif + +static void hi3798cv2x_restart(enum reboot_mode mode, const char *cmd) +{ + printk(KERN_INFO "CPU will restart."); + + mdelay(200); + + local_irq_disable(); + +#ifdef CONFIG_HIMCIV200_SDIO_SYNOPSYS + hi3798cv2x_mci_quirk(); +#endif + + /* unclock wdg */ + writel(0x1ACCE551, __io_address(REG_BASE_WDG0 + 0xc00)); + /* wdg load value */ + writel(0x00000100, __io_address(REG_BASE_WDG0 + 0x0)); + /* bit0: int enable bit1: reboot enable */ + writel(0x00000003, __io_address(REG_BASE_WDG0 + 0x8)); + + while (1) + ; + + BUG(); +} +/*****************************************************************************/ + +static const char * const hi3798cv2x_dt_board_compat[] = { + "hi3798cv200-series", + NULL +}; + +#ifdef CONFIG_USE_OF +DT_MACHINE_START(HI3798CV2X, "bigfish") + .dt_compat = hi3798cv2x_dt_board_compat, +#else +MACHINE_START(HI3798CV2X, "bigfish") + .init_irq = hi3798cv2x_gic_init_irq, +#endif + .atag_offset = 0x100, + .map_io = hi3798cv2x_map_io, + .init_early = hi3798cv2x_init_early, + .smp = smp_ops(hi3798cv2x_smp_ops), + .reserve = hi3798cv2x_reserve, + .restart = hi3798cv2x_restart, +MACHINE_END diff --git a/arch/arm/mach-hi3798cv2x/headsmp.S b/arch/arm/mach-hi3798cv2x/headsmp.S new file mode 100644 index 000000000..6a5c14472 --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/headsmp.S @@ -0,0 +1,82 @@ +/* + * + * clone from linux/arch/arm/mach-realview/headsmp.S + * + * Copyright (c) 2003 ARM Limited + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#include +#include + + +/* + * Realview specific entry point for secondary CPUs. This provides + * a "holding pen" into which all secondary cores are held until we're + * ready for them to initialise. + */ +ENTRY(hi3798cv2x_secondary_startup) + + /* set the cpu to SVC32 mode */ + mrs r0, cpsr + bic r0, r0, #0x1f /* r0 = ((~0x1F) & r0) */ + orr r0, r0, #0xd3 /* r0 = (0xd3 | r0) */ + msr cpsr, r0 + + /* secure os enable in slave_bootup.S */ +#ifndef CONFIG_SECURE_EXTENSION + /* CPUCTLR.SMPEN */ + mrrc p15,1,r0,r1,c15 + orr r0, r0, #0x40 @ enable data coherency with other cores in the cluster + mcrr p15,1,r0,r1,c15 + + bl flash_cache_all +#endif + + mrc p15, 0, r0, c0, c0, 5 + and r0, r0, #15 + adr r4, 1f + ldmia r4, {r5, r6} + sub r4, r4, r5 + add r6, r6, r4 +pen: ldr r7, [r6] + cmp r7, r0 + bne pen + + /* + * we've been released from the holding pen: secondary_stack + * should now contain the SVC stack for this core + */ + b secondary_startup + +1: .long . + .long pen_release + +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@ +@ corrupt: r0, r1, r2, r3 +@ +.align 2 +flash_cache_all: + mov r8, lr + /* disable MMU stuff and caches */ + mrc p15, 0, r0, c1, c0, 0 + orr r0, r0, #0x00002000 /* clear bits 13 (--V-) */ + bic r0, r0, #0x00000007 /* clear bits 2:0 (-CAM) */ + orr r0, r0, #0x00000002 /* set bit 1 (--A-) Align */ + orr r0, r0, #0x00000800 /* set bit 12 (Z---) BTB */ + mcr p15, 0, r0, c1, c0, 0 + + /* + * Invalidate L1 I/D + */ + mov r0, #0 /* set up for MCR */ + mcr p15, 0, r0, c8, c7, 0 /* invalidate TLBs */ + mcr p15, 0, r0, c7, c5, 0 /* invalidate icache */ + + /* Invalidate L1 D-cache */ + bl v7_invalidate_l1 + mov pc, r8 diff --git a/arch/arm/mach-hi3798cv2x/hotplug.c b/arch/arm/mach-hi3798cv2x/hotplug.c new file mode 100644 index 000000000..17f81b89d --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/hotplug.c @@ -0,0 +1,125 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static DECLARE_COMPLETION(cpu_killed); + +/*****************************************************************************/ +static inline void cpu_leave_lowpower(void) +{ + unsigned int v; + + asm volatile( + "mrc p15, 0, %0, c1, c0, 0\n" + " orr %0, %0, %1\n" + " mcr p15, 0, %0, c1, c0, 0\n" + " mrc p15, 0, %0, c1, c0, 1\n" + " orr %0, %0, %2\n" + " mcr p15, 0, %0, c1, c0, 1\n" + " isb \n" + " dsb \n" + : "=&r" (v) + : "Ir" (CR_C), "Ir" (0x40) + : "cc"); +} + +/*****************************************************************************/ +static inline void platform_do_lowpower(unsigned int cpu, int *spurious) +{ + for (;;) { + /* + * here's the WFI + */ + + wfi(); + + } +} +/*****************************************************************************/ +/* + * platform-specific code to shutdown a CPU + * + * Called with IRQs disabled + */ +void hi3798cv2x_cpu_die(unsigned int cpu) +{ + int spurious = 0; + + v7_exit_coherency_flush(louis); + asm volatile( \ + ".arch armv7-a \n\t" \ + "mrrc p15, 1, r0, r1, c15 @ get ACTLR \n\t" \ + "bic r0, #(1 << 6) @ disable local coherency \n\t" \ + "mcrr p15, 1, r0, r1, c15 @ set ACTLR \n\t" \ + "isb \n\t" \ + "dsb \n\t" \ + : : : "r0", "r1", "memory" ); + + platform_do_lowpower(cpu, &spurious); + +} + +/*****************************************************************************/ +/* + * copy startup code to sram, and flash cache. + * @start_addr: slave start phy address + * @jump_addr: slave jump phy address + */ +void set_scu_boot_addr(unsigned int start_addr, unsigned int jump_addr) +{ + unsigned int *virtaddr; +#ifdef CONFIG_SECURE_EXTENSION + + virtaddr = ioremap(REG_BASE_SCTL + REG_SC_GEN1, PAGE_SIZE); + + *virtaddr = jump_addr; /* pc jump phy address */ + + smp_wmb(); + __cpuc_flush_dcache_area((void *)virtaddr, + (size_t)sizeof(*virtaddr)); + outer_clean_range(__pa(virtaddr), __pa(virtaddr + sizeof(*virtaddr))); + + iounmap(virtaddr); +#else + unsigned int *p_virtaddr; + + p_virtaddr = virtaddr = ioremap(start_addr, PAGE_SIZE); + + *p_virtaddr++ = 0xe51ff004; /* ldr pc, [pc, #-4] */ + *p_virtaddr++ = jump_addr; /* pc jump phy address */ + + smp_wmb(); + __cpuc_flush_dcache_area((void *)virtaddr, + (size_t)((char *)p_virtaddr - (char *)virtaddr)); + outer_clean_range(__pa(virtaddr), __pa(p_virtaddr)); + + iounmap(virtaddr); +#endif +} + + diff --git a/arch/arm/mach-hi3798cv2x/hotplug.h b/arch/arm/mach-hi3798cv2x/hotplug.h new file mode 100644 index 000000000..45bc7c436 --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/hotplug.h @@ -0,0 +1,29 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#ifndef HOTPLUGH +#define HOTPLUGH +/******************************************************************************/ + +void hi3798cv2x_cpu_die(unsigned int cpu); + +void set_scu_boot_addr(unsigned int start_addr, unsigned int jump_addr); + +/******************************************************************************/ +#endif /* HOTPLUGH */ diff --git a/arch/arm/mach-hi3798cv2x/include/mach/hardware.h b/arch/arm/mach-hi3798cv2x/include/mach/hardware.h new file mode 100644 index 000000000..961f5dbf9 --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/include/mach/hardware.h @@ -0,0 +1,13 @@ +#ifndef __ASM_ARCH_HARDWARE_H +#define __ASM_ARCH_HARDWARE_H + +#include +#include + +#ifndef __ASSEMBLY__ +# include +#endif + +#define __io_address(n) (IOMEM(IO_ADDRESS(n))) + +#endif diff --git a/arch/arm/mach-hi3798cv2x/include/mach/io.h b/arch/arm/mach-hi3798cv2x/include/mach/io.h new file mode 100644 index 000000000..9fdb3ba46 --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/include/mach/io.h @@ -0,0 +1,22 @@ +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +#include + + +#define __mem_pci(a) (a) + +/* phys_addr virt_addr + * 0xF800_0000 <-----> 0xF900_0000 + */ +#define HI3798CV2X_IOCH1_VIRT (0xF9000000) +#define HI3798CV2X_IOCH1_PHYS (0xF8000000) +#define HI3798CV2X_IOCH1_SIZE (0x02000000) + +#define IO_OFFSET_LOW (0x1000000) + +#define IO_ADDRESS(x) ((x) + IO_OFFSET_LOW) + +#define IO_ADDRESS_LOW(x) ((x) + IO_OFFSET_LOW) + +#endif diff --git a/arch/arm/mach-hi3798cv2x/include/mach/irqs.h b/arch/arm/mach-hi3798cv2x/include/mach/irqs.h new file mode 100644 index 000000000..293d09a71 --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/include/mach/irqs.h @@ -0,0 +1,38 @@ +#ifndef __HI_IRQS_H__ +#define __HI_IRQS_H__ + +#define HISI_GIC_IRQ_START (32) +#define IRQ_LOCALTIMER (29) +#define INTNR_COMMTX0 (HISI_GIC_IRQ_START + 0) +#define INTNR_COMMRX0 (HISI_GIC_IRQ_START + 2) +#define INTNR_WATCHDOG (HISI_GIC_IRQ_START + 4) +#define INTNR_TIMER_0_1 (HISI_GIC_IRQ_START + 24) +#define INTNR_TIMER_2 (HISI_GIC_IRQ_START + 25) +#define INTNR_TIMER_3 (HISI_GIC_IRQ_START + 58) +#define INTNR_TIMER_4 (HISI_GIC_IRQ_START + 26) +#define INTNR_TIMER_5 (HISI_GIC_IRQ_START + 59) +#define INTNR_TIMER_6 (HISI_GIC_IRQ_START + 27) +#define INTNR_TIMER_7 (HISI_GIC_IRQ_START + 60) + +#define INTNR_I2C0 (HISI_GIC_IRQ_START + 22) +#define INTNR_I2C1 (HISI_GIC_IRQ_START + 23) +#define INTNR_I2C2 (HISI_GIC_IRQ_START + 24) +#define INTNR_I2C3 (HISI_GIC_IRQ_START + 25) +#define INTNR_UART0 (HISI_GIC_IRQ_START + 49) +#define INTNR_UART1 (HISI_GIC_IRQ_START + 50) +#define INTNR_UART2 (HISI_GIC_IRQ_START + 51) +#define INTNR_UART3 (HISI_GIC_IRQ_START + 52) +#define INTNR_UART4 (HISI_GIC_IRQ_START + 53) + +#define INTNR_ETH (HISI_GIC_IRQ_START + 51) +#define INTNR_L2CACHE_CHK0_INT (HISI_GIC_IRQ_START + 72) +#define INTNR_L2CACHE_CHK1_INT (HISI_GIC_IRQ_START + 73) +#define INTNR_L2CACHE_INT_COMB (HISI_GIC_IRQ_START + 74) +#define INTNR_A9_PMU_INT0 (HISI_GIC_IRQ_START + 8) +#define INTNR_A9_PMU_INT1 (HISI_GIC_IRQ_START + 9) + +/* HISI_GIC_IRQ_START+160 ~ HISI_GIC_IRQ_START+320 reserve for gpio dynamic irq*/ +#define NR_IRQS (HISI_GIC_IRQ_START + 320) +#define MAX_GIC_NR 1 + +#endif diff --git a/arch/arm/mach-hi3798cv2x/include/mach/memory.h b/arch/arm/mach-hi3798cv2x/include/mach/memory.h new file mode 100644 index 000000000..fc2ab58aa --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/include/mach/memory.h @@ -0,0 +1,20 @@ +#ifndef __ASM_ARCH_MEMORY_H +#define __ASM_ARCH_MEMORY_H + +#define CONFIG_PHYS_OFFSET UL(0x0) + +/* ddr max size */ +#define PLAT_PHYS_END UL(0xC0000000) + +/* + * sdk use mmap + /dev/mem widely, by default mmap("/dev/mem") + * will map non-system memory(!pfn_valid) as strong order, + * but we want to chang it to normal non-cached, because of + * 1) normal non-cached has a better performance than strong order + * 2) unaligned access(i.e. in software decoder) will fault in + * data abort exception for ARM architecture reason. + * see phys_mem_access_prot() in /driver/char/mem.c + */ +#define is_ddr(phys) ((phys) >= CONFIG_PHYS_OFFSET && (phys) <= PLAT_PHYS_END) + +#endif /* __ASM_ARCH_MEMORY_H */ diff --git a/arch/arm/mach-hi3798cv2x/include/mach/platform.h b/arch/arm/mach-hi3798cv2x/include/mach/platform.h new file mode 100644 index 000000000..43fe89763 --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/include/mach/platform.h @@ -0,0 +1,163 @@ +#ifndef __HI_CHIP_REGS_H__ +#define __HI_CHIP_REGS_H__ + +#include + +/* SRAM Base Address Register */ +#define SRAM_BASE_ADDRESS 0xFFFF0000 + +#define S40_REG_BASE 0xF8000000 +#define REG_BASE_SCTL (S40_REG_BASE + 0) + + +#define REG_BASE_TIMER01 0xF8002000 +#define REG_BASE_TIMER23 0xF8A29000 +#define REG_BASE_TIMER45 0xF8A2A000 +#define REG_BASE_TIMER67 0xF8A2B000 + + +#define REG_BASE_SCI0 0x101F3000 +#define REG_BASE_SCI1 0x101F4000 +#define REG_BASE_CRG 0xF8A22000 +#define REG_BASE_SDIO1 0xF9830000 + +#define REG_BASE_CPU_LP 0xF8A22048 +#define REG_CPU_LP_CPU_SW_BEGIN 10 +#define CPU_REG_BASE_RST 0xF8A22050 +#define CPU_REG_COREPO_SRST 12 +#define CPU_REG_COREPDBG_SRST 6 +#define CPU_REG_CORE_SRST 8 +#define CPU_REG_CKEN 16 + +#define REG_BASE_PMC 0xF8A23000 +#define REG_PERI_PMC0 (REG_BASE_PMC) +#define REG_PERI_PMC1 (REG_BASE_PMC + 0x4) +#define REG_PERI_PMC2 (REG_BASE_PMC + 0x8) +#define REG_PERI_PMC3 (REG_BASE_PMC + 0xC) +#define REG_PERI_PMC4 (REG_BASE_PMC + 0x10) +#define REG_PERI_PMC5 (REG_BASE_PMC + 0x14) +#define REG_PERI_PMC6 (REG_BASE_PMC + 0x18) +#define REG_PERI_PMC7 (REG_BASE_PMC + 0x1C) +#define REG_PERI_PMC8 (REG_BASE_PMC + 0x20) +#define REG_PERI_PMC9 (REG_BASE_PMC + 0x24) +#define REG_PERI_PMC64 (REG_BASE_PMC + 0X100) +#define REG_PERI_PMC65 (REG_BASE_PMC + 0X104) +#define REG_PERI_PMC66 (REG_BASE_PMC + 0X108) +#define REG_PERI_PMC67 (REG_BASE_PMC + 0X10c) +#define REG_PERI_PMC68 (REG_BASE_PMC + 0X110) + +#define REG_BASE_UART0 0xF8B00000 +#define REG_BASE_UART1 0xF8006000 +#define REG_BASE_UART2 0xF8B02000 +#define REG_BASE_UART3 0xF8B03000 +#define REG_BASE_UART4 0xF8B04000 +#define REG_BASE_CUR_UART REG_BASE_UART0 + +#define REG_BASE_PERI_CTRL 0xF8A20000 +#define REG_BASE_PERI_CTRL_START_MODE (REG_BASE_PERI_CTRL) + +#define REG_BASE_GIC_REG 0xF1000000 +#define REG_BASE_CSSYS 0x10330000 +#define REG_BASE_DNR 0x10450000 + +#define REG_BASE_L2CACHE 0xF8A10000 + + +/*CORTTX-A9 MPCORE MEMORY REGION*/ +#define REG_A9_PERI_SCU 0x0000 +#define REG_A9_PERI_GIC_CPU 0x2000 +#define REG_A9_PERI_GLOBAL_TIMER 0x0200 +#define REG_A9_PERI_PRI_TIMER_WDT 0x0600 +#define REG_A9_PERI_GIC_DIST 0x1000 + + +/* CA clock and reset register */ +#define REG_PERI_CRG29 0x00B4 + +#define CA_CTRL_PROC 0x78 +#define CA_VENDOR_OFFSET 28 +#define CA_VENDOR_MASK 0x0f +#define CA_TYPE_NO_CA 0 +#define CA_TYPE_NAGRA 1 + +/* SYSTEM CONTROL REG */ +#define REG_SC_CTRL 0x0000 +#define REG_SC_SYSRES 0x0004 +#define REG_SC_XTALCTRL 0x0010 +#define REG_SC_APLLCTRL 0x0014 +#define REG_SC_APLLFREQCTRL0 0x0018 +#define REG_SC_APLLFREQCTRL1 0x001C +#define REG_SC_VPLL0FREQCTRL0 0x0020 +#define REG_SC_VPLL0FREQCTRL1 0x0024 +#define REG_SC_VPLL1FREQCTRL0 0x0028 +#define REG_SC_VPLL1FREQCTRL1 0x002C +#define REG_SC_EPLLFREQCTRL0 0x0030 +#define REG_SC_EPLLFREQCTRL1 0x0034 +#define REG_SC_QPLLFREQCTRL0 0x0038 +#define REG_SC_QPLLFREQCTRL1 0x003C +#define REG_SC_LOW_POWER_CTRL 0x0040 +#define REG_SC_IO_REUSE_SEL 0x0044 +#define REG_SC_SRST_REQ_CTRL 0x0048 +#define REG_SC_CA_RST_CTRL 0x004C +#define REG_SC_WDG_RST_CTRL 0x0050 +#define REG_SC_DDRC_DFI_RST_CTRL 0x0054 +#define REG_SC_PLLLOCK_STAT 0x0070 +#define REG_SC_GEN0 0x0080 +#define REG_SC_GEN1 0x0084 +#define REG_SC_GEN2 0x0088 +#define REG_SC_GEN3 0x008C +#define REG_SC_GEN4 0x0090 +#define REG_SC_GEN5 0x0094 +#define REG_SC_GEN6 0x0098 +#define REG_SC_GEN7 0x009C +#define REG_SC_GEN8 0x00A0 +#define REG_SC_GEN9 0x00A4 +#define REG_SC_GEN10 0x00A8 +#define REG_SC_GEN11 0x00AC +#define REG_SC_GEN12 0x00B0 +#define REG_SC_GEN13 0x00B4 +#define REG_SC_GEN14 0x00B8 +#define REG_SC_GEN15 0x00BC +#define REG_SC_GEN16 0x00C0 +#define REG_SC_GEN17 0x00C4 +#define REG_SC_GEN18 0x00C8 +#define REG_SC_GEN19 0x00CC +#define REG_SC_GEN20 0x00D0 +#define REG_SC_GEN21 0x00D4 +#define REG_SC_GEN22 0x00D8 +#define REG_SC_GEN23 0x00DC +#define REG_SC_GEN24 0x00E0 +#define REG_SC_GEN25 0x00E4 +#define REG_SC_GEN26 0x00E8 +#define REG_SC_GEN27 0x00EC +#define REG_SC_GEN28 0x00F0 +#define REG_SC_GEN29 0x00F4 +#define REG_SC_GEN30 0x00F8 +#define REG_SC_GEN31 0x00FC +#define REG_SC_LOCKEN 0x020C +#define REG_SC_SYSID0 0x0EE0 +#define REG_SC_SYSID1 0x0EE4 +#define REG_SC_SYSID2 0x0EE8 +#define REG_SC_SYSID3 0x0EEC + +#define REG_PERI_SOC_FUSE 0x840 + +#define REG_BASE_WDG0 0xF8A2C000 +#define REG_BASE_WDG1 0xF8A2D000 + +#define CFG_GIC_CPU_BASE (IO_ADDRESS(REG_BASE_GIC_REG) + REG_A9_PERI_GIC_CPU) +#define CFG_GIC_DIST_BASE (IO_ADDRESS(REG_BASE_GIC_REG) + REG_A9_PERI_GIC_DIST) + +#define DDR_SUSPEND_SIZE 0x1000 /* size 1KB */ + +/*********************************************************************/ +/* + * 0x1-> init item1 + * 0x2-> init item2 + * 0x3->init item1 & item2 + */ +#define INIT_REG_ITEM1 1 +#define INIT_REG_ITEM2 2 +#define INIT_REG_ITEM1_ITEM2 (INIT_REG_ITEM1 | INIT_REG_ITEM2) + +#endif /*End of __HI_CHIP_REGS_H__ */ diff --git a/arch/arm/mach-hi3798cv2x/include/mach/timex.h b/arch/arm/mach-hi3798cv2x/include/mach/timex.h new file mode 100644 index 000000000..5c9ae566c --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/include/mach/timex.h @@ -0,0 +1,6 @@ +#ifndef __HISI_TIMEX__ +#define __HISI_TIMEX__ + +#define CLOCK_TICK_RATE 25000000 + +#endif diff --git a/arch/arm/mach-hi3798cv2x/include/mach/uncompress.h b/arch/arm/mach-hi3798cv2x/include/mach/uncompress.h new file mode 100644 index 000000000..1fbad984e --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/include/mach/uncompress.h @@ -0,0 +1,38 @@ +#ifndef __HISI_UNCOMPRESS_H__ +#define __HISI_UNCOMPRESS_H__ +#include +#include + +#define AMBA_UART_DR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x0)) +#define AMBA_UART_LCRH \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x2c)) +#define AMBA_UART_CR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x30)) +#define AMBA_UART_FR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x18)) + +/* + * This does not append a newline + */ +static inline void putc(int c) +{ + while (AMBA_UART_FR & (1 << 5)) + barrier(); + + AMBA_UART_DR = c; +} + +static inline void flush(void) +{ + while (AMBA_UART_FR & (1 << 3)) + barrier(); +} + +/* + * nothing to do + */ +#define arch_decomp_setup() +#define arch_decomp_wdog() + +#endif diff --git a/arch/arm/mach-hi3798cv2x/platsmp.c b/arch/arm/mach-hi3798cv2x/platsmp.c new file mode 100644 index 000000000..76c42a288 --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/platsmp.c @@ -0,0 +1,187 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "platsmp.h" +#include "hotplug.h" + +#include + +static DEFINE_SPINLOCK(boot_lock); + +/*****************************************************************************/ +static void write_pen_release(int val) +{ + pen_release = val; + smp_wmb(); + __cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release)); + outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1)); +} +/*****************************************************************************/ + +static int hi3798cv2x_boot_secondary(unsigned int cpu, + struct task_struct *idle) +{ + unsigned long timeout; + + set_scu_boot_addr(0xFFFF0000, + (unsigned int)virt_to_phys(hi3798cv2x_secondary_startup)); + + /* + * set synchronisation state between this boot processor + * and the secondary one + */ + spin_lock(&boot_lock); + + slave_cores_power_up(cpu); + + /* + * The secondary processor is waiting to be released from + * the holding pen - release it, then wait for it to flag + * that it has been released by resetting pen_release. + * + * Note that "pen_release" is the hardware CPU ID, whereas + * "cpu" is Linux's internal ID. + */ + write_pen_release(cpu); + + /* + * Send the secondary CPU a soft interrupt, thereby causing + * the boot monitor to read the system wide flags register, + * and branch to the address found there. + */ + arch_send_wakeup_ipi_mask(cpumask_of(cpu)); + + /* + * Send the secondary CPU a soft interrupt, thereby causing + * the boot monitor to read the system wide flags register, + * and branch to the address found there. + */ + timeout = jiffies + (5 * HZ); + while (time_before(jiffies, timeout)) { + smp_rmb(); + if (pen_release == -1) + break; + + udelay(10); + } + + /* + * now the secondary core is starting up let it run its + * calibrations, then wait for it to finish + */ + spin_unlock(&boot_lock); + + return pen_release != -1 ? -ENOSYS : 0; +} +/*****************************************************************************/ + +static void hi3798cv2x_secondary_init(unsigned int cpu) +{ + /* + * let the primary processor know we're out of the + * pen, then head off into the C entry point + */ + write_pen_release(-1); + + /* + * Synchronise with the boot thread. + */ + spin_lock(&boot_lock); + spin_unlock(&boot_lock); +} +/*****************************************************************************/ + +static void __init hi3798cv2x_smp_init_cpus(void) +{ + unsigned int i, ncores, l2ctlr; + + asm volatile("mrc p15, 1, %0, c9, c0, 2\n" : "=r" (l2ctlr)); + ncores = ((l2ctlr >> 24) & 0x3) + 1; + + /* sanity check */ + if (ncores > NR_CPUS) { + printk(KERN_WARNING + "Realview: no. of cores (%d) greater than configured " + "maximum of %d - clipping\n", + ncores, NR_CPUS); + ncores = NR_CPUS; + } + + for (i = 0; i < ncores; i++) + set_cpu_possible(i, true); +} +/*****************************************************************************/ +void slave_cores_power_up(int cpu) +{ + unsigned int regval, regval_bak; + + void __iomem *cpu_rst = NULL; + + cpu_rst = ioremap_nocache(CPU_REG_BASE_RST, PAGE_SIZE); + if (!cpu_rst) + BUG(); + + printk(KERN_DEBUG "CPU%u: powerup\n", cpu); + + /* select 400MHz before start slave cores */ + regval_bak = readl((void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + writel(0x206, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + writel(0x606, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + + /* clear the slave cpu arm_por_srst_req reset */ + regval = readl((void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + regval &= ~(1 << (cpu + CPU_REG_COREPO_SRST)); + writel(regval, (void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + + /* clear the slave cpu reset */ + regval = readl((void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + regval &= ~(1 << (cpu + CPU_REG_CORE_SRST)); + writel(regval, (void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + + /* restore cpu freq */ + regval = regval_bak & (~(1 << REG_CPU_LP_CPU_SW_BEGIN)); + writel(regval, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + writel(regval_bak, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + + iounmap(cpu_rst); +} + +/*****************************************************************************/ + +struct smp_operations hi3798cv2x_smp_ops __initdata = { + .smp_init_cpus = hi3798cv2x_smp_init_cpus, + .smp_secondary_init = hi3798cv2x_secondary_init, + .smp_boot_secondary = hi3798cv2x_boot_secondary, +#ifdef CONFIG_HOTPLUG_CPU + .cpu_die = hi3798cv2x_cpu_die, +#endif +}; diff --git a/arch/arm/mach-hi3798cv2x/platsmp.h b/arch/arm/mach-hi3798cv2x/platsmp.h new file mode 100644 index 000000000..4cf3cddba --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/platsmp.h @@ -0,0 +1,30 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +*****************************************************************************/ + +#ifndef __PLATSMP__H__ +#define __PLATSMP__H__ + +extern struct smp_operations hi3798cv2x_smp_ops; + +void hi3798cv2x_secondary_startup(void); + +void slave_cores_power_up(int cpu); + +#endif + diff --git a/arch/arm/mach-hi3798cv2x/pmu.c b/arch/arm/mach-hi3798cv2x/pmu.c new file mode 100644 index 000000000..17f17c7ea --- /dev/null +++ b/arch/arm/mach-hi3798cv2x/pmu.c @@ -0,0 +1,30 @@ +#include +#include + +static struct resource pmu_resource_hi3798cv2x[] = { + [0] = { + .start = INTNR_A9_PMU_INT0, + .end = INTNR_A9_PMU_INT0, + .flags = IORESOURCE_IRQ, + }, + + [1] = { + .start = INTNR_A9_PMU_INT1, + .end = INTNR_A9_PMU_INT1, + .flags = IORESOURCE_IRQ, + } +}; + +static struct platform_device A9_pmu_device_hi3798cv2x = { + .name = "arm-pmu", + .id = -1, + .resource = pmu_resource_hi3798cv2x, + .num_resources = ARRAY_SIZE(pmu_resource_hi3798cv2x), +}; + +static int __init pmu_init(void) +{ + platform_device_register(&A9_pmu_device_hi3798cv2x); + return 0; +}; +arch_initcall(pmu_init); diff --git a/arch/arm/mach-hi3798mv2x/Kconfig b/arch/arm/mach-hi3798mv2x/Kconfig new file mode 100644 index 000000000..fbed873c8 --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/Kconfig @@ -0,0 +1,44 @@ +if ARCH_HI3798MV2X +menu "HI3798MV2X board feature" + +config MACH_HI3798MV2X + bool "Support hi3798mv2x platform" + select CPU_V7 + select ARM_GIC + select ARM_TIMER_SP804 + select COMMON_CLK + select ARCH_REQUIRE_GPIOLIB + select DYNAMIC_DEBUG + help + Include support for the hisilion HI3798MV2X platform. + HI3798MV2X support ARM CORTEX-A7 processer, + within a Generic Interrupt Controller. + Support DDR2 and DDR3. + +choice + prompt "CPU timer source" + default HAVE_SP804_LOCAL_TIMER_HI3798MV2X + +config HAVE_SP804_LOCAL_TIMER_HI3798MV2X + bool "arm local timer from sp804" + help + arm local timer from sp804. + +config HAVE_ARM_LOCAL_TIMER_HI3798MV2X + bool "arm local timer from arm self" + help + arm local timer from arm self. +endchoice + +config DEFAULT_UART_BASE_ADDR + hex "Default uart controller base address" + default "0xF8B00000" + help + Default UART controller base address + +config HI3798MV2X_FPGA + bool "Enable HI3798MV2X Fpga config" + default n if ARCH_HI3798MV2X + +endmenu +endif diff --git a/arch/arm/mach-hi3798mv2x/Makefile b/arch/arm/mach-hi3798mv2x/Makefile new file mode 100644 index 000000000..fdab15477 --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/Makefile @@ -0,0 +1,12 @@ +# +# Makefile for the linux kernel. +# + + +KBUILD_AFLAGS :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=softvfp+vfp) +LDFLAGS +=--no-warn-mismatch + +obj-y := core.o +obj-$(CONFIG_HW_PERF_EVENTS) += pmu.o +obj-$(CONFIG_SMP) += platsmp.o headsmp.o +obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o diff --git a/arch/arm/mach-hi3798mv2x/Makefile.boot b/arch/arm/mach-hi3798mv2x/Makefile.boot new file mode 100644 index 000000000..aa739ea10 --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/Makefile.boot @@ -0,0 +1,4 @@ +zreladdr-y := 0x00008000 +params_phys-y := 0x00000100 +initrd_phys-y := 0x00800000 +LOADADDR := 0x02000000 diff --git a/arch/arm/mach-hi3798mv2x/core.c b/arch/arm/mach-hi3798mv2x/core.c new file mode 100644 index 000000000..d737e63d3 --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/core.c @@ -0,0 +1,155 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "platsmp.h" + +void __iomem *s40_gic_cpu_base_addr = IOMEM(CFG_GIC_CPU_BASE); + +/*****************************************************************************/ + +static void __maybe_unused __init hi3798mv2x_gic_init_irq(void) +{ + gic_init(0, HISI_GIC_IRQ_START, IOMEM(CFG_GIC_DIST_BASE), + IOMEM(CFG_GIC_CPU_BASE)); +} +/*****************************************************************************/ + +static struct map_desc hi3798mv2x_io_desc[] __initdata = { + /* HI3798MV2X_IOCH1 */ + { + .virtual = HI3798MV2X_IOCH1_VIRT, + .pfn = __phys_to_pfn(HI3798MV2X_IOCH1_PHYS), + .length = HI3798MV2X_IOCH1_SIZE, + .type = MT_DEVICE + }, +}; +/******************************************************************************/ + +static void __init hi3798mv2x_map_io(void) +{ + iotable_init(hi3798mv2x_io_desc, ARRAY_SIZE(hi3798mv2x_io_desc)); +} +/*****************************************************************************/ + +static void __init hi3798mv2x_reserve(void) +{ +} +/******************************************************************************/ + +static void __init hi3798mv2x_init_early(void) +{ + /* + * 1. enable L1 prefetch [2] + * 4. enable allocation in one cache way only. [8] + */ + asm volatile ( + " mrc p15, 0, r0, c1, c0, 1\n" + " orr r0, r0, #0x104\n" + " mcr p15, 0, r0, c1, c0, 1\n" + : + : + : "r0", "cc"); +} +/*****************************************************************************/ + +#ifdef CONFIG_HIMCIV200_SDIO_SYNOPSYS +static int hi3798mv2x_mci_quirk(void) +{ + void *base = __io_address(REG_BASE_SDIO1); + unsigned int reg_data = 0; + + writel(0x1affe, base + 0x44); + writel(0, base + 0x20); + writel(0, base + 0x1c); + writel(0, base + 0x28); + + writel(0xa000414c, base + 0x2c); + + mdelay(100); + + reg_data = readl(base + 0x00); + reg_data |= 7; + writel(reg_data, base + 0x00); + + writel(0, base + 0x78); + writel(0, base + 0x04); + mdelay(2); + writel(1, base + 0x78); + + return 0; +} +#endif + +static void hi3798mv2x_restart(enum reboot_mode mode, const char *cmd) +{ + printk(KERN_INFO "CPU will restart."); + + mdelay(200); + + local_irq_disable(); + +#ifdef CONFIG_HIMCIV200_SDIO_SYNOPSYS + hi3798mv2x_mci_quirk(); +#endif + + /* unclock wdg */ + writel(0x1ACCE551, __io_address(REG_BASE_WDG0 + 0xc00)); + /* wdg load value */ + writel(0x00000100, __io_address(REG_BASE_WDG0 + 0x0)); + /* bit0: int enable bit1: reboot enable */ + writel(0x00000003, __io_address(REG_BASE_WDG0 + 0x8)); + + while (1) + ; + + BUG(); +} +/*****************************************************************************/ + +static const char * const hi3798mv2x_dt_board_compat[] = { + "hi3798mv200-series", + NULL +}; + +#ifdef CONFIG_USE_OF +DT_MACHINE_START(HI3798MV2X, "bigfish") + .dt_compat = hi3798mv2x_dt_board_compat, +#else +MACHINE_START(HI3798MV2X, "bigfish") + .init_irq = hi3798mv2x_gic_init_irq, +#endif + .atag_offset = 0x100, + .map_io = hi3798mv2x_map_io, + .init_early = hi3798mv2x_init_early, + .smp = smp_ops(hi3798mv2x_smp_ops), + .reserve = hi3798mv2x_reserve, + .restart = hi3798mv2x_restart, +MACHINE_END diff --git a/arch/arm/mach-hi3798mv2x/headsmp.S b/arch/arm/mach-hi3798mv2x/headsmp.S new file mode 100644 index 000000000..761e02223 --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/headsmp.S @@ -0,0 +1,81 @@ +/* + * + * clone from linux/arch/arm/mach-realview/headsmp.S + * + * Copyright (c) 2003 ARM Limited + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#include +#include + +/* + * Realview specific entry point for secondary CPUs. This provides + * a "holding pen" into which all secondary cores are held until we're + * ready for them to initialise. + */ +ENTRY(hi3798mv2x_secondary_startup) + + /* set the cpu to SVC32 mode */ + mrs r0, cpsr + bic r0, r0, #0x1f /* r0 = ((~0x1F) & r0) */ + orr r0, r0, #0xd3 /* r0 = (0xd3 | r0) */ + msr cpsr, r0 + + /* secure os enable in slave_bootup.S */ +#ifndef CONFIG_SECURE_EXTENSION + /* CPUCTLR.SMPEN */ + mrrc p15,1,r0,r1,c15 + orr r0, r0, #0x40 @ enable data coherency with other cores in the cluster + mcrr p15,1,r0,r1,c15 + + bl flash_cache_all +#endif + + mrc p15, 0, r0, c0, c0, 5 + and r0, r0, #15 + adr r4, 1f + ldmia r4, {r5, r6} + sub r4, r4, r5 + add r6, r6, r4 +pen: ldr r7, [r6] + cmp r7, r0 + bne pen + + /* + * we've been released from the holding pen: secondary_stack + * should now contain the SVC stack for this core + */ + b secondary_startup + +1: .long . + .long pen_release + +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@ +@ corrupt: r0, r1, r2, r3 +@ +.align 2 +flash_cache_all: + mov r8, lr + /* disable MMU stuff and caches */ + mrc p15, 0, r0, c1, c0, 0 + orr r0, r0, #0x00002000 /* clear bits 13 (--V-) */ + bic r0, r0, #0x00000007 /* clear bits 2:0 (-CAM) */ + orr r0, r0, #0x00000002 /* set bit 1 (--A-) Align */ + orr r0, r0, #0x00000800 /* set bit 12 (Z---) BTB */ + mcr p15, 0, r0, c1, c0, 0 + + /* + * Invalidate L1 I/D + */ + mov r0, #0 /* set up for MCR */ + mcr p15, 0, r0, c8, c7, 0 /* invalidate TLBs */ + mcr p15, 0, r0, c7, c5, 0 /* invalidate icache */ + + /* Invalidate L1 D-cache */ + bl v7_invalidate_l1 + mov pc, r8 diff --git a/arch/arm/mach-hi3798mv2x/hotplug.c b/arch/arm/mach-hi3798mv2x/hotplug.c new file mode 100644 index 000000000..92a7dc093 --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/hotplug.c @@ -0,0 +1,125 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static DECLARE_COMPLETION(cpu_killed); + +/*****************************************************************************/ +static inline void cpu_leave_lowpower(void) +{ + unsigned int v; + + asm volatile( + "mrc p15, 0, %0, c1, c0, 0\n" + " orr %0, %0, %1\n" + " mcr p15, 0, %0, c1, c0, 0\n" + " mrc p15, 0, %0, c1, c0, 1\n" + " orr %0, %0, %2\n" + " mcr p15, 0, %0, c1, c0, 1\n" + " isb \n" + " dsb \n" + : "=&r" (v) + : "Ir" (CR_C), "Ir" (0x40) + : "cc"); +} + +/*****************************************************************************/ +static inline void platform_do_lowpower(unsigned int cpu, int *spurious) +{ + for (;;) { + /* + * here's the WFI + */ + + wfi(); + + } +} +/*****************************************************************************/ +/* + * platform-specific code to shutdown a CPU + * + * Called with IRQs disabled + */ +void hi3798mv2x_cpu_die(unsigned int cpu) +{ + int spurious = 0; + + v7_exit_coherency_flush(louis); + asm volatile( \ + ".arch armv7-a \n\t" \ + "mrrc p15, 1, r0, r1, c15 @ get ACTLR \n\t" \ + "bic r0, #(1 << 6) @ disable local coherency \n\t" \ + "mcrr p15, 1, r0, r1, c15 @ set ACTLR \n\t" \ + "isb \n\t" \ + "dsb \n\t" \ + : : : "r0", "r1", "memory" ); + + platform_do_lowpower(cpu, &spurious); + +} + +/*****************************************************************************/ +/* + * copy startup code to sram, and flash cache. + * @start_addr: slave start phy address + * @jump_addr: slave jump phy address + */ +void set_scu_boot_addr(unsigned int start_addr, unsigned int jump_addr) +{ + unsigned int *virtaddr; +#ifdef CONFIG_SECURE_EXTENSION + + virtaddr = ioremap(REG_BASE_SCTL + REG_SC_GEN1, PAGE_SIZE); + + *virtaddr = jump_addr; /* pc jump phy address */ + + smp_wmb(); + __cpuc_flush_dcache_area((void *)virtaddr, + (size_t)sizeof(*virtaddr)); + outer_clean_range(__pa(virtaddr), __pa(virtaddr + sizeof(*virtaddr))); + + iounmap(virtaddr); +#else + unsigned int *p_virtaddr; + + p_virtaddr = virtaddr = ioremap(start_addr, PAGE_SIZE); + + *p_virtaddr++ = 0xe51ff004; /* ldr pc, [pc, #-4] */ + *p_virtaddr++ = jump_addr; /* pc jump phy address */ + + smp_wmb(); + __cpuc_flush_dcache_area((void *)virtaddr, + (size_t)((char *)p_virtaddr - (char *)virtaddr)); + outer_clean_range(__pa(virtaddr), __pa(p_virtaddr)); + + iounmap(virtaddr); +#endif +} + + diff --git a/arch/arm/mach-hi3798mv2x/hotplug.h b/arch/arm/mach-hi3798mv2x/hotplug.h new file mode 100644 index 000000000..1aef14ede --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/hotplug.h @@ -0,0 +1,29 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#ifndef HOTPLUGH +#define HOTPLUGH +/******************************************************************************/ + +void hi3798mv2x_cpu_die(unsigned int cpu); + +void set_scu_boot_addr(unsigned int start_addr, unsigned int jump_addr); + +/******************************************************************************/ +#endif /* HOTPLUGH */ diff --git a/arch/arm/mach-hi3798mv2x/include/mach/debug-macro.S b/arch/arm/mach-hi3798mv2x/include/mach/debug-macro.S new file mode 100644 index 000000000..fd26c7896 --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/include/mach/debug-macro.S @@ -0,0 +1,10 @@ +#include +#include + +.macro addruart, rp, rv, tmp + ldr \rp, =CONFIG_DEFAULT_UART_BASE_ADDR @physical base + ldr \rv, =(CONFIG_DEFAULT_UART_BASE_ADDR +IO_OFFSET_LOW) + @ldr \rv, =0xFEC00000 @IO_ADDRESS(CONFIG_DEFAULT_UART_BASE_ADDR +IO_OFFSET_LOW) @virtual base +.endm + +#include diff --git a/arch/arm/mach-hi3798mv2x/include/mach/hardware.h b/arch/arm/mach-hi3798mv2x/include/mach/hardware.h new file mode 100644 index 000000000..961f5dbf9 --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/include/mach/hardware.h @@ -0,0 +1,13 @@ +#ifndef __ASM_ARCH_HARDWARE_H +#define __ASM_ARCH_HARDWARE_H + +#include +#include + +#ifndef __ASSEMBLY__ +# include +#endif + +#define __io_address(n) (IOMEM(IO_ADDRESS(n))) + +#endif diff --git a/arch/arm/mach-hi3798mv2x/include/mach/io.h b/arch/arm/mach-hi3798mv2x/include/mach/io.h new file mode 100644 index 000000000..7b3fb5c9d --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/include/mach/io.h @@ -0,0 +1,22 @@ +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +#include + + +#define __mem_pci(a) (a) + +/* phys_addr virt_addr + * 0xF800_0000 <-----> 0xF900_0000 + */ +#define HI3798MV2X_IOCH1_VIRT (0xF9000000) +#define HI3798MV2X_IOCH1_PHYS (0xF8000000) +#define HI3798MV2X_IOCH1_SIZE (0x02000000) + +#define IO_OFFSET_LOW (0x1000000) + +#define IO_ADDRESS(x) ((x) + IO_OFFSET_LOW) + +#define IO_ADDRESS_LOW(x) ((x) + IO_OFFSET_LOW) + +#endif diff --git a/arch/arm/mach-hi3798mv2x/include/mach/irqs.h b/arch/arm/mach-hi3798mv2x/include/mach/irqs.h new file mode 100644 index 000000000..293d09a71 --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/include/mach/irqs.h @@ -0,0 +1,38 @@ +#ifndef __HI_IRQS_H__ +#define __HI_IRQS_H__ + +#define HISI_GIC_IRQ_START (32) +#define IRQ_LOCALTIMER (29) +#define INTNR_COMMTX0 (HISI_GIC_IRQ_START + 0) +#define INTNR_COMMRX0 (HISI_GIC_IRQ_START + 2) +#define INTNR_WATCHDOG (HISI_GIC_IRQ_START + 4) +#define INTNR_TIMER_0_1 (HISI_GIC_IRQ_START + 24) +#define INTNR_TIMER_2 (HISI_GIC_IRQ_START + 25) +#define INTNR_TIMER_3 (HISI_GIC_IRQ_START + 58) +#define INTNR_TIMER_4 (HISI_GIC_IRQ_START + 26) +#define INTNR_TIMER_5 (HISI_GIC_IRQ_START + 59) +#define INTNR_TIMER_6 (HISI_GIC_IRQ_START + 27) +#define INTNR_TIMER_7 (HISI_GIC_IRQ_START + 60) + +#define INTNR_I2C0 (HISI_GIC_IRQ_START + 22) +#define INTNR_I2C1 (HISI_GIC_IRQ_START + 23) +#define INTNR_I2C2 (HISI_GIC_IRQ_START + 24) +#define INTNR_I2C3 (HISI_GIC_IRQ_START + 25) +#define INTNR_UART0 (HISI_GIC_IRQ_START + 49) +#define INTNR_UART1 (HISI_GIC_IRQ_START + 50) +#define INTNR_UART2 (HISI_GIC_IRQ_START + 51) +#define INTNR_UART3 (HISI_GIC_IRQ_START + 52) +#define INTNR_UART4 (HISI_GIC_IRQ_START + 53) + +#define INTNR_ETH (HISI_GIC_IRQ_START + 51) +#define INTNR_L2CACHE_CHK0_INT (HISI_GIC_IRQ_START + 72) +#define INTNR_L2CACHE_CHK1_INT (HISI_GIC_IRQ_START + 73) +#define INTNR_L2CACHE_INT_COMB (HISI_GIC_IRQ_START + 74) +#define INTNR_A9_PMU_INT0 (HISI_GIC_IRQ_START + 8) +#define INTNR_A9_PMU_INT1 (HISI_GIC_IRQ_START + 9) + +/* HISI_GIC_IRQ_START+160 ~ HISI_GIC_IRQ_START+320 reserve for gpio dynamic irq*/ +#define NR_IRQS (HISI_GIC_IRQ_START + 320) +#define MAX_GIC_NR 1 + +#endif diff --git a/arch/arm/mach-hi3798mv2x/include/mach/memory.h b/arch/arm/mach-hi3798mv2x/include/mach/memory.h new file mode 100644 index 000000000..fc2ab58aa --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/include/mach/memory.h @@ -0,0 +1,20 @@ +#ifndef __ASM_ARCH_MEMORY_H +#define __ASM_ARCH_MEMORY_H + +#define CONFIG_PHYS_OFFSET UL(0x0) + +/* ddr max size */ +#define PLAT_PHYS_END UL(0xC0000000) + +/* + * sdk use mmap + /dev/mem widely, by default mmap("/dev/mem") + * will map non-system memory(!pfn_valid) as strong order, + * but we want to chang it to normal non-cached, because of + * 1) normal non-cached has a better performance than strong order + * 2) unaligned access(i.e. in software decoder) will fault in + * data abort exception for ARM architecture reason. + * see phys_mem_access_prot() in /driver/char/mem.c + */ +#define is_ddr(phys) ((phys) >= CONFIG_PHYS_OFFSET && (phys) <= PLAT_PHYS_END) + +#endif /* __ASM_ARCH_MEMORY_H */ diff --git a/arch/arm/mach-hi3798mv2x/include/mach/platform.h b/arch/arm/mach-hi3798mv2x/include/mach/platform.h new file mode 100644 index 000000000..b30977b24 --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/include/mach/platform.h @@ -0,0 +1,168 @@ +#ifndef __HI_CHIP_REGS_H__ +#define __HI_CHIP_REGS_H__ + +#include + +/* SRAM Base Address Register */ +#define SRAM_BASE_ADDRESS 0xFFFF0000 + +#define S40_REG_BASE 0xF8000000 +#define REG_BASE_SCTL (S40_REG_BASE + 0) + + +#define REG_BASE_TIMER01 0xF8002000 +#define REG_BASE_TIMER23 0xF8A29000 +#define REG_BASE_TIMER45 0xF8A2A000 +#define REG_BASE_TIMER67 0xF8A2B000 + + +#define REG_BASE_SCI0 0x101F3000 +#define REG_BASE_SCI1 0x101F4000 +#define REG_BASE_CRG 0xF8A22000 +#define REG_BASE_SDIO1 0xF9830000 + +#define REG_BASE_CPU_LP 0xF8A22048 +#define REG_CPU_LP_CPU_SW_BEGIN 10 +#define CPU_REG_BASE_RST 0xF8A22050 +#define CPU_REG_COREPO_SRST 12 +#define CPU_REG_COREPDBG_SRST 6 +#define CPU_REG_CORE_SRST 8 +#define CPU_REG_CKEN 16 + +#define HIETHPHY_SYSREG_REG 0x0388 + +#define REG_BASE_PMC 0xF8A23000 +#define REG_PERI_PMC0 (REG_BASE_PMC) +#define REG_PERI_PMC1 (REG_BASE_PMC + 0x4) +#define REG_PERI_PMC2 (REG_BASE_PMC + 0x8) +#define REG_PERI_PMC3 (REG_BASE_PMC + 0xC) +#define REG_PERI_PMC4 (REG_BASE_PMC + 0x10) +#define REG_PERI_PMC5 (REG_BASE_PMC + 0x14) +#define REG_PERI_PMC6 (REG_BASE_PMC + 0x18) +#define REG_PERI_PMC7 (REG_BASE_PMC + 0x1C) +#define REG_PERI_PMC8 (REG_BASE_PMC + 0x20) +#define REG_PERI_PMC9 (REG_BASE_PMC + 0x24) +#define REG_PERI_PMC64 (REG_BASE_PMC + 0X100) +#define REG_PERI_PMC65 (REG_BASE_PMC + 0X104) +#define REG_PERI_PMC66 (REG_BASE_PMC + 0X108) +#define REG_PERI_PMC67 (REG_BASE_PMC + 0X10c) +#define REG_PERI_PMC68 (REG_BASE_PMC + 0X110) +#define REG_PERI_PMC76 (REG_BASE_PMC + 0X130) +#define REG_PERI_PMC77 (REG_BASE_PMC + 0X134) +#define REG_PERI_PMC78 (REG_BASE_PMC + 0X138) + +#define REG_BASE_UART0 0xF8B00000 +#define REG_BASE_UART1 0xF8006000 +#define REG_BASE_UART2 0xF8B02000 +#define REG_BASE_UART3 0xF8B03000 +#define REG_BASE_UART4 0xF8B04000 +#define REG_BASE_CUR_UART REG_BASE_UART0 + +#define REG_BASE_PERI_CTRL 0xF8A20000 +#define REG_BASE_PERI_CTRL_START_MODE (REG_BASE_PERI_CTRL) + +#define REG_BASE_GIC_REG 0xF1000000 +#define REG_BASE_CSSYS 0x10330000 +#define REG_BASE_DNR 0x10450000 + +#define REG_BASE_L2CACHE 0xF8A10000 + + +/*CORTTX-A9 MPCORE MEMORY REGION*/ +#define REG_A9_PERI_SCU 0x0000 +#define REG_A9_PERI_GIC_CPU 0x2000 +#define REG_A9_PERI_GLOBAL_TIMER 0x0200 +#define REG_A9_PERI_PRI_TIMER_WDT 0x0600 +#define REG_A9_PERI_GIC_DIST 0x1000 + + +/* CA clock and reset register */ +#define REG_PERI_CRG29 0x00B4 + +#define CA_CTRL_PROC 0x78 +#define CA_VENDOR_OFFSET 28 +#define CA_VENDOR_MASK 0x0f +#define CA_TYPE_NO_CA 0 +#define CA_TYPE_NAGRA 1 + +/* SYSTEM CONTROL REG */ +#define REG_SC_CTRL 0x0000 +#define REG_SC_SYSRES 0x0004 +#define REG_SC_XTALCTRL 0x0010 +#define REG_SC_APLLCTRL 0x0014 +#define REG_SC_APLLFREQCTRL0 0x0018 +#define REG_SC_APLLFREQCTRL1 0x001C +#define REG_SC_VPLL0FREQCTRL0 0x0020 +#define REG_SC_VPLL0FREQCTRL1 0x0024 +#define REG_SC_VPLL1FREQCTRL0 0x0028 +#define REG_SC_VPLL1FREQCTRL1 0x002C +#define REG_SC_EPLLFREQCTRL0 0x0030 +#define REG_SC_EPLLFREQCTRL1 0x0034 +#define REG_SC_QPLLFREQCTRL0 0x0038 +#define REG_SC_QPLLFREQCTRL1 0x003C +#define REG_SC_LOW_POWER_CTRL 0x0040 +#define REG_SC_IO_REUSE_SEL 0x0044 +#define REG_SC_SRST_REQ_CTRL 0x0048 +#define REG_SC_CA_RST_CTRL 0x004C +#define REG_SC_WDG_RST_CTRL 0x0050 +#define REG_SC_DDRC_DFI_RST_CTRL 0x0054 +#define REG_SC_PLLLOCK_STAT 0x0070 +#define REG_SC_GEN0 0x0080 +#define REG_SC_GEN1 0x0084 +#define REG_SC_GEN2 0x0088 +#define REG_SC_GEN3 0x008C +#define REG_SC_GEN4 0x0090 +#define REG_SC_GEN5 0x0094 +#define REG_SC_GEN6 0x0098 +#define REG_SC_GEN7 0x009C +#define REG_SC_GEN8 0x00A0 +#define REG_SC_GEN9 0x00A4 +#define REG_SC_GEN10 0x00A8 +#define REG_SC_GEN11 0x00AC +#define REG_SC_GEN12 0x00B0 +#define REG_SC_GEN13 0x00B4 +#define REG_SC_GEN14 0x00B8 +#define REG_SC_GEN15 0x00BC +#define REG_SC_GEN16 0x00C0 +#define REG_SC_GEN17 0x00C4 +#define REG_SC_GEN18 0x00C8 +#define REG_SC_GEN19 0x00CC +#define REG_SC_GEN20 0x00D0 +#define REG_SC_GEN21 0x00D4 +#define REG_SC_GEN22 0x00D8 +#define REG_SC_GEN23 0x00DC +#define REG_SC_GEN24 0x00E0 +#define REG_SC_GEN25 0x00E4 +#define REG_SC_GEN26 0x00E8 +#define REG_SC_GEN27 0x00EC +#define REG_SC_GEN28 0x00F0 +#define REG_SC_GEN29 0x00F4 +#define REG_SC_GEN30 0x00F8 +#define REG_SC_GEN31 0x00FC +#define REG_SC_LOCKEN 0x020C +#define REG_SC_SYSID0 0x0EE0 +#define REG_SC_SYSID1 0x0EE4 +#define REG_SC_SYSID2 0x0EE8 +#define REG_SC_SYSID3 0x0EEC + +#define REG_PERI_SOC_FUSE 0x840 + +#define REG_BASE_WDG0 0xF8A2C000 +#define REG_BASE_WDG1 0xF8A2D000 + +#define CFG_GIC_CPU_BASE (IO_ADDRESS(REG_BASE_GIC_REG) + REG_A9_PERI_GIC_CPU) +#define CFG_GIC_DIST_BASE (IO_ADDRESS(REG_BASE_GIC_REG) + REG_A9_PERI_GIC_DIST) + +#define DDR_SUSPEND_SIZE 0x1000 /* size 1KB */ + +/*********************************************************************/ +/* + * 0x1-> init item1 + * 0x2-> init item2 + * 0x3->init item1 & item2 + */ +#define INIT_REG_ITEM1 1 +#define INIT_REG_ITEM2 2 +#define INIT_REG_ITEM1_ITEM2 (INIT_REG_ITEM1 | INIT_REG_ITEM2) + +#endif /*End of __HI_CHIP_REGS_H__ */ diff --git a/arch/arm/mach-hi3798mv2x/include/mach/timex.h b/arch/arm/mach-hi3798mv2x/include/mach/timex.h new file mode 100644 index 000000000..5c9ae566c --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/include/mach/timex.h @@ -0,0 +1,6 @@ +#ifndef __HISI_TIMEX__ +#define __HISI_TIMEX__ + +#define CLOCK_TICK_RATE 25000000 + +#endif diff --git a/arch/arm/mach-hi3798mv2x/include/mach/uncompress.h b/arch/arm/mach-hi3798mv2x/include/mach/uncompress.h new file mode 100644 index 000000000..1fbad984e --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/include/mach/uncompress.h @@ -0,0 +1,38 @@ +#ifndef __HISI_UNCOMPRESS_H__ +#define __HISI_UNCOMPRESS_H__ +#include +#include + +#define AMBA_UART_DR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x0)) +#define AMBA_UART_LCRH \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x2c)) +#define AMBA_UART_CR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x30)) +#define AMBA_UART_FR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x18)) + +/* + * This does not append a newline + */ +static inline void putc(int c) +{ + while (AMBA_UART_FR & (1 << 5)) + barrier(); + + AMBA_UART_DR = c; +} + +static inline void flush(void) +{ + while (AMBA_UART_FR & (1 << 3)) + barrier(); +} + +/* + * nothing to do + */ +#define arch_decomp_setup() +#define arch_decomp_wdog() + +#endif diff --git a/arch/arm/mach-hi3798mv2x/platsmp.c b/arch/arm/mach-hi3798mv2x/platsmp.c new file mode 100644 index 000000000..6abbacd0e --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/platsmp.c @@ -0,0 +1,200 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "platsmp.h" +#include "hotplug.h" + +#include + +static DEFINE_SPINLOCK(boot_lock); + +/*****************************************************************************/ +static void write_pen_release(int val) +{ + pen_release = val; + smp_wmb(); + __cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release)); + outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1)); +} +/*****************************************************************************/ + +static int hi3798mv2x_boot_secondary(unsigned int cpu, + struct task_struct *idle) +{ + unsigned long timeout; + + set_scu_boot_addr(0xFFFF0000, + (unsigned int)virt_to_phys(hi3798mv2x_secondary_startup)); + + /* + * set synchronisation state between this boot processor + * and the secondary one + */ + spin_lock(&boot_lock); + + slave_cores_power_up(cpu); + + /* + * The secondary processor is waiting to be released from + * the holding pen - release it, then wait for it to flag + * that it has been released by resetting pen_release. + * + * Note that "pen_release" is the hardware CPU ID, whereas + * "cpu" is Linux's internal ID. + */ + write_pen_release(cpu); + + /* + * Send the secondary CPU a soft interrupt, thereby causing + * the boot monitor to read the system wide flags register, + * and branch to the address found there. + */ + arch_send_wakeup_ipi_mask(cpumask_of(cpu)); + + /* + * Send the secondary CPU a soft interrupt, thereby causing + * the boot monitor to read the system wide flags register, + * and branch to the address found there. + */ + timeout = jiffies + (5 * HZ); + while (time_before(jiffies, timeout)) { + smp_rmb(); + if (pen_release == -1) + break; + + udelay(10); + } + + /* + * now the secondary core is starting up let it run its + * calibrations, then wait for it to finish + */ + spin_unlock(&boot_lock); + + return pen_release != -1 ? -ENOSYS : 0; +} +/*****************************************************************************/ + +static void hi3798mv2x_secondary_init(unsigned int cpu) +{ + /* + * let the primary processor know we're out of the + * pen, then head off into the C entry point + */ + write_pen_release(-1); + + /* + * Synchronise with the boot thread. + */ + spin_lock(&boot_lock); + spin_unlock(&boot_lock); +} +/*****************************************************************************/ + +static void hi3798mv2x_smp_init_cpus(void) +{ + unsigned int i, ncores, l2ctlr; + + asm volatile("mrc p15, 1, %0, c9, c0, 2\n" : "=r" (l2ctlr)); + ncores = ((l2ctlr >> 24) & 0x3) + 1; + + /* sanity check */ + if (ncores > NR_CPUS) { + printk(KERN_WARNING + "Realview: no. of cores (%d) greater than configured " + "maximum of %d - clipping\n", + ncores, NR_CPUS); + ncores = NR_CPUS; + } + + for (i = 0; i < ncores; i++) + set_cpu_possible(i, true); +} +/*****************************************************************************/ +void slave_cores_power_up(int cpu) +{ + unsigned int regval, regval_bak; + + void __iomem *cpu_rst = NULL; + + cpu_rst = ioremap_nocache(CPU_REG_BASE_RST, PAGE_SIZE); + if (!cpu_rst) + BUG(); + + printk(KERN_DEBUG "CPU%u: powerup\n", cpu); + + +#ifdef CONFIG_HI3798MV2X_FPGA + /* clear the slave cpu reset */ + regval = readl(cpu_rst); + regval &= ~(1 << (cpu + 12)); + writel(regval, cpu_rst); + + /* clear the slave cpu reset */ + regval = readl(cpu_rst); + regval &= ~(1 << (cpu + 8)); + writel(regval, cpu_rst); +#else + /* select 400MHz before start slave cores */ + regval_bak = readl((void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + writel(0x206, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + writel(0x606, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + + /* clear the slave cpu arm_por_srst_req reset */ + regval = readl((void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + regval &= ~(1 << (cpu + CPU_REG_COREPO_SRST)); + writel(regval, (void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + + /* clear the slave cpu reset */ + regval = readl((void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + regval &= ~(1 << (cpu + CPU_REG_CORE_SRST)); + writel(regval, (void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + + /* restore cpu freq */ + regval = regval_bak & (~(1 << REG_CPU_LP_CPU_SW_BEGIN)); + writel(regval, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + writel(regval_bak, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + + iounmap(cpu_rst); +#endif +} + +/*****************************************************************************/ + +struct smp_operations hi3798mv2x_smp_ops __initdata = { + .smp_init_cpus = hi3798mv2x_smp_init_cpus, + .smp_secondary_init = hi3798mv2x_secondary_init, + .smp_boot_secondary = hi3798mv2x_boot_secondary, +#ifdef CONFIG_HOTPLUG_CPU + .cpu_die = hi3798mv2x_cpu_die, +#endif +}; diff --git a/arch/arm/mach-hi3798mv2x/platsmp.h b/arch/arm/mach-hi3798mv2x/platsmp.h new file mode 100644 index 000000000..58872d566 --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/platsmp.h @@ -0,0 +1,30 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +*****************************************************************************/ + +#ifndef __PLATSMP__H__ +#define __PLATSMP__H__ + +extern struct smp_operations hi3798mv2x_smp_ops; + +void hi3798mv2x_secondary_startup(void); + +void slave_cores_power_up(int cpu); + +#endif + diff --git a/arch/arm/mach-hi3798mv2x/pmu.c b/arch/arm/mach-hi3798mv2x/pmu.c new file mode 100644 index 000000000..fb360d4a5 --- /dev/null +++ b/arch/arm/mach-hi3798mv2x/pmu.c @@ -0,0 +1,30 @@ +#include +#include + +static struct resource pmu_resource_hi3798mv2x[] = { + [0] = { + .start = INTNR_A9_PMU_INT0, + .end = INTNR_A9_PMU_INT0, + .flags = IORESOURCE_IRQ, + }, + + [1] = { + .start = INTNR_A9_PMU_INT1, + .end = INTNR_A9_PMU_INT1, + .flags = IORESOURCE_IRQ, + } +}; + +static struct platform_device A9_pmu_device_hi3798mv2x = { + .name = "arm-pmu", + .id = -1, + .resource = pmu_resource_hi3798mv2x, + .num_resources = ARRAY_SIZE(pmu_resource_hi3798mv2x), +}; + +static int __init pmu_init(void) +{ + platform_device_register(&A9_pmu_device_hi3798mv2x); + return 0; +}; +arch_initcall(pmu_init); diff --git a/arch/arm/mach-hi3798mx/Kconfig b/arch/arm/mach-hi3798mx/Kconfig new file mode 100644 index 000000000..734928e0c --- /dev/null +++ b/arch/arm/mach-hi3798mx/Kconfig @@ -0,0 +1,54 @@ +config ARCH_HI3798MX + bool "Hisilicon HI3798MX family" + depends on ARCH_MULTI_V7 || ARCH_MULTI_V5 + select ARM_AMBA + select ARM_GIC if ARCH_MULTI_V7 + select HAVE_CLK + select CLKDEV_LOOKUP + select HAVE_SCHED_CLOCK + select GENERIC_TIME + select GENERIC_CLOCKEVENTS + select GENERIC_IRQ_MULTI_HANDLER + select ARCH_HAS_CPUFREQ + select MIGHT_HAVE_PCI + select HAVE_SMP + select ARCH_HAS_CPUFREQ + select USB_ARCH_HAS_OHCI + select USB_ARCH_HAS_EHCI + select USB_ARCH_HAS_XHCI + select ARM_HAS_SG_CHAIN + select PM_OPP + help + This enables support for Hisilicon HI3798MX platform. + With the advanced ARM Cortex A7 processor, + HI3798MX serial provides high-speed processing capability. + And HI3798MX serial constains a very powerfull media process engine, + two ethernet interface, EHCI and OHCI controllers, PCI-Express + controller and many peripheral equipments. + +if ARCH_HI3798MX + +menu "Hisilicon platform type" + +config MACH_HI3798MX + bool "Support hi3798mx platform" + select CPU_V7 + select ARM_GIC + select ARM_TIMER_SP804 + select COMMON_CLK + select ARCH_REQUIRE_GPIOLIB + select DYNAMIC_DEBUG + help + Include support for the hisilion HI3798MX platform. + HI3798MX support ARM CORTEX-A7 processer, + within a Generic Interrupt Controller. + Support DDR2 and DDR3. + +config DEFAULT_UART_BASE_ADDR + hex "Default uart controller base address" + default "0xF8B00000" + help + Default UART controller base address + +endmenu +endif diff --git a/arch/arm/mach-hi3798mx/Makefile b/arch/arm/mach-hi3798mx/Makefile new file mode 100644 index 000000000..bbb1dbe15 --- /dev/null +++ b/arch/arm/mach-hi3798mx/Makefile @@ -0,0 +1,13 @@ +# +# Makefile for the linux kernel. +# + +ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include + +KBUILD_AFLAGS :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=softvfp+vfp) +LDFLAGS +=--no-warn-mismatch + +obj-y := core.o +obj-$(CONFIG_HW_PERF_EVENTS) += pmu.o +obj-$(CONFIG_SMP) += platsmp.o headsmp.o +obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o diff --git a/arch/arm/mach-hi3798mx/Makefile.boot b/arch/arm/mach-hi3798mx/Makefile.boot new file mode 100644 index 000000000..aa739ea10 --- /dev/null +++ b/arch/arm/mach-hi3798mx/Makefile.boot @@ -0,0 +1,4 @@ +zreladdr-y := 0x00008000 +params_phys-y := 0x00000100 +initrd_phys-y := 0x00800000 +LOADADDR := 0x02000000 diff --git a/arch/arm/mach-hi3798mx/core.c b/arch/arm/mach-hi3798mx/core.c new file mode 100644 index 000000000..f21f8fc61 --- /dev/null +++ b/arch/arm/mach-hi3798mx/core.c @@ -0,0 +1,150 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "platsmp.h" + +/*****************************************************************************/ + +static struct map_desc hi3798mx_io_desc[] __initdata = { + /* S40_IOCH1 */ + { + .virtual = S40_IOCH1_VIRT, + .pfn = __phys_to_pfn(S40_IOCH1_PHYS), + .length = S40_IOCH1_SIZE, + .type = MT_DEVICE + }, + /* S40_IOCH2 */ + { + .virtual = S40_IOCH2_VIRT, + .pfn = __phys_to_pfn(S40_IOCH2_PHYS), + .length = S40_IOCH2_SIZE, + .type = MT_DEVICE + }, +}; +/******************************************************************************/ + +static void __init hi3798mx_map_io(void) +{ + iotable_init(hi3798mx_io_desc, ARRAY_SIZE(hi3798mx_io_desc)); +} +/*****************************************************************************/ + +static void __init hi3798mx_reserve(void) +{ +} +/******************************************************************************/ + +static void __init hi3798mx_init_early(void) +{ + /* + * 1. enable L1 prefetch [2] + * 4. enable allocation in one cache way only. [8] + */ + asm volatile ( + " mrc p15, 0, r0, c1, c0, 1\n" + " orr r0, r0, #0x104\n" + " mcr p15, 0, r0, c1, c0, 1\n" + : + : + : "r0", "cc"); +} +/*****************************************************************************/ + +#ifdef CONFIG_HIMCIV200_SDIO_SYNOPSYS +static int hi3798mx_mci_quirk(void) +{ + void *base = __io_address(REG_BASE_SDIO1); + unsigned int reg_data = 0; + + writel(0x1affe, base + 0x44); + writel(0, base + 0x20); + writel(0, base + 0x1c); + writel(0, base + 0x28); + + writel(0xa000414c, base + 0x2c); + + mdelay(100); + + reg_data = readl(base + 0x00); + reg_data |= 7; + writel(reg_data, base+ 0x00); + + writel(0, base + 0x78); + writel(0, base + 0x04); + mdelay(2); + writel(1, base + 0x78); + + return 0; +} +#endif + +static void hi3798mx_restart(enum reboot_mode mode, const char *cmd) +{ + printk(KERN_INFO "CPU will restart."); + + mdelay(200); + + local_irq_disable(); + +#ifdef CONFIG_HIMCIV200_SDIO_SYNOPSYS + hi3798mx_mci_quirk(); +#endif + + /* unclock wdg */ + writel(0x1ACCE551, __io_address(REG_BASE_WDG0 + 0xc00)); + /* wdg load value */ + writel(0x00000100, __io_address(REG_BASE_WDG0 + 0x0)); + /* bit0: int enable bit1: reboot enable */ + writel(0x00000003, __io_address(REG_BASE_WDG0 + 0x8)); + + while (1); + + BUG(); +} +/*****************************************************************************/ +extern void __init hi3798mx_timer_init(void); + +static const char * const hi3798mx_dt_board_compat[] = { + "hisilicon,hi3798mv100", + NULL +}; + +DT_MACHINE_START(HI3798MX, "bigfish") + .dt_compat = hi3798mx_dt_board_compat, + .atag_offset = 0x100, + .map_io = hi3798mx_map_io, + .init_early = hi3798mx_init_early, + .smp = smp_ops(hi3798mx_smp_ops), + .reserve = hi3798mx_reserve, + .restart = hi3798mx_restart, +MACHINE_END diff --git a/arch/arm/mach-hi3798mx/headsmp.S b/arch/arm/mach-hi3798mx/headsmp.S new file mode 100644 index 000000000..10aa91114 --- /dev/null +++ b/arch/arm/mach-hi3798mx/headsmp.S @@ -0,0 +1,92 @@ +/* + * + * clone from linux/arch/arm/mach-realview/headsmp.S + * + * Copyright (c) 2003 ARM Limited + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#include +#include + +.syntax divided + +/* + * Realview specific entry point for secondary CPUs. This provides + * a "holding pen" into which all secondary cores are held until we're + * ready for them to initialise. + */ +ENTRY(hi3798mx_secondary_startup) + + /* set the cpu to SVC32 mode */ + mrs r0, cpsr + bic r0, r0, #0x1f /* r0 = ((~0x1F) & r0) */ + orr r0, r0, #0xd3 /* r0 = (0xd3 | r0) */ + msr cpsr, r0 + + bl flash_cache_all + + mrc p15, 0, r0, c0, c0, 5 + and r0, r0, #15 + adr r4, 1f + ldmia r4, {r5, r6} + sub r4, r4, r5 + add r6, r6, r4 +pen: ldr r7, [r6] + cmp r7, r0 + bne pen + + /* + * we've been released from the holding pen: secondary_stack + * should now contain the SVC stack for this core + */ + b secondary_startup + +1: .long . + .long pen_release + +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@ +@ corrupt: r0, r1, r2, r3 +@ +.align 2 +flash_cache_all: + + /* disable MMU stuff and caches */ + mrc p15, 0, r0, c1, c0, 0 + orr r0, r0, #0x00002000 /* clear bits 13 (--V-) */ + bic r0, r0, #0x00000007 /* clear bits 2:0 (-CAM) */ + orr r0, r0, #0x00000002 /* set bit 1 (--A-) Align */ + orr r0, r0, #0x00000800 /* set bit 12 (Z---) BTB */ + mcr p15, 0, r0, c1, c0, 0 + + /* + * Invalidate L1 I/D + */ + mov r0, #0 /* set up for MCR */ + mcr p15, 0, r0, c8, c7, 0 /* invalidate TLBs */ + mcr p15, 0, r0, c7, c5, 0 /* invalidate icache */ + + /* Invalidate L1 D-cache */ + mcr p15, 2, r0, c0, c0, 0 /* select L1 data cache */ + mrc p15, 1, r3, c0, c0, 0 /* Read Current Cache Size Identification Register */ + ldr r1, =0x1ff + and r3, r1, r3, LSR #13 /* r3 = (number of sets -1) */ + mov r0, #0 +way_loop: + mov r1, #0 /* r1->set counter */ +line_loop: + mov r2, r0, LSL #30 + orr r2, r1, LSL #5 /* r2->set/way cache-op format */ + mcr p15, 0, r2, c7, c6, 2 /* Invalidate line described by r2 */ + add r1, r1, #1 /* Increment set counter */ + cmp r1, r3 /* Check if the last set is reached... */ + ble line_loop /* if not, continue the set_loop */ + add r0, r0, #1 /* else, Increment way counter */ + cmp r0, #4 /* Check if the last way is reached... */ + blt way_loop /* if not, continue the way_loop */ + + mov pc, lr diff --git a/arch/arm/mach-hi3798mx/hotplug.c b/arch/arm/mach-hi3798mx/hotplug.c new file mode 100644 index 000000000..b0391765e --- /dev/null +++ b/arch/arm/mach-hi3798mx/hotplug.c @@ -0,0 +1,165 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include + +extern volatile int pen_release; +static DECLARE_COMPLETION(cpu_killed); +/*****************************************************************************/ +static inline void cpu_enter_lowpower(void) +{ + unsigned int v; + + flush_cache_all(); + dsb(); + asm volatile( + " mcr p15, 0, %1, c7, c5, 0\n" + " mcr p15, 0, %1, c7, c10, 4\n" + /* + * Turn off coherency + */ + " mrc p15, 0, %0, c1, c0, 1\n" + " bic %0, %0, #0x40\n" + " mcr p15, 0, %0, c1, c0, 1\n" + " mrc p15, 0, %0, c1, c0, 0\n" + " bic %0, %0, #0x04\n" + " mcr p15, 0, %0, c1, c0, 0\n" + : "=&r" (v) + : "r" (0) + : "cc"); +} +/*****************************************************************************/ +static inline void cpu_leave_lowpower(void) +{ + unsigned int v; + + asm volatile( + " mrc p15, 0, %0, c1, c0, 0\n" + " orr %0, %0, #0x04\n" + " mcr p15, 0, %0, c1, c0, 0\n" + " mrc p15, 0, %0, c1, c0, 1\n" + " orr %0, %0, #0x20\n" + " mcr p15, 0, %0, c1, c0, 1\n" + : "=&r" (v) + : + : "cc"); +} +/*****************************************************************************/ +static inline void platform_do_lowpower(unsigned int cpu, int *spurious) +{ + /* + * there is no power-control hardware on this platform, so all + * we can do is put the core into WFI; this is safe as the calling + * code will have already disabled interrupts + */ + for (;;) { + /* + * here's the WFI + */ + asm(".word 0xe320f003\n" + : + : + : "memory", "cc"); + + if (pen_release == cpu_logical_map(cpu)) { + /* + * OK, proper wakeup, we're done + */ + break; + } + + /* + * Getting here, means that we have come out of WFI without + * having been woken up - this shouldn't happen + * + * Just note it happening - when we're woken, we can report + * its occurrence. + */ + (*spurious)++; + } +} +/*****************************************************************************/ +/* + * platform-specific code to shutdown a CPU + * + * Called with IRQs disabled + */ +void hi3798mx_cpu_die(unsigned int cpu) +{ + int spurious = 0; + + /* + * we're ready for shutdown now, so do it + */ + cpu_enter_lowpower(); + platform_do_lowpower(cpu, &spurious); + + /* + * bring this CPU back into the world of cache + * coherency, and then restore interrupts + */ + cpu_leave_lowpower(); +} + +/*****************************************************************************/ +/* + * copy startup code to sram, and flash cache. + * @start_addr: slave start phy address + * @jump_addr: slave jump phy address + */ +void set_scu_boot_addr(unsigned int start_addr, unsigned int jump_addr) +{ + unsigned int *virtaddr; +#ifdef CONFIG_SECURE_EXTENSION + + virtaddr = ioremap(REG_BASE_SCTL + REG_SC_GEN1, PAGE_SIZE); + + *virtaddr = jump_addr; /* pc jump phy address */ + + smp_wmb(); + __cpuc_flush_dcache_area((void *)virtaddr, + (size_t)sizeof(*virtaddr)); + outer_clean_range(__pa(virtaddr), __pa(virtaddr + sizeof(*virtaddr))); + + iounmap(virtaddr); +#else + unsigned int *p_virtaddr; + + p_virtaddr = virtaddr = ioremap(start_addr, PAGE_SIZE); + + *p_virtaddr++ = 0xe51ff004; /* ldr pc, [pc, #-4] */ + *p_virtaddr++ = jump_addr; /* pc jump phy address */ + + smp_wmb(); + __cpuc_flush_dcache_area((void *)virtaddr, + (size_t)((char *)p_virtaddr - (char *)virtaddr)); + outer_clean_range(__pa(virtaddr), __pa(p_virtaddr)); + + iounmap(virtaddr); +#endif +} + + diff --git a/arch/arm/mach-hi3798mx/hotplug.h b/arch/arm/mach-hi3798mx/hotplug.h new file mode 100644 index 000000000..c7eb9e13f --- /dev/null +++ b/arch/arm/mach-hi3798mx/hotplug.h @@ -0,0 +1,29 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#ifndef HOTPLUGH +#define HOTPLUGH +/******************************************************************************/ + +void hi3798mx_cpu_die(unsigned int cpu); + +void set_scu_boot_addr(unsigned int start_addr, unsigned int jump_addr); + +/******************************************************************************/ +#endif /* HOTPLUGH */ diff --git a/arch/arm/mach-hi3798mx/include/mach/debug-macro.S b/arch/arm/mach-hi3798mx/include/mach/debug-macro.S new file mode 100644 index 000000000..3ff009459 --- /dev/null +++ b/arch/arm/mach-hi3798mx/include/mach/debug-macro.S @@ -0,0 +1,10 @@ +#include + +#include "platform.h" + +.macro addruart, rp, rv, tmp + ldr \rp, =CONFIG_DEFAULT_UART_BASE_ADDR @physical base + ldr \rv, =(CONFIG_DEFAULT_UART_BASE_ADDR +IO_OFFSET_LOW) @virtual base +.endm + +#include diff --git a/arch/arm/mach-hi3798mx/include/mach/hardware.h b/arch/arm/mach-hi3798mx/include/mach/hardware.h new file mode 100644 index 000000000..961f5dbf9 --- /dev/null +++ b/arch/arm/mach-hi3798mx/include/mach/hardware.h @@ -0,0 +1,13 @@ +#ifndef __ASM_ARCH_HARDWARE_H +#define __ASM_ARCH_HARDWARE_H + +#include +#include + +#ifndef __ASSEMBLY__ +# include +#endif + +#define __io_address(n) (IOMEM(IO_ADDRESS(n))) + +#endif diff --git a/arch/arm/mach-hi3798mx/include/mach/io.h b/arch/arm/mach-hi3798mx/include/mach/io.h new file mode 100644 index 000000000..b5dc7b558 --- /dev/null +++ b/arch/arm/mach-hi3798mx/include/mach/io.h @@ -0,0 +1,30 @@ +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +#define __mem_pci(a) (a) + +/* phys_addr virt_addr + * 0xF800_0000 <-----> 0xF900_0000 + */ +#define S40_IOCH1_VIRT (0xF9000000) +#define S40_IOCH1_PHYS (0xF8000000) +#define S40_IOCH1_SIZE (0x02000000) + +/* phys_addr virt_addr + * 0xFF000000 <-----> 0xFB000000 + * Only for s5 platform + */ +#define S40_IOCH2_VIRT (0xFB000000) +#define S40_IOCH2_PHYS (0xFF000000) +#define S40_IOCH2_SIZE (0x00430000) + +#define IO_OFFSET_LOW (0x1000000) +#define IO_OFFSET_HIGH (0x4000000) + +#define IO_ADDRESS(x) ((x) >= S40_IOCH2_PHYS ? (x)- IO_OFFSET_HIGH\ + : (x) + IO_OFFSET_LOW) + +#define IO_ADDRESS_LOW(x) ((x) + IO_OFFSET_LOW) +#define IO_ADDRESS_HIGH(x) ((x) - IO_OFFSET_HIGH) + +#endif diff --git a/arch/arm/mach-hi3798mx/include/mach/irqs.h b/arch/arm/mach-hi3798mx/include/mach/irqs.h new file mode 100644 index 000000000..abedb1abb --- /dev/null +++ b/arch/arm/mach-hi3798mx/include/mach/irqs.h @@ -0,0 +1,51 @@ +#ifndef __HI_IRQS_H__ +#define __HI_IRQS_H__ + +#define HISI_GIC_IRQ_START (32) +#define IRQ_LOCALTIMER (29) +#define INTNR_COMMTX0 (HISI_GIC_IRQ_START + 0) +#define INTNR_COMMRX0 (HISI_GIC_IRQ_START + 2) +#define INTNR_WATCHDOG (HISI_GIC_IRQ_START + 4) +#define INTNR_TIMER_0_1 (HISI_GIC_IRQ_START + 24) +#define INTNR_TIMER_2 (HISI_GIC_IRQ_START + 25) +#define INTNR_TIMER_3 (HISI_GIC_IRQ_START + 58) +#define INTNR_TIMER_4 (HISI_GIC_IRQ_START + 26) +#define INTNR_TIMER_5 (HISI_GIC_IRQ_START + 59) +#define INTNR_TIMER_6 (HISI_GIC_IRQ_START + 27) +#define INTNR_TIMER_7 (HISI_GIC_IRQ_START + 60) +#define INTNR_GPIO_0 (HISI_GIC_IRQ_START + 9) +#define INTNR_GPIO_1 (HISI_GIC_IRQ_START + 10) +#define INTNR_GPIO_2 (HISI_GIC_IRQ_START + 11) +#define INTNR_GPIO_3 (HISI_GIC_IRQ_START + 12) +#define INTNR_GPIO_4 (HISI_GIC_IRQ_START + 13) +#define INTNR_GPIO_5 (HISI_GIC_IRQ_START + 14) +#define INTNR_GPIO_6 (HISI_GIC_IRQ_START + 15) +#define INTNR_GPIO_7 (HISI_GIC_IRQ_START + 16) +#define INTNR_GPIO_8 (HISI_GIC_IRQ_START + 17) +#define INTNR_GPIO_9 (HISI_GIC_IRQ_START + 18) +#define INTNR_GPIO_10 (HISI_GIC_IRQ_START + 19) +#define INTNR_GPIO_11 (HISI_GIC_IRQ_START + 20) +#define INTNR_GPIO_12 (HISI_GIC_IRQ_START + 21) +#define INTNR_I2C0 (HISI_GIC_IRQ_START + 22) +#define INTNR_I2C1 (HISI_GIC_IRQ_START + 23) +#define INTNR_I2C2 (HISI_GIC_IRQ_START + 24) +#define INTNR_I2C3 (HISI_GIC_IRQ_START + 25) +#define INTNR_UART0 (HISI_GIC_IRQ_START + 49) +#define INTNR_UART1 (HISI_GIC_IRQ_START + 50) +#define INTNR_UART2 (HISI_GIC_IRQ_START + 51) +#define INTNR_UART3 (HISI_GIC_IRQ_START + 52) +#define INTNR_UART4 (HISI_GIC_IRQ_START + 53) + +#define INTNR_ETH (HISI_GIC_IRQ_START + 51) +#define INTNR_L2CACHE_CHK0_INT (HISI_GIC_IRQ_START + 72) +#define INTNR_L2CACHE_CHK1_INT (HISI_GIC_IRQ_START + 73) +#define INTNR_L2CACHE_INT_COMB (HISI_GIC_IRQ_START + 74) +#define INTNR_A9_PMU_INT0 (HISI_GIC_IRQ_START + 8) +#define INTNR_A9_PMU_INT1 (HISI_GIC_IRQ_START + 9) + +/* HISI_GIC_IRQ_START + 160 ~ HISI_GIC_IRQ_START + 320 reserve for gpio */ +#define VIRT_IRQS_START (HISI_GIC_IRQ_START + 160) +#define NR_IRQS (VIRT_IRQS_START + 160) +#define MAX_GIC_NR 1 + +#endif diff --git a/arch/arm/mach-hi3798mx/include/mach/memory.h b/arch/arm/mach-hi3798mx/include/mach/memory.h new file mode 100644 index 000000000..fc2ab58aa --- /dev/null +++ b/arch/arm/mach-hi3798mx/include/mach/memory.h @@ -0,0 +1,20 @@ +#ifndef __ASM_ARCH_MEMORY_H +#define __ASM_ARCH_MEMORY_H + +#define CONFIG_PHYS_OFFSET UL(0x0) + +/* ddr max size */ +#define PLAT_PHYS_END UL(0xC0000000) + +/* + * sdk use mmap + /dev/mem widely, by default mmap("/dev/mem") + * will map non-system memory(!pfn_valid) as strong order, + * but we want to chang it to normal non-cached, because of + * 1) normal non-cached has a better performance than strong order + * 2) unaligned access(i.e. in software decoder) will fault in + * data abort exception for ARM architecture reason. + * see phys_mem_access_prot() in /driver/char/mem.c + */ +#define is_ddr(phys) ((phys) >= CONFIG_PHYS_OFFSET && (phys) <= PLAT_PHYS_END) + +#endif /* __ASM_ARCH_MEMORY_H */ diff --git a/arch/arm/mach-hi3798mx/include/mach/platform.h b/arch/arm/mach-hi3798mx/include/mach/platform.h new file mode 100644 index 000000000..376f20832 --- /dev/null +++ b/arch/arm/mach-hi3798mx/include/mach/platform.h @@ -0,0 +1,159 @@ +#ifndef __HI_CHIP_REGS_H__ +#define __HI_CHIP_REGS_H__ + +#include + +/* SRAM Base Address Register */ +#define SRAM_BASE_ADDRESS 0xFFFF0000 + +#define S40_REG_BASE 0xF8000000 +#define REG_BASE_SCTL (S40_REG_BASE + 0) + + +#define REG_BASE_TIMER01 0xF8002000 +#define REG_BASE_TIMER23 0xF8A29000 +#define REG_BASE_TIMER45 0xF8A2A000 +#define REG_BASE_TIMER67 0xF8A2B000 + + +#define REG_BASE_SCI0 0x101F3000 +#define REG_BASE_SCI1 0x101F4000 +#define REG_BASE_CRG 0xF8A22000 +#define REG_BASE_SDIO1 0xF9830000 + +#define REG_BASE_CPU_LP 0xF8A22048 +#define REG_CPU_LP_CPU_SW_BEGIN 10 +#define CPU_REG_BASE_RST 0xF8A22050 +#define CPU_REG_ARM_POR_SRST 12 +#define CPU_REG_ARM_SRST 16 +#define CPU_REG_CLUSTER_DBG_SRST 20 + +#define HIETHPHY_SYSREG_REG 0x0120 + +#define REG_BASE_PMC 0xF8A23000 +#define REG_PERI_PMC0 (REG_BASE_PMC) +#define REG_PERI_PMC1 (REG_BASE_PMC + 0x4) +#define REG_PERI_PMC2 (REG_BASE_PMC + 0x8) +#define REG_PERI_PMC3 (REG_BASE_PMC + 0xC) +#define REG_PERI_PMC4 (REG_BASE_PMC + 0x10) +#define REG_PERI_PMC5 (REG_BASE_PMC + 0x14) +#define REG_PERI_PMC6 (REG_BASE_PMC + 0x18) +#define REG_PERI_PMC7 (REG_BASE_PMC + 0x1C) +#define REG_PERI_PMC8 (REG_BASE_PMC + 0x20) +#define REG_PERI_PMC9 (REG_BASE_PMC + 0x24) + +#define REG_BASE_UART0 0xF8B00000 +#define REG_BASE_UART1 0xF8006000 +#define REG_BASE_UART2 0xF8B02000 +#define REG_BASE_UART3 0xF8B03000 +#define REG_BASE_UART4 0xF8B04000 +#define REG_BASE_CUR_UART REG_BASE_UART0 + +#define REG_BASE_PERI_CTRL 0xF8A20000 +#define REG_BASE_PERI_CTRL_START_MODE (REG_BASE_PERI_CTRL) + +#define REG_BASE_A9_PERI 0xF8A00000 +#define REG_BASE_CSSYS 0x10330000 +#define REG_BASE_DNR 0x10450000 + +#define REG_BASE_L2CACHE 0xF8A10000 + + +/*CORTTX-A9 MPCORE MEMORY REGION*/ +#define REG_A9_PERI_SCU 0x0000 +#define REG_A9_PERI_GIC_CPU 0x2000 +#define REG_A9_PERI_GLOBAL_TIMER 0x0200 +#define REG_A9_PERI_PRI_TIMER_WDT 0x0600 +#define REG_A9_PERI_GIC_DIST 0x1000 + + +/* CA clock and reset register */ +#define REG_PERI_CRG29 0x00B4 + +#define CA_CTRL_PROC 0x78 +#define CA_VENDOR_OFFSET 28 +#define CA_VENDOR_MASK 0x0f +#define CA_TYPE_NO_CA 0 +#define CA_TYPE_NAGRA 1 + +/* SYSTEM CONTROL REG */ +#define REG_SC_CTRL 0x0000 +#define REG_SC_SYSRES 0x0004 +#define REG_SC_XTALCTRL 0x0010 +#define REG_SC_APLLCTRL 0x0014 +#define REG_SC_APLLFREQCTRL0 0x0018 +#define REG_SC_APLLFREQCTRL1 0x001C +#define REG_SC_VPLL0FREQCTRL0 0x0020 +#define REG_SC_VPLL0FREQCTRL1 0x0024 +#define REG_SC_VPLL1FREQCTRL0 0x0028 +#define REG_SC_VPLL1FREQCTRL1 0x002C +#define REG_SC_EPLLFREQCTRL0 0x0030 +#define REG_SC_EPLLFREQCTRL1 0x0034 +#define REG_SC_QPLLFREQCTRL0 0x0038 +#define REG_SC_QPLLFREQCTRL1 0x003C +#define REG_SC_LOW_POWER_CTRL 0x0040 +#define REG_SC_IO_REUSE_SEL 0x0044 +#define REG_SC_SRST_REQ_CTRL 0x0048 +#define REG_SC_CA_RST_CTRL 0x004C +#define REG_SC_WDG_RST_CTRL 0x0050 +#define REG_SC_DDRC_DFI_RST_CTRL 0x0054 +#define REG_SC_PLLLOCK_STAT 0x0070 +#define REG_SC_GEN0 0x0080 +#define REG_SC_GEN1 0x0084 +#define REG_SC_GEN2 0x0088 +#define REG_SC_GEN3 0x008C +#define REG_SC_GEN4 0x0090 +#define REG_SC_GEN5 0x0094 +#define REG_SC_GEN6 0x0098 +#define REG_SC_GEN7 0x009C +#define REG_SC_GEN8 0x00A0 +#define REG_SC_GEN9 0x00A4 +#define REG_SC_GEN10 0x00A8 +#define REG_SC_GEN11 0x00AC +#define REG_SC_GEN12 0x00B0 +#define REG_SC_GEN13 0x00B4 +#define REG_SC_GEN14 0x00B8 +#define REG_SC_GEN15 0x00BC +#define REG_SC_GEN16 0x00C0 +#define REG_SC_GEN17 0x00C4 +#define REG_SC_GEN18 0x00C8 +#define REG_SC_GEN19 0x00CC +#define REG_SC_GEN20 0x00D0 +#define REG_SC_GEN21 0x00D4 +#define REG_SC_GEN22 0x00D8 +#define REG_SC_GEN23 0x00DC +#define REG_SC_GEN24 0x00E0 +#define REG_SC_GEN25 0x00E4 +#define REG_SC_GEN26 0x00E8 +#define REG_SC_GEN27 0x00EC +#define REG_SC_GEN28 0x00F0 +#define REG_SC_GEN29 0x00F4 +#define REG_SC_GEN30 0x00F8 +#define REG_SC_GEN31 0x00FC +#define REG_SC_LOCKEN 0x020C +#define REG_SC_SYSID0 0x0EE0 +#define REG_SC_SYSID1 0x0EE4 +#define REG_SC_SYSID2 0x0EE8 +#define REG_SC_SYSID3 0x0EEC + +#define REG_PERI_SOC_FUSE 0x840 + +#define REG_BASE_WDG0 0xF8A2C000 +#define REG_BASE_WDG1 0xF8A2D000 + +#define CFG_GIC_CPU_BASE (IO_ADDRESS(REG_BASE_A9_PERI) + REG_A9_PERI_GIC_CPU) +#define CFG_GIC_DIST_BASE (IO_ADDRESS(REG_BASE_A9_PERI) + REG_A9_PERI_GIC_DIST) + +#define DDR_SUSPEND_SIZE 0x1000 /* size 1KB */ + +/*********************************************************************/ +/* + * 0x1-> init item1 + * 0x2-> init item2 + * 0x3->init item1 & item2 + */ +#define INIT_REG_ITEM1 1 +#define INIT_REG_ITEM2 2 +#define INIT_REG_ITEM1_ITEM2 (INIT_REG_ITEM1 | INIT_REG_ITEM2) + +#endif /*End of __HI_CHIP_REGS_H__ */ diff --git a/arch/arm/mach-hi3798mx/include/mach/timex.h b/arch/arm/mach-hi3798mx/include/mach/timex.h new file mode 100644 index 000000000..5c9ae566c --- /dev/null +++ b/arch/arm/mach-hi3798mx/include/mach/timex.h @@ -0,0 +1,6 @@ +#ifndef __HISI_TIMEX__ +#define __HISI_TIMEX__ + +#define CLOCK_TICK_RATE 25000000 + +#endif diff --git a/arch/arm/mach-hi3798mx/include/mach/uncompress.h b/arch/arm/mach-hi3798mx/include/mach/uncompress.h new file mode 100644 index 000000000..83444b5d1 --- /dev/null +++ b/arch/arm/mach-hi3798mx/include/mach/uncompress.h @@ -0,0 +1,40 @@ +#ifndef __HISI_UNCOMPRESS_H__ +#define __HISI_UNCOMPRESS_H__ + +#include + +#include "platform.h" + +#define AMBA_UART_DR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x0)) +#define AMBA_UART_LCRH \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x2c)) +#define AMBA_UART_CR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x30)) +#define AMBA_UART_FR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x18)) + +/* + * This does not append a newline + */ +static inline void putc(int c) +{ + while (AMBA_UART_FR & (1 << 5)) + barrier(); + + AMBA_UART_DR = c; +} + +static inline void flush(void) +{ + while (AMBA_UART_FR & (1 << 3)) + barrier(); +} + +/* + * nothing to do + */ +#define arch_decomp_setup() +#define arch_decomp_wdog() + +#endif diff --git a/arch/arm/mach-hi3798mx/platsmp.c b/arch/arm/mach-hi3798mx/platsmp.c new file mode 100644 index 000000000..b20aa14ac --- /dev/null +++ b/arch/arm/mach-hi3798mx/platsmp.c @@ -0,0 +1,210 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "platsmp.h" +#include "hotplug.h" + +#include + +volatile int pen_release = -1; +static DEFINE_SPINLOCK(boot_lock); + +/*****************************************************************************/ +static void write_pen_release(int val) +{ + pen_release = val; + smp_wmb(); + __cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release)); + outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1)); +} +/*****************************************************************************/ + +static int hi3798mx_boot_secondary(unsigned int cpu, + struct task_struct *idle) +{ + unsigned long timeout; + + set_scu_boot_addr(0xFFFF0000, + (unsigned int)virt_to_phys(hi3798mx_secondary_startup)); + + /* + * set synchronisation state between this boot processor + * and the secondary one + */ + spin_lock(&boot_lock); + + slave_cores_power_up(cpu); + + /* + * The secondary processor is waiting to be released from + * the holding pen - release it, then wait for it to flag + * that it has been released by resetting pen_release. + * + * Note that "pen_release" is the hardware CPU ID, whereas + * "cpu" is Linux's internal ID. + */ + write_pen_release(cpu); + + /* + * Send the secondary CPU a soft interrupt, thereby causing + * the boot monitor to read the system wide flags register, + * and branch to the address found there. + */ + arch_send_wakeup_ipi_mask(cpumask_of(cpu)); + + /* + * Send the secondary CPU a soft interrupt, thereby causing + * the boot monitor to read the system wide flags register, + * and branch to the address found there. + */ + timeout = jiffies + (5 * HZ); + while (time_before(jiffies, timeout)) { + smp_rmb(); + if (pen_release == -1) + break; + + udelay(10); + } + + /* + * now the secondary core is starting up let it run its + * calibrations, then wait for it to finish + */ + spin_unlock(&boot_lock); + + return pen_release != -1 ? -ENOSYS : 0; +} +/*****************************************************************************/ + +static void hi3798mx_secondary_init(unsigned int cpu) +{ + /* + * let the primary processor know we're out of the + * pen, then head off into the C entry point + */ + write_pen_release(-1); + + /* + * Synchronise with the boot thread. + */ + spin_lock(&boot_lock); + spin_unlock(&boot_lock); +} +/*****************************************************************************/ + +static void __init hi3798mx_smp_init_cpus(void) +{ + unsigned int i, ncores, l2ctlr; + + asm volatile("mrc p15, 1, %0, c9, c0, 2\n" : "=r" (l2ctlr)); + ncores = ((l2ctlr >> 24) & 0x3) + 1; + + /* sanity check */ + if (ncores > NR_CPUS) { + printk(KERN_WARNING + "Realview: no. of cores (%d) greater than configured " + "maximum of %d - clipping\n", + ncores, NR_CPUS); + ncores = NR_CPUS; + } + + for (i = 0; i < ncores; i++) + set_cpu_possible(i, true); +} +/*****************************************************************************/ +void slave_cores_power_up(int cpu) +{ + unsigned int regval, regval_bak; + + printk(KERN_DEBUG "CPU%u: powerup\n", cpu); + + /* select 400MHz before start slave cores */ + regval_bak = __raw_readl((void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + __raw_writel(0x306, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + __raw_writel(0x706, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + + /* clear the slave cpu arm_por_srst_req reset */ + regval = __raw_readl((void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + regval &= ~(1 << (cpu + CPU_REG_ARM_POR_SRST)); + __raw_writel(regval, (void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + + /* clear the slave cpu cluster_dbg_srst_req reset */ + regval = __raw_readl((void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + regval &= ~(1 << (cpu + CPU_REG_CLUSTER_DBG_SRST)); + __raw_writel(regval, (void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + + /* clear the slave cpu reset */ + regval = __raw_readl((void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + regval &= ~(1 << (cpu + CPU_REG_ARM_SRST)); + __raw_writel(regval, (void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + + /* restore cpu freq */ + regval = regval_bak & (~(1 << REG_CPU_LP_CPU_SW_BEGIN)); + __raw_writel(regval, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); + __raw_writel(regval_bak, (void __iomem *)IO_ADDRESS(REG_BASE_CPU_LP)); +} + +/*****************************************************************************/ +static int hi3798mx_cpu_kill(unsigned int cpu) +{ + unsigned int regval; + + printk(KERN_DEBUG "CPU%u: killed\n", cpu); + + /* set the slave cpu reset */ + regval = __raw_readl((void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + regval |= (1 << (cpu + CPU_REG_ARM_SRST)); + __raw_writel(regval, (void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + + /* set the slave cpu cluster_dbg_srst_req reset */ + regval = __raw_readl((void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + regval |= (1 << (cpu + CPU_REG_CLUSTER_DBG_SRST)); + __raw_writel(regval, (void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + + /* set the slave cpu arm_por_srst_req reset */ + regval = __raw_readl((void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + regval |= (1 << (cpu + CPU_REG_ARM_POR_SRST)); + __raw_writel(regval, (void __iomem *)IO_ADDRESS(CPU_REG_BASE_RST)); + + return 1; +} +/*****************************************************************************/ + +struct smp_operations hi3798mx_smp_ops __initdata = { + .smp_init_cpus = hi3798mx_smp_init_cpus, + .smp_secondary_init = hi3798mx_secondary_init, + .smp_boot_secondary = hi3798mx_boot_secondary, + .cpu_kill = hi3798mx_cpu_kill, +#ifdef CONFIG_HOTPLUG_CPU + .cpu_die = hi3798mx_cpu_die, +#endif +}; diff --git a/arch/arm/mach-hi3798mx/platsmp.h b/arch/arm/mach-hi3798mx/platsmp.h new file mode 100644 index 000000000..626c96bf8 --- /dev/null +++ b/arch/arm/mach-hi3798mx/platsmp.h @@ -0,0 +1,30 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +*****************************************************************************/ + +#ifndef __PLATSMP__H__ +#define __PLATSMP__H__ + +extern struct smp_operations hi3798mx_smp_ops; + +void hi3798mx_secondary_startup(void); + +void slave_cores_power_up(int cpu); + +#endif + diff --git a/arch/arm/mach-hi3798mx/pmu.c b/arch/arm/mach-hi3798mx/pmu.c new file mode 100644 index 000000000..6e1d908fb --- /dev/null +++ b/arch/arm/mach-hi3798mx/pmu.c @@ -0,0 +1,30 @@ +#include +#include + +static struct resource pmu_resource_hi3798mx[] = { + [0] = { + .start = INTNR_A9_PMU_INT0, + .end = INTNR_A9_PMU_INT0, + .flags = IORESOURCE_IRQ, + }, + + [1] = { + .start = INTNR_A9_PMU_INT1, + .end = INTNR_A9_PMU_INT1, + .flags = IORESOURCE_IRQ, + } +}; + +static struct platform_device A9_pmu_device_hi3798mx = { + .name = "arm-pmu", + .id = -1, + .resource = pmu_resource_hi3798mx, + .num_resources = ARRAY_SIZE(pmu_resource_hi3798mx), +}; + +static int __init pmu_init(void) +{ + platform_device_register(&A9_pmu_device_hi3798mx); + return 0; +}; +arch_initcall(pmu_init); diff --git a/arch/arm/mach-s40/Kconfig b/arch/arm/mach-s40/Kconfig new file mode 100644 index 000000000..6244f4926 --- /dev/null +++ b/arch/arm/mach-s40/Kconfig @@ -0,0 +1,33 @@ +if ARCH_S40 +menu "S40 board feature" + +config MACH_S40 + bool "Support s40 platform" + select CPU_V7 + select ARM_GIC + select ARM_TIMER_SP804 + select COMMON_CLK + select ARCH_REQUIRE_GPIOLIB + select DYNAMIC_DEBUG + help + Include support for the hisilion S40 platform. + S40 support ARM CORTEX-A9 processer, + within a Generic Interrupt Controller. + Support DDR2 and DDR3. + +config DEFAULT_UART_BASE_ADDR + hex "Default uart controller base address" + default "0xF8B00000" + help + Default UART controller base address + +config MMZ_PARAM + string "MMZ param for CMA and ION" + depends on CMA + default "ddr,0,0,320M" if MACH_S40 + help + This is the parameter of mmz memory manager, which now is for CMA + and ION memory manager. + +endmenu +endif diff --git a/arch/arm/mach-s40/Makefile b/arch/arm/mach-s40/Makefile new file mode 100644 index 000000000..fdab15477 --- /dev/null +++ b/arch/arm/mach-s40/Makefile @@ -0,0 +1,12 @@ +# +# Makefile for the linux kernel. +# + + +KBUILD_AFLAGS :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=softvfp+vfp) +LDFLAGS +=--no-warn-mismatch + +obj-y := core.o +obj-$(CONFIG_HW_PERF_EVENTS) += pmu.o +obj-$(CONFIG_SMP) += platsmp.o headsmp.o +obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o diff --git a/arch/arm/mach-s40/Makefile.boot b/arch/arm/mach-s40/Makefile.boot new file mode 100644 index 000000000..aa739ea10 --- /dev/null +++ b/arch/arm/mach-s40/Makefile.boot @@ -0,0 +1,4 @@ +zreladdr-y := 0x00008000 +params_phys-y := 0x00000100 +initrd_phys-y := 0x00800000 +LOADADDR := 0x02000000 diff --git a/arch/arm/mach-s40/core.c b/arch/arm/mach-s40/core.c new file mode 100644 index 000000000..5eb3180f2 --- /dev/null +++ b/arch/arm/mach-s40/core.c @@ -0,0 +1,124 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "platsmp.h" + +/*****************************************************************************/ + +static struct map_desc s40_io_desc[] __initdata = { + /* S40_IOCH1 */ + { + .virtual = S40_IOCH1_VIRT, + .pfn = __phys_to_pfn(S40_IOCH1_PHYS), + .length = S40_IOCH1_SIZE, + .type = MT_DEVICE + }, + /* S40_IOCH2 */ + { + .virtual = S40_IOCH2_VIRT, + .pfn = __phys_to_pfn(S40_IOCH2_PHYS), + .length = S40_IOCH2_SIZE, + .type = MT_DEVICE + }, +}; +/******************************************************************************/ + +static void __init s40_map_io(void) +{ + iotable_init(s40_io_desc, ARRAY_SIZE(s40_io_desc)); +} +/*****************************************************************************/ + +static void __init s40_reserve(void) +{ +} +/******************************************************************************/ + +static void __init s40_init_early(void) +{ + /* + * 1. enable L1 prefetch [2] + * 4. enable allocation in one cache way only. [8] + */ + asm volatile ( + " mrc p15, 0, r0, c1, c0, 1\n" + " orr r0, r0, #0x104\n" + " mcr p15, 0, r0, c1, c0, 1\n" + : + : + : "r0", "cc"); +} +/*****************************************************************************/ + +static void s40_restart(enum reboot_mode mode, const char *cmd) +{ + unsigned int val; + + printk(KERN_INFO "CPU will restart."); + + mdelay(200); + + local_irq_disable(); + /* enable the wdg0 crg clock */ + val = readl(__io_address(REG_BASE_CRG + REG_PERI_CRG94)); + val &= ~(1<<4); + val |= 1; + writel(val, __io_address(REG_BASE_CRG + REG_PERI_CRG94)); + udelay(1); + + /* unclock wdg */ + writel(0x1ACCE551, __io_address(REG_BASE_WDG0 + 0xc00)); + /* wdg load value */ + writel(0x00000100, __io_address(REG_BASE_WDG0 + 0x0)); + /* bit0: int enable bit1: reboot enable */ + writel(0x00000003, __io_address(REG_BASE_WDG0 + 0x8)); + + while (1); + + BUG(); +} +/*****************************************************************************/ +extern void __init s40_timer_init(void); + +static const char * const s40_dt_board_compat[] = { + "hi3716cv200-series", + "hi3716mv410-series", + NULL +}; + +DT_MACHINE_START(S40, "bigfish") + .dt_compat = s40_dt_board_compat, + .atag_offset = 0x100, + .map_io = s40_map_io, + .init_early = s40_init_early, + .smp = smp_ops(s40_smp_ops), + .reserve = s40_reserve, + .restart = s40_restart, +MACHINE_END diff --git a/arch/arm/mach-s40/headsmp.S b/arch/arm/mach-s40/headsmp.S new file mode 100644 index 000000000..9c4a4012e --- /dev/null +++ b/arch/arm/mach-s40/headsmp.S @@ -0,0 +1,98 @@ +/* + * + * clone from linux/arch/arm/mach-realview/headsmp.S + * + * Copyright (c) 2003 ARM Limited + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#include +#include + +/* + * Realview specific entry point for secondary CPUs. This provides + * a "holding pen" into which all secondary cores are held until we're + * ready for them to initialise. + */ +ENTRY(s40_secondary_startup) + + /* set the cpu to SVC32 mode */ + mrs r0, cpsr + bic r0, r0, #0x1f /* r0 = ((~0x1F) & r0) */ + orr r0, r0, #0xd3 /* r0 = (0xd3 | r0) */ + msr cpsr, r0 + + /* secure os enable in slave_bootup.S */ +#ifndef CONFIG_SECURE_EXTENSION + /* CPUCTLR.SMPEN */ + mrrc p15,1,r0,r1,c15 + orr r0, r0, #0x40 @ enable data coherency with other cores in the cluster + mcrr p15,1,r0,r1,c15 + + bl flash_cache_all +#endif + + mrc p15, 0, r0, c0, c0, 5 + and r0, r0, #15 + adr r4, 1f + ldmia r4, {r5, r6} + sub r4, r4, r5 + add r6, r6, r4 +pen: ldr r7, [r6] + cmp r7, r0 + bne pen + + /* + * we've been released from the holding pen: secondary_stack + * should now contain the SVC stack for this core + */ + b secondary_startup + +1: .long . + .long pen_release + +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@ +@ corrupt: r0, r1, r2, r3 +@ +.align 2 +flash_cache_all: + + /* disable MMU stuff and caches */ + mrc p15, 0, r0, c1, c0, 0 + orr r0, r0, #0x00002000 /* clear bits 13 (--V-) */ + bic r0, r0, #0x00000007 /* clear bits 2:0 (-CAM) */ + orr r0, r0, #0x00000002 /* set bit 1 (--A-) Align */ + orr r0, r0, #0x00000800 /* set bit 12 (Z---) BTB */ + mcr p15, 0, r0, c1, c0, 0 + + /* + * Invalidate L1 I/D + */ + mov r0, #0 /* set up for MCR */ + mcr p15, 0, r0, c8, c7, 0 /* invalidate TLBs */ + mcr p15, 0, r0, c7, c5, 0 /* invalidate icache */ + + /* Invalidate L1 D-cache */ + mcr p15, 2, r0, c0, c0, 0 /* select L1 data cache */ + mrc p15, 1, r3, c0, c0, 0 /* Read Current Cache Size Identification Register */ + ldr r1, =0x1ff + and r3, r1, r3, LSR #13 /* r3 = (number of sets -1) */ + mov r0, #0 +way_loop: + mov r1, #0 /* r1->set counter */ +line_loop: + mov r2, r0, LSL #30 + orr r2, r1, LSL #5 /* r2->set/way cache-op format */ + mcr p15, 0, r2, c7, c6, 2 /* Invalidate line described by r2 */ + add r1, r1, #1 /* Increment set counter */ + cmp r1, r3 /* Check if the last set is reached... */ + ble line_loop /* if not, continue the set_loop */ + add r0, r0, #1 /* else, Increment way counter */ + cmp r0, #4 /* Check if the last way is reached... */ + blt way_loop /* if not, continue the way_loop */ + + mov pc, lr diff --git a/arch/arm/mach-s40/hi_cma.c b/arch/arm/mach-s40/hi_cma.c new file mode 100644 index 000000000..099d3fcdc --- /dev/null +++ b/arch/arm/mach-s40/hi_cma.c @@ -0,0 +1,136 @@ +#include +#include +#include +#include +#include + +#define NAME_LEN_MAX 64 +#define ZONE_MAX 64 +#define MMZ_SETUP_CMDLINE_LEN 256 + +struct cma_zone { + struct device pdev; + char name[NAME_LEN_MAX]; + unsigned long gfp; + unsigned long phys_start; + unsigned long nbytes; + unsigned int alloc_type; + unsigned long block_align; +}; + +static unsigned int num_zones; +static struct cma_zone hisi_zone[ZONE_MAX]; + +#ifdef CONFIG_MMZ_PARAM +static char __initdata default_cmd[MMZ_SETUP_CMDLINE_LEN] = CONFIG_MMZ_PARAM; +#else +static char __initdata default_cmd[MMZ_SETUP_CMDLINE_LEN] = "ddr,0,0,160M"; +#endif +static int use_bootargs; + +unsigned int get_cma_size(void) +{ + int i; + u64 total = 0; + + for (i = 0; i < num_zones; i++) + total += hisi_zone[i].nbytes; + + /* unit is M */ + return (unsigned int)(total >> 20); +} + +static int __init hisi_mmz_parse_cmdline(char *s) +{ + char *line, *tmp; + char tmpline[256]; + + strncpy(tmpline, s, sizeof(tmpline)); + tmpline[sizeof(tmpline)-1] = '\0'; + tmp = tmpline; + + while ((line = strsep(&tmp, ":")) != NULL) { + int i; + char *argv[6]; + + for (i = 0; (argv[i] = strsep(&line, ",")) != NULL;) + if (++i == ARRAY_SIZE(argv)) + break; + + hisi_zone[num_zones].pdev.coherent_dma_mask = DMA_BIT_MASK(64); + if (i == 4) { + strlcpy(hisi_zone[num_zones].name, argv[0], NAME_LEN_MAX); + hisi_zone[num_zones].gfp = memparse(argv[2], NULL); + hisi_zone[num_zones].phys_start = memparse(argv[2], NULL); + hisi_zone[num_zones].nbytes = memparse(argv[3], NULL); + } + + else if (i == 6) { + strlcpy(hisi_zone[num_zones].name, argv[0], NAME_LEN_MAX); + hisi_zone[num_zones].gfp = memparse(argv[1], NULL); + hisi_zone[num_zones].phys_start = memparse(argv[2], NULL); + hisi_zone[num_zones].nbytes = memparse(argv[3], NULL); + hisi_zone[num_zones].alloc_type = memparse(argv[4], NULL); + hisi_zone[num_zones].block_align = memparse(argv[5], NULL); + } else { + pr_err("hisi ion parameter is not correct\n"); + continue; + } + + num_zones++; + } + if (num_zones != 0) + use_bootargs = 1; + + return 0; +} +early_param("mmz", hisi_mmz_parse_cmdline); + +struct cma_zone *hisi_get_cma_zone(const char *name) +{ + int i = 0; + + for (i = 0; i < num_zones; i++) + if (strcmp(hisi_zone[i].name, name) == 0) + break; + + if (i == num_zones) + return NULL; + + return &hisi_zone[i]; +} +EXPORT_SYMBOL(hisi_get_cma_zone); + +struct device *hisi_get_cma_device(const char *name) +{ + int i = 0; + + for (i = 0; i < num_zones; i++) + if (strcmp(hisi_zone[i].name, name) == 0) + break; + + if (i == num_zones) + return NULL; + + return &hisi_zone[i].pdev; +} +EXPORT_SYMBOL(hisi_get_cma_device); + +int hisi_declare_heap_memory(void) +{ + int i; + int ret = 0; + + if (use_bootargs == 0) + hisi_mmz_parse_cmdline(default_cmd); + for (i = 0; i < num_zones; i++) { + ret = dma_declare_contiguous(&hisi_zone[i].pdev, \ + hisi_zone[i].nbytes, hisi_zone[i].phys_start, 0); + if (!ret) + panic("declare configuous memory name :%s base: %lu size :%luMB failed", \ + hisi_zone[i].name, hisi_zone[i].phys_start, hisi_zone[i].nbytes>>20); + hisi_zone[i].phys_start = ret; + /*FIXME need to fix dma_declare_contiguous return value &&value type*/ + } + return ret; +} diff --git a/arch/arm/mach-s40/hotplug.c b/arch/arm/mach-s40/hotplug.c new file mode 100644 index 000000000..7faeb3108 --- /dev/null +++ b/arch/arm/mach-s40/hotplug.c @@ -0,0 +1,161 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include + +/*****************************************************************************/ + +static inline void s40_scu_power_off(int cpu) +{ + + for (;;) { + smp_mb(); + /* + * here's the WFI + */ + asm(".word 0xe320f003\n" + : + : + : "memory", "cc"); + + if (pen_release == cpu_logical_map(cpu)) { + /* + * OK, proper wakeup, we're done + */ + break; + } + } +} +/******************************************************************************/ + +static inline void s5_scu_power_off(int cpu) +{ + for (;;) { + smp_mb(); + /* + * here's the WFI + */ + asm(".word 0xe320f003\n" + : + : + : "memory", "cc"); + + if (pen_release == cpu_logical_map(cpu)) { + /* + * OK, proper wakeup, we're done + */ + break; + } + } + +} +/*****************************************************************************/ + +void s40_cpu_die(unsigned int cpu) +{ + u64 chipid = get_chipid(0ULL); + + flush_cache_all(); + + if (chipid == _HI3798CV100A || + chipid == _HI3798CV100 || + chipid == _HI3796CV100) { + s5_scu_power_off(cpu); + } else { + s40_scu_power_off(cpu); + } +} +/*****************************************************************************/ +/* + * copy startup code to sram, and flash cache. + * @start_addr: slave start phy address + * @jump_addr: slave jump phy address + */ +void set_scu_boot_addr(unsigned int start_addr, unsigned int jump_addr) +{ + unsigned int *virtaddr; + unsigned int *p_virtaddr; + + p_virtaddr = virtaddr = ioremap(start_addr, PAGE_SIZE); + + *p_virtaddr++ = 0xe51ff004; /* ldr pc, [pc, #-4] */ + *p_virtaddr++ = jump_addr; /* pc jump phy address */ + + smp_wmb(); + __cpuc_flush_dcache_area((void *)virtaddr, + (size_t)((char *)p_virtaddr - (char *)virtaddr)); + outer_clean_range(__pa(virtaddr), __pa(p_virtaddr)); + + iounmap(virtaddr); +} +/*****************************************************************************/ + +void s40_scu_power_up(int cpu) +{ + unsigned int regval; + static int init_flags = 0; + + if (!init_flags) { + writel(0x3, __io_address(REG_PERI_PMC3)); + writel(0xffff88, __io_address(REG_PERI_PMC1)); + init_flags++; + } + + regval = readl(__io_address(REG_BASE_PMC)); + /* a9_core1_pd_req=0, enable core1 power*/ + regval &= ~(1 << 3); + /* a9_core1_wait_mtcoms_ack=0, no wait ack */ + regval &= ~(1 << 8); + /* a9_core1_mtcmos_reg=1, core1 mtcoms power on */ + regval |= (1 << 0); + writel(regval, __io_address(REG_BASE_PMC)); + + /* clear the slave cpu reset */ + regval = readl(__io_address(A9_REG_BASE_RST)); + regval &= ~(1 << 17); + writel(regval, __io_address(A9_REG_BASE_RST)); +} +/******************************************************************************/ + +void s5_scu_power_up(int cpu) +{ + unsigned int regval; + static int init_flags = 0; + + if (!init_flags) { + writel(0x3, __io_address(REG_PERI_PMC3)); + writel(0xffff88, __io_address(REG_PERI_PMC1)); + init_flags++; + } + + /* clear the slave cpu reset */ + regval = readl(__io_address(A9_REG_BASE_RST)); + if (regval & (1 << (12 + cpu))) { + regval &= ~(1 << (12 + cpu)); + writel(regval, __io_address(A9_REG_BASE_RST)); + } +} + diff --git a/arch/arm/mach-s40/hotplug.h b/arch/arm/mach-s40/hotplug.h new file mode 100644 index 000000000..f9bdf892a --- /dev/null +++ b/arch/arm/mach-s40/hotplug.h @@ -0,0 +1,32 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#ifndef HOTPLUGH +#define HOTPLUGH +/******************************************************************************/ + +void s40_cpu_die(unsigned int cpu); + +void set_scu_boot_addr(unsigned int start_addr, unsigned int jump_addr); + +void s40_scu_power_up(int cpu); +void s5_scu_power_up(int cpu); + +/******************************************************************************/ +#endif /* HOTPLUGH */ diff --git a/arch/arm/mach-s40/include/mach/debug-macro.S b/arch/arm/mach-s40/include/mach/debug-macro.S new file mode 100644 index 000000000..40b0c8df0 --- /dev/null +++ b/arch/arm/mach-s40/include/mach/debug-macro.S @@ -0,0 +1,9 @@ +#include +#include + +.macro addruart, rp, rv, tmp + ldr \rp, =CONFIG_DEFAULT_UART_BASE_ADDR @physical base + ldr \rv, =(CONFIG_DEFAULT_UART_BASE_ADDR +IO_OFFSET_LOW) @virtual base +.endm + +#include diff --git a/arch/arm/mach-s40/include/mach/hardware.h b/arch/arm/mach-s40/include/mach/hardware.h new file mode 100644 index 000000000..961f5dbf9 --- /dev/null +++ b/arch/arm/mach-s40/include/mach/hardware.h @@ -0,0 +1,13 @@ +#ifndef __ASM_ARCH_HARDWARE_H +#define __ASM_ARCH_HARDWARE_H + +#include +#include + +#ifndef __ASSEMBLY__ +# include +#endif + +#define __io_address(n) (IOMEM(IO_ADDRESS(n))) + +#endif diff --git a/arch/arm/mach-s40/include/mach/io.h b/arch/arm/mach-s40/include/mach/io.h new file mode 100644 index 000000000..b5dc7b558 --- /dev/null +++ b/arch/arm/mach-s40/include/mach/io.h @@ -0,0 +1,30 @@ +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +#define __mem_pci(a) (a) + +/* phys_addr virt_addr + * 0xF800_0000 <-----> 0xF900_0000 + */ +#define S40_IOCH1_VIRT (0xF9000000) +#define S40_IOCH1_PHYS (0xF8000000) +#define S40_IOCH1_SIZE (0x02000000) + +/* phys_addr virt_addr + * 0xFF000000 <-----> 0xFB000000 + * Only for s5 platform + */ +#define S40_IOCH2_VIRT (0xFB000000) +#define S40_IOCH2_PHYS (0xFF000000) +#define S40_IOCH2_SIZE (0x00430000) + +#define IO_OFFSET_LOW (0x1000000) +#define IO_OFFSET_HIGH (0x4000000) + +#define IO_ADDRESS(x) ((x) >= S40_IOCH2_PHYS ? (x)- IO_OFFSET_HIGH\ + : (x) + IO_OFFSET_LOW) + +#define IO_ADDRESS_LOW(x) ((x) + IO_OFFSET_LOW) +#define IO_ADDRESS_HIGH(x) ((x) - IO_OFFSET_HIGH) + +#endif diff --git a/arch/arm/mach-s40/include/mach/irqs.h b/arch/arm/mach-s40/include/mach/irqs.h new file mode 100644 index 000000000..aa01ed012 --- /dev/null +++ b/arch/arm/mach-s40/include/mach/irqs.h @@ -0,0 +1,54 @@ +#ifndef __HI_IRQS_H__ +#define __HI_IRQS_H__ + +#define HISI_GIC_IRQ_START (32) +#define IRQ_LOCALTIMER (29) +#define INTNR_COMMTX0 (HISI_GIC_IRQ_START + 0) +#define INTNR_COMMRX0 (HISI_GIC_IRQ_START + 2) +#define INTNR_WATCHDOG (HISI_GIC_IRQ_START + 4) +#define INTNR_TIMER_0_1 (HISI_GIC_IRQ_START + 24) +#define INTNR_TIMER_2_3 (HISI_GIC_IRQ_START + 25) +#define INTNR_TIMER_3 (HISI_GIC_IRQ_START + 58) /* for Hi3716Mv410 */ +#define INTNR_TIMER_4_5 (HISI_GIC_IRQ_START + 26) +#define INTNR_TIMER_6_7 (HISI_GIC_IRQ_START + 27) +#define INTNR_TIMER_8_9 (HISI_GIC_IRQ_START + 28) //Only for s5 platform +#define INTNR_TIMER_A_B (HISI_GIC_IRQ_START + 52) //Only for s5 platform +#define INTNR_TIMER_C_D (HISI_GIC_IRQ_START + 53) //Only for s5 platform +#define INTNR_GPIO_0 (HISI_GIC_IRQ_START + 9) +#define INTNR_GPIO_1 (HISI_GIC_IRQ_START + 10) +#define INTNR_GPIO_2 (HISI_GIC_IRQ_START + 11) +#define INTNR_GPIO_3 (HISI_GIC_IRQ_START + 12) +#define INTNR_GPIO_4 (HISI_GIC_IRQ_START + 13) +#define INTNR_GPIO_5 (HISI_GIC_IRQ_START + 14) +#define INTNR_GPIO_6 (HISI_GIC_IRQ_START + 15) +#define INTNR_GPIO_7 (HISI_GIC_IRQ_START + 16) +#define INTNR_GPIO_8 (HISI_GIC_IRQ_START + 17) +#define INTNR_GPIO_9 (HISI_GIC_IRQ_START + 18) +#define INTNR_GPIO_10 (HISI_GIC_IRQ_START + 19) +#define INTNR_GPIO_11 (HISI_GIC_IRQ_START + 20) +#define INTNR_GPIO_12 (HISI_GIC_IRQ_START + 21) +#define INTNR_I2C0 (HISI_GIC_IRQ_START + 22) +#define INTNR_I2C1 (HISI_GIC_IRQ_START + 23) +#define INTNR_I2C2 (HISI_GIC_IRQ_START + 24) +#define INTNR_I2C3 (HISI_GIC_IRQ_START + 25) +#define INTNR_UART0 (HISI_GIC_IRQ_START + 49) +#define INTNR_UART1 (HISI_GIC_IRQ_START + 50) +#define INTNR_UART2 (HISI_GIC_IRQ_START + 51) +#define INTNR_UART3 (HISI_GIC_IRQ_START + 52) +#define INTNR_UART4 (HISI_GIC_IRQ_START + 53) + +#define INTNR_ETH (HISI_GIC_IRQ_START + 51) +#define INTNR_L2CACHE_CHK0_INT (HISI_GIC_IRQ_START + 72) +#define INTNR_L2CACHE_CHK1_INT (HISI_GIC_IRQ_START + 73) +#define INTNR_L2CACHE_INT_COMB (HISI_GIC_IRQ_START + 74) +#define INTNR_A9_PMU_INT0 (HISI_GIC_IRQ_START + 8) +#define INTNR_A9_PMU_INT1 (HISI_GIC_IRQ_START + 9) +#define INTNR_A9_PMU_INT2 (HISI_GIC_IRQ_START + 10) //Only for s5 platform +#define INTNR_A9_PMU_INT3 (HISI_GIC_IRQ_START + 11) //Only for s5 platform + +/* HISI_GIC_IRQ_START + 160 ~ HISI_GIC_IRQ_START + 320 reserve for gpio */ +#define VIRT_IRQS_START (HISI_GIC_IRQ_START + 160) +#define NR_IRQS (VIRT_IRQS_START + 160) +#define MAX_GIC_NR 1 + +#endif diff --git a/arch/arm/mach-s40/include/mach/memory.h b/arch/arm/mach-s40/include/mach/memory.h new file mode 100644 index 000000000..fc2ab58aa --- /dev/null +++ b/arch/arm/mach-s40/include/mach/memory.h @@ -0,0 +1,20 @@ +#ifndef __ASM_ARCH_MEMORY_H +#define __ASM_ARCH_MEMORY_H + +#define CONFIG_PHYS_OFFSET UL(0x0) + +/* ddr max size */ +#define PLAT_PHYS_END UL(0xC0000000) + +/* + * sdk use mmap + /dev/mem widely, by default mmap("/dev/mem") + * will map non-system memory(!pfn_valid) as strong order, + * but we want to chang it to normal non-cached, because of + * 1) normal non-cached has a better performance than strong order + * 2) unaligned access(i.e. in software decoder) will fault in + * data abort exception for ARM architecture reason. + * see phys_mem_access_prot() in /driver/char/mem.c + */ +#define is_ddr(phys) ((phys) >= CONFIG_PHYS_OFFSET && (phys) <= PLAT_PHYS_END) + +#endif /* __ASM_ARCH_MEMORY_H */ diff --git a/arch/arm/mach-s40/include/mach/platform.h b/arch/arm/mach-s40/include/mach/platform.h new file mode 100644 index 000000000..e8325af11 --- /dev/null +++ b/arch/arm/mach-s40/include/mach/platform.h @@ -0,0 +1,156 @@ +#ifndef __HI_CHIP_REGS_H__ +#define __HI_CHIP_REGS_H__ + +#include + +/* SRAM Base Address Register */ +#define SRAM_BASE_ADDRESS 0xFFFF0000 + +#define S40_REG_BASE 0xF8000000 +#define REG_BASE_SCTL (S40_REG_BASE + 0) + + +#define REG_BASE_TIMER01 0xF8002000 +#define REG_BASE_TIMER23 0xF8A29000 +#define REG_BASE_TIMER45 0xF8A2A000 +#define REG_BASE_TIMER67 0xF8A2B000 +#define REG_BASE_TIMER89 0xF8A81000 //Only for s5 platform +#define REG_BASE_TIMERAB 0xF8A82000 //Only for s5 platform +#define REG_BASE_TIMERCD 0xF8A83000 //Only for s5 platform + + +#define REG_BASE_SCI0 0x101F3000 +#define REG_BASE_SCI1 0x101F4000 +#define REG_BASE_CRG 0xF8A22000 +#define A9_REG_BASE_RST 0xF8A22050 + +#define HIETHPHY_SYSREG_REG 0x0120 + +#define REG_BASE_PMC 0xF8A23000 +#define REG_PERI_PMC0 (REG_BASE_PMC) +#define REG_PERI_PMC1 (REG_BASE_PMC + 0x4) +#define REG_PERI_PMC2 (REG_BASE_PMC + 0x8) +#define REG_PERI_PMC3 (REG_BASE_PMC + 0xC) +#define REG_PERI_PMC4 (REG_BASE_PMC + 0x10) +#define REG_PERI_PMC5 (REG_BASE_PMC + 0x14) +#define REG_PERI_PMC6 (REG_BASE_PMC + 0x18) +#define REG_PERI_PMC7 (REG_BASE_PMC + 0x1C) +#define REG_PERI_PMC8 (REG_BASE_PMC + 0x20) +#define REG_PERI_PMC9 (REG_BASE_PMC + 0x24) + +#define REG_BASE_UART0 0xF8B00000 +#define REG_BASE_UART1 0xF8006000 +#define REG_BASE_UART2 0xF8B02000 +#define REG_BASE_UART3 0xF8B03000 +#define REG_BASE_UART4 0xF8B04000 +#define REG_BASE_CUR_UART REG_BASE_UART0 + +#define REG_BASE_PERI_CTRL 0xF8A20000 +#define REG_BASE_PERI_CTRL_START_MODE (REG_BASE_PERI_CTRL) + +#define REG_BASE_A9_PERI 0xF8A00000 +#define REG_BASE_CSSYS 0x10330000 +#define REG_BASE_DNR 0x10450000 + +#define REG_BASE_L2CACHE 0xF8A10000 + + +/*CORTTX-A9 MPCORE MEMORY REGION*/ +#define REG_A9_PERI_SCU 0x0000 +#define REG_A9_PERI_GIC_CPU 0x0100 +#define REG_A9_PERI_GLOBAL_TIMER 0x0200 +#define REG_A9_PERI_PRI_TIMER_WDT 0x0600 +#define REG_A9_PERI_GIC_DIST 0x1000 + + +/* CA clock and reset register */ +#define REG_PERI_CRG29 0x00B4 + +#define CA_CTRL_PROC 0x78 +#define CA_VENDOR_OFFSET 28 +#define CA_VENDOR_MASK 0x0f +#define CA_TYPE_NO_CA 0 +#define CA_TYPE_NAGRA 1 + +/* SYSTEM CONTROL REG */ +#define REG_SC_CTRL 0x0000 +#define REG_SC_SYSRES 0x0004 +#define REG_SC_XTALCTRL 0x0010 +#define REG_SC_APLLCTRL 0x0014 +#define REG_SC_APLLFREQCTRL0 0x0018 +#define REG_SC_APLLFREQCTRL1 0x001C +#define REG_SC_VPLL0FREQCTRL0 0x0020 +#define REG_SC_VPLL0FREQCTRL1 0x0024 +#define REG_SC_VPLL1FREQCTRL0 0x0028 +#define REG_SC_VPLL1FREQCTRL1 0x002C +#define REG_SC_EPLLFREQCTRL0 0x0030 +#define REG_SC_EPLLFREQCTRL1 0x0034 +#define REG_SC_QPLLFREQCTRL0 0x0038 +#define REG_SC_QPLLFREQCTRL1 0x003C +#define REG_SC_LOW_POWER_CTRL 0x0040 +#define REG_SC_IO_REUSE_SEL 0x0044 +#define REG_SC_SRST_REQ_CTRL 0x0048 +#define REG_SC_CA_RST_CTRL 0x004C +#define REG_SC_WDG_RST_CTRL 0x0050 +#define REG_SC_DDRC_DFI_RST_CTRL 0x0054 +#define REG_SC_PLLLOCK_STAT 0x0070 +#define REG_SC_GEN0 0x0080 +#define REG_SC_GEN1 0x0084 +#define REG_SC_GEN2 0x0088 +#define REG_SC_GEN3 0x008C +#define REG_SC_GEN4 0x0090 +#define REG_SC_GEN5 0x0094 +#define REG_SC_GEN6 0x0098 +#define REG_SC_GEN7 0x009C +#define REG_SC_GEN8 0x00A0 +#define REG_SC_GEN9 0x00A4 +#define REG_SC_GEN10 0x00A8 +#define REG_SC_GEN11 0x00AC +#define REG_SC_GEN12 0x00B0 +#define REG_SC_GEN13 0x00B4 +#define REG_SC_GEN14 0x00B8 +#define REG_SC_GEN15 0x00BC +#define REG_SC_GEN16 0x00C0 +#define REG_SC_GEN17 0x00C4 +#define REG_SC_GEN18 0x00C8 +#define REG_SC_GEN19 0x00CC +#define REG_SC_GEN20 0x00D0 +#define REG_SC_GEN21 0x00D4 +#define REG_SC_GEN22 0x00D8 +#define REG_SC_GEN23 0x00DC +#define REG_SC_GEN24 0x00E0 +#define REG_SC_GEN25 0x00E4 +#define REG_SC_GEN26 0x00E8 +#define REG_SC_GEN27 0x00EC +#define REG_SC_GEN28 0x00F0 +#define REG_SC_GEN29 0x00F4 +#define REG_SC_GEN30 0x00F8 +#define REG_SC_GEN31 0x00FC +#define REG_SC_LOCKEN 0x020C +#define REG_SC_SYSID0 0x0EE0 +#define REG_SC_SYSID1 0x0EE4 +#define REG_SC_SYSID2 0x0EE8 +#define REG_SC_SYSID3 0x0EEC + +#define REG_PERI_SOC_FUSE 0x840 + +#define REG_BASE_WDG0 0xF8A2C000 +#define REG_BASE_WDG1 0xF8A2D000 +#define REG_PERI_CRG94 0x178 + +#define CFG_GIC_CPU_BASE (IO_ADDRESS(REG_BASE_A9_PERI) + REG_A9_PERI_GIC_CPU) +#define CFG_GIC_DIST_BASE (IO_ADDRESS(REG_BASE_A9_PERI) + REG_A9_PERI_GIC_DIST) + +#define DDR_SUSPEND_SIZE 0x1000 /* size 1KB */ + +/*********************************************************************/ +/* + * 0x1-> init item1 + * 0x2-> init item2 + * 0x3->init item1 & item2 + */ +#define INIT_REG_ITEM1 1 +#define INIT_REG_ITEM2 2 +#define INIT_REG_ITEM1_ITEM2 (INIT_REG_ITEM1 | INIT_REG_ITEM2) + +#endif /*End of __HI_CHIP_REGS_H__ */ diff --git a/arch/arm/mach-s40/include/mach/timex.h b/arch/arm/mach-s40/include/mach/timex.h new file mode 100644 index 000000000..5c9ae566c --- /dev/null +++ b/arch/arm/mach-s40/include/mach/timex.h @@ -0,0 +1,6 @@ +#ifndef __HISI_TIMEX__ +#define __HISI_TIMEX__ + +#define CLOCK_TICK_RATE 25000000 + +#endif diff --git a/arch/arm/mach-s40/include/mach/uncompress.h b/arch/arm/mach-s40/include/mach/uncompress.h new file mode 100644 index 000000000..1fbad984e --- /dev/null +++ b/arch/arm/mach-s40/include/mach/uncompress.h @@ -0,0 +1,38 @@ +#ifndef __HISI_UNCOMPRESS_H__ +#define __HISI_UNCOMPRESS_H__ +#include +#include + +#define AMBA_UART_DR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x0)) +#define AMBA_UART_LCRH \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x2c)) +#define AMBA_UART_CR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x30)) +#define AMBA_UART_FR \ + (*(volatile unsigned char *)(CONFIG_DEFAULT_UART_BASE_ADDR + 0x18)) + +/* + * This does not append a newline + */ +static inline void putc(int c) +{ + while (AMBA_UART_FR & (1 << 5)) + barrier(); + + AMBA_UART_DR = c; +} + +static inline void flush(void) +{ + while (AMBA_UART_FR & (1 << 3)) + barrier(); +} + +/* + * nothing to do + */ +#define arch_decomp_setup() +#define arch_decomp_wdog() + +#endif diff --git a/arch/arm/mach-s40/platsmp.c b/arch/arm/mach-s40/platsmp.c new file mode 100644 index 000000000..433cff2ba --- /dev/null +++ b/arch/arm/mach-s40/platsmp.c @@ -0,0 +1,192 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "platsmp.h" +#include "hotplug.h" + +#include + +extern u32 scureg_base; + +static DEFINE_SPINLOCK(boot_lock); + +/*****************************************************************************/ + +static void __iomem *scu_base_addr(void) +{ + return __io_address(REG_BASE_A9_PERI + REG_A9_PERI_SCU); +} +/*****************************************************************************/ + +static void write_pen_release(int val) +{ + pen_release = val; + smp_wmb(); + __cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release)); + outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1)); +} +/*****************************************************************************/ + +static int s40_boot_secondary(unsigned int cpu, + struct task_struct *idle) +{ + unsigned long timeout; + u64 chipid = get_chipid(0ULL); + + set_scu_boot_addr(0xFFFF0000, + (unsigned int)virt_to_phys(s40_secondary_startup)); + + /* + * set synchronisation state between this boot processor + * and the secondary one + */ + spin_lock(&boot_lock); + + if (chipid == _HI3798CV100A || + chipid == _HI3798CV100 || + chipid == _HI3796CV100) { + s5_scu_power_up(cpu); + } else { + s40_scu_power_up(cpu); + } + + /* + * The secondary processor is waiting to be released from + * the holding pen - release it, then wait for it to flag + * that it has been released by resetting pen_release. + * + * Note that "pen_release" is the hardware CPU ID, whereas + * "cpu" is Linux's internal ID. + */ + write_pen_release(cpu); + + /* + * Send the secondary CPU a soft interrupt, thereby causing + * the boot monitor to read the system wide flags register, + * and branch to the address found there. + */ + arch_send_wakeup_ipi_mask(cpumask_of(cpu)); + + /* + * Send the secondary CPU a soft interrupt, thereby causing + * the boot monitor to read the system wide flags register, + * and branch to the address found there. + */ + timeout = jiffies + (5 * HZ); + while (time_before(jiffies, timeout)) { + smp_rmb(); + if (pen_release == -1) + break; + + udelay(10); + } + + /* + * now the secondary core is starting up let it run its + * calibrations, then wait for it to finish + */ + spin_unlock(&boot_lock); + + return pen_release != -1 ? -ENOSYS : 0; +} +/*****************************************************************************/ + +static void s40_secondary_init(unsigned int cpu) +{ + /* + * 1. enable L1 prefetch [2] + * 2. enable L2 prefetch hint [1]a + * 3. enable write full line of zeros mode. [3]a + * 4. enable allocation in one cache way only. [8] + * a: This feature must be enabled only when the slaves + * connected on the Cortex-A9 AXI master port support it. + */ + asm volatile ( + " mrc p15, 0, r0, c1, c0, 1\n" + " orr r0, r0, #0x0104\n" + " orr r0, r0, #0x02\n" + " mcr p15, 0, r0, c1, c0, 1\n" + : + : + : "r0", "cc"); + + /* + * let the primary processor know we're out of the + * pen, then head off into the C entry point + */ + write_pen_release(-1); + + /* + * Synchronise with the boot thread. + */ + spin_lock(&boot_lock); + spin_unlock(&boot_lock); +} +/*****************************************************************************/ + +static void __init s40_smp_init_cpus(void) +{ + void __iomem *scu_base = scu_base_addr(); + unsigned int i, ncores; + + scureg_base = (u32)scu_base; + ncores = scu_base ? scu_get_core_count(scu_base) : 1; + + /* sanity check */ + if (ncores > NR_CPUS) { + printk(KERN_WARNING + "Realview: no. of cores (%d) greater than configured " + "maximum of %d - clipping\n", + ncores, NR_CPUS); + ncores = NR_CPUS; + } + + for (i = 0; i < ncores; i++) + set_cpu_possible(i, true); +} +/*****************************************************************************/ + +static void __init s40_smp_prepare_cpus(unsigned int max_cpus) +{ + scu_enable(scu_base_addr()); +} +/*****************************************************************************/ + +struct smp_operations s40_smp_ops __initdata = { + .smp_init_cpus = s40_smp_init_cpus, + .smp_prepare_cpus = s40_smp_prepare_cpus, + .smp_secondary_init = s40_secondary_init, + .smp_boot_secondary = s40_boot_secondary, +#ifdef CONFIG_HOTPLUG_CPU + .cpu_die = s40_cpu_die, +#endif +}; diff --git a/arch/arm/mach-s40/platsmp.h b/arch/arm/mach-s40/platsmp.h new file mode 100644 index 000000000..2825bd973 --- /dev/null +++ b/arch/arm/mach-s40/platsmp.h @@ -0,0 +1,30 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.13 + * +*****************************************************************************/ + +#ifndef __PLATSMP__H__ +#define __PLATSMP__H__ + +extern struct smp_operations s40_smp_ops; + +void s40_scu_power_up(int cpu); +void s40_secondary_startup(void); +void s5_scu_power_up(int cpu); + +#endif + diff --git a/arch/arm/mach-s40/pmu.c b/arch/arm/mach-s40/pmu.c new file mode 100644 index 000000000..57f14ab77 --- /dev/null +++ b/arch/arm/mach-s40/pmu.c @@ -0,0 +1,71 @@ +#include +#include +#include + +static struct resource pmu_resource_s40[] = { + [0] = { + .start = INTNR_A9_PMU_INT0, + .end = INTNR_A9_PMU_INT0, + .flags = IORESOURCE_IRQ, + }, + + [1] = { + .start = INTNR_A9_PMU_INT1, + .end = INTNR_A9_PMU_INT1, + .flags = IORESOURCE_IRQ, + } +}; + +static struct platform_device A9_pmu_device_s40 = { + .name = "arm-pmu", + .id = -1, + .resource = pmu_resource_s40, + .num_resources = ARRAY_SIZE(pmu_resource_s40), +}; + +static struct resource pmu_resource_s5[] = { + [0] = { + .start = INTNR_A9_PMU_INT0, + .end = INTNR_A9_PMU_INT0, + .flags = IORESOURCE_IRQ, + }, + + [1] = { + .start = INTNR_A9_PMU_INT1, + .end = INTNR_A9_PMU_INT1, + .flags = IORESOURCE_IRQ, + }, + + [2] = { + .start = INTNR_A9_PMU_INT2, + .end = INTNR_A9_PMU_INT2, + .flags = IORESOURCE_IRQ, + }, + + [3] = { + .start = INTNR_A9_PMU_INT3, + .end = INTNR_A9_PMU_INT3, + .flags = IORESOURCE_IRQ, + }, +}; + +static struct platform_device A9_pmu_device_s5 = { + .name = "arm-pmu", + .id = -1, + .resource = pmu_resource_s5, + .num_resources = ARRAY_SIZE(pmu_resource_s5), +}; + +static int __init pmu_init(void) +{ + u64 chipid = get_chipid(0ULL); + + if (_HI3798CV100A == chipid || _HI3798CV100 == chipid + || chipid == _HI3796CV100) { + platform_device_register(&A9_pmu_device_s5); + } else { + platform_device_register(&A9_pmu_device_s40); + } + return 0; +}; +arch_initcall(pmu_init); diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile index e3ca0d058..cd4ab5cdc 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -87,7 +87,7 @@ obj-$(CONFIG_CLK_BAIKAL_T1) += baikal-t1/ obj-y += bcm/ obj-$(CONFIG_ARCH_BERLIN) += berlin/ obj-$(CONFIG_ARCH_DAVINCI) += davinci/ -obj-$(CONFIG_ARCH_HISI) += hisilicon/ +obj-y += hisilicon/ obj-y += imgtec/ obj-y += imx/ obj-y += ingenic/ diff --git a/drivers/clk/hisilicon/Kconfig b/drivers/clk/hisilicon/Kconfig index c1ec75aa4..0fa630651 100644 --- a/drivers/clk/hisilicon/Kconfig +++ b/drivers/clk/hisilicon/Kconfig @@ -39,7 +39,7 @@ config COMMON_CLK_HI3670 config COMMON_CLK_HI3798CV200 tristate "Hi3798CV200 Clock Driver" - depends on ARCH_HISI || COMPILE_TEST + depends on ARCH_HISI || COMPILE_TEST || ARCH_HI3798MX select RESET_HISI default ARCH_HISI help @@ -54,7 +54,7 @@ config COMMON_CLK_HI6220 config RESET_HISI bool "HiSilicon Reset Controller Driver" - depends on ARCH_HISI || COMPILE_TEST + depends on ARCH_HISI || COMPILE_TEST || ARCH_HI3798MX select RESET_CONTROLLER help Build reset controller driver for HiSilicon device chipsets. diff --git a/drivers/clk/hisilicon/crg-hi3798cv200.c b/drivers/clk/hisilicon/crg-hi3798cv200.c index 08a19ba77..5d84df377 100644 --- a/drivers/clk/hisilicon/crg-hi3798cv200.c +++ b/drivers/clk/hisilicon/crg-hi3798cv200.c @@ -38,6 +38,9 @@ #define HI3798CV200_FIXED_166P5M 84 #define HI3798CV200_SDIO0_MUX 85 #define HI3798CV200_COMBPHY0_MUX 86 +#define HI3798CV200_FIXED_3M 87 +#define HI3798CV200_FIXED_15M 88 +#define HI3798CV200_FIXED_83P3M 89 #define HI3798CV200_CRG_NR_CLKS 128 @@ -45,13 +48,16 @@ static const struct hisi_fixed_rate_clock hi3798cv200_fixed_rate_clks[] = { { HISTB_OSC_CLK, "clk_osc", NULL, 0, 24000000, }, { HISTB_APB_CLK, "clk_apb", NULL, 0, 100000000, }, { HISTB_AHB_CLK, "clk_ahb", NULL, 0, 200000000, }, + { HI3798CV200_FIXED_3M, "3m", NULL, 0, 3000000, }, { HI3798CV200_FIXED_12M, "12m", NULL, 0, 12000000, }, + { HI3798CV200_FIXED_15M, "15m", NULL, 0, 15000000, }, { HI3798CV200_FIXED_24M, "24m", NULL, 0, 24000000, }, { HI3798CV200_FIXED_25M, "25m", NULL, 0, 25000000, }, { HI3798CV200_FIXED_48M, "48m", NULL, 0, 48000000, }, { HI3798CV200_FIXED_50M, "50m", NULL, 0, 50000000, }, { HI3798CV200_FIXED_60M, "60m", NULL, 0, 60000000, }, { HI3798CV200_FIXED_75M, "75m", NULL, 0, 75000000, }, + { HI3798CV200_FIXED_83P3M, "83p3m", NULL, 0, 83333333, }, { HI3798CV200_FIXED_100M, "100m", NULL, 0, 100000000, }, { HI3798CV200_FIXED_150M, "150m", NULL, 0, 150000000, }, { HI3798CV200_FIXED_166P5M, "166p5m", NULL, 0, 165000000, }, @@ -60,20 +66,20 @@ static const struct hisi_fixed_rate_clock hi3798cv200_fixed_rate_clks[] = { }; static const char *const mmc_mux_p[] = { - "100m", "50m", "25m", "200m", "150m" }; -static u32 mmc_mux_table[] = {0, 1, 2, 3, 6}; + "75m", "100m", "50m", "15m" }; +static u32 mmc_mux_table[] = {0, 1, 2, 3}; static const char *const comphy_mux_p[] = { "100m", "25m"}; static u32 comphy_mux_table[] = {2, 3}; static const char *const sdio_mux_p[] = { - "100m", "50m", "150m", "166p5m" }; + "75m", "100m", "50m", "15m" }; static u32 sdio_mux_table[] = {0, 1, 2, 3}; static struct hisi_mux_clock hi3798cv200_mux_clks[] = { { HI3798CV200_MMC_MUX, "mmc_mux", mmc_mux_p, ARRAY_SIZE(mmc_mux_p), - CLK_SET_RATE_PARENT, 0xa0, 8, 3, 0, mmc_mux_table, }, + CLK_SET_RATE_PARENT, 0xa0, 8, 2, 0, mmc_mux_table, }, { HI3798CV200_COMBPHY0_MUX, "combphy0_mux", comphy_mux_p, ARRAY_SIZE(comphy_mux_p), CLK_SET_RATE_PARENT, 0x188, 2, 2, 0, comphy_mux_table, }, @@ -98,8 +104,13 @@ static struct hisi_phase_clock hi3798cv200_phase_clks[] = { }; static const struct hisi_gate_clock hi3798cv200_gate_clks[] = { + /* NAND */ + { HISTB_NAND_CLK, "clk_nand", "clk_apb", + CLK_SET_RATE_PARENT, 0x60, 0, 0, }, /* UART */ - { HISTB_UART2_CLK, "clk_uart2", "75m", + { HISTB_UART1_CLK, "clk_uart1", "3m", + CLK_SET_RATE_PARENT, 0x68, 0, 0, }, + { HISTB_UART2_CLK, "clk_uart2", "83p3m", CLK_SET_RATE_PARENT, 0x68, 4, 0, }, /* I2C */ { HISTB_I2C0_CLK, "clk_i2c0", "clk_apb", @@ -137,13 +148,13 @@ static const struct hisi_gate_clock hi3798cv200_gate_clks[] = { /* Ethernet */ { HI3798CV200_ETH_PUB_CLK, "clk_pub", NULL, CLK_SET_RATE_PARENT, 0xcc, 5, 0, }, - { HI3798CV200_ETH_BUS_CLK, "clk_bus", "clk_pub", + { HI3798CV200_ETH_BUS_CLK, "clk_bus", "clk_apb", CLK_SET_RATE_PARENT, 0xcc, 0, 0, }, - { HI3798CV200_ETH_BUS0_CLK, "clk_bus_m0", "clk_bus", + { HI3798CV200_ETH_BUS0_CLK, "clk_bus_m0", "clk_apb", CLK_SET_RATE_PARENT, 0xcc, 1, 0, }, { HI3798CV200_ETH_BUS1_CLK, "clk_bus_m1", "clk_bus", CLK_SET_RATE_PARENT, 0xcc, 2, 0, }, - { HISTB_ETH0_MAC_CLK, "clk_mac0", "clk_bus_m0", + { HISTB_ETH0_MAC_CLK, "clk_mac0", "83p3m", CLK_SET_RATE_PARENT, 0xcc, 3, 0, }, { HISTB_ETH0_MACIF_CLK, "clk_macif0", "clk_bus_m0", CLK_SET_RATE_PARENT, 0xcc, 24, 0, }, @@ -166,14 +177,35 @@ static const struct hisi_gate_clock hi3798cv200_gate_clks[] = { CLK_SET_RATE_PARENT, 0xb8, 2, 0 }, { HISTB_USB2_48M_CLK, "clk_u2_48m", "48m", CLK_SET_RATE_PARENT, 0xb8, 1, 0 }, - { HISTB_USB2_UTMI_CLK, "clk_u2_utmi", "60m", + { HISTB_USB2_UTMI0_CLK, "clk_u2_utmi0", "60m", CLK_SET_RATE_PARENT, 0xb8, 5, 0 }, + { HISTB_USB2_UTMI1_CLK, "clk_u2_utmi1", "60m", + CLK_SET_RATE_PARENT, 0xb8, 6, 0 }, { HISTB_USB2_OTG_UTMI_CLK, "clk_u2_otg_utmi", "60m", CLK_SET_RATE_PARENT, 0xb8, 3, 0 }, { HISTB_USB2_PHY1_REF_CLK, "clk_u2_phy1_ref", "24m", CLK_SET_RATE_PARENT, 0xbc, 0, 0 }, { HISTB_USB2_PHY2_REF_CLK, "clk_u2_phy2_ref", "24m", CLK_SET_RATE_PARENT, 0xbc, 2, 0 }, + /* USB2 2 */ + { HISTB_USB2_2_BUS_CLK, "clk_u2_2_bus", "clk_ahb", + CLK_SET_RATE_PARENT, 0x198, 0, 0, }, + { HISTB_USB2_2_PHY_CLK, "clk_u2_2_phy", "60m", + CLK_SET_RATE_PARENT, 0x198, 4, 0, }, + { HISTB_USB2_2_12M_CLK, "clk_u2_2_12m", "12m", + CLK_SET_RATE_PARENT, 0x198, 2, 0 }, + { HISTB_USB2_2_48M_CLK, "clk_u2_2_48m", "48m", + CLK_SET_RATE_PARENT, 0x198, 1, 0 }, + { HISTB_USB2_2_UTMI0_CLK, "clk_u2_2_utmi0", "60m", + CLK_SET_RATE_PARENT, 0x198, 5, 0 }, + { HISTB_USB2_2_UTMI1_CLK, "clk_u2_2_utmi1", "60m", + CLK_SET_RATE_PARENT, 0x198, 6, 0 }, + { HISTB_USB2_2_OTG_UTMI_CLK, "clk_u2_2_otg_utmi", "60m", + CLK_SET_RATE_PARENT, 0x198, 3, 0 }, + { HISTB_USB2_2_PHY1_REF_CLK, "clk_u2_2_phy1_ref", "24m", + CLK_SET_RATE_PARENT, 0x190, 0, 0 }, + { HISTB_USB2_2_PHY2_REF_CLK, "clk_u2_2_phy2_ref", "24m", + CLK_SET_RATE_PARENT, 0x190, 2, 0 }, /* USB3 */ { HISTB_USB3_BUS_CLK, "clk_u3_bus", NULL, CLK_SET_RATE_PARENT, 0xb0, 0, 0 }, @@ -282,8 +314,8 @@ static const struct hisi_gate_clock hi3798cv200_sysctrl_gate_clks[] = { CLK_SET_RATE_PARENT, 0x48, 4, 0, }, { HISTB_TIMER01_CLK, "clk_timer01", "24m", CLK_SET_RATE_PARENT, 0x48, 6, 0, }, - { HISTB_UART0_CLK, "clk_uart0", "75m", - CLK_SET_RATE_PARENT, 0x48, 10, 0, }, + { HISTB_UART0_CLK, "clk_uart0", "83p3m", + CLK_SET_RATE_PARENT, 0x48, 12, 0, }, }; static struct hisi_clock_data *hi3798cv200_sysctrl_clk_register( diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index a7bfddf08..08a018ef3 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -97,7 +97,7 @@ config I2C_AMD_MP2 config I2C_HIX5HD2 tristate "Hix5hd2 high-speed I2C driver" - depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST + depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST || ARCH_HI3798MX help Say Y here to include support for the high-speed I2C controller used in HiSilicon hix5hd2 SoCs. diff --git a/drivers/media/rc/rc-core-priv.h b/drivers/media/rc/rc-core-priv.h index ef1e95e1a..d6e079415 100644 --- a/drivers/media/rc/rc-core-priv.h +++ b/drivers/media/rc/rc-core-priv.h @@ -72,6 +72,11 @@ struct ir_raw_event_ctrl { bool is_nec_x; bool necx_repeat; } nec; + struct nec_dec_ext { + int state; + unsigned count; + u64 bits; + } nec_ext; #endif #if IS_ENABLED(CONFIG_IR_RC5_DECODER) struct rc5_dec { diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig index 796a2eccb..02a7c4cd8 100644 --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig @@ -222,4 +222,6 @@ source "drivers/mtd/ubi/Kconfig" source "drivers/mtd/hyperbus/Kconfig" +source "drivers/mtd/hisilicon/Kconfig" + endif # MTD diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile index 593d0593a..b22b9f3bc 100644 --- a/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile @@ -31,3 +31,4 @@ obj-y += chips/ lpddr/ maps/ devices/ nand/ tests/ obj-$(CONFIG_MTD_SPI_NOR) += spi-nor/ obj-$(CONFIG_MTD_UBI) += ubi/ obj-$(CONFIG_MTD_HYPERBUS) += hyperbus/ +obj-$(CONFIG_MTD_HIFMC100) += hisilicon/ diff --git a/drivers/mtd/devices/Kconfig b/drivers/mtd/devices/Kconfig index ff2f9e55e..035b3eecb 100644 --- a/drivers/mtd/devices/Kconfig +++ b/drivers/mtd/devices/Kconfig @@ -213,4 +213,6 @@ config BCH_CONST_T default 4 endif +source "drivers/mtd/devices/hisfc350/Kconfig" + endmenu diff --git a/drivers/mtd/devices/Makefile b/drivers/mtd/devices/Makefile index d11eb2b8b..973f1355e 100644 --- a/drivers/mtd/devices/Makefile +++ b/drivers/mtd/devices/Makefile @@ -19,5 +19,6 @@ obj-$(CONFIG_MTD_BCM47XXSFLASH) += bcm47xxsflash.o obj-$(CONFIG_MTD_ST_SPI_FSM) += st_spi_fsm.o obj-$(CONFIG_MTD_POWERNV_FLASH) += powernv_flash.o +obj-$(CONFIG_MTD_HISFC350) += hisfc350/ CFLAGS_docg3.o += -I$(src) diff --git a/drivers/mtd/devices/hisfc350/Kconfig b/drivers/mtd/devices/hisfc350/Kconfig new file mode 100644 index 000000000..89d560076 --- /dev/null +++ b/drivers/mtd/devices/hisfc350/Kconfig @@ -0,0 +1,10 @@ +# +# hisilicon spi flash controller device version 350 +# + +menuconfig MTD_HISFC350 + tristate "hisilicon spi flash controller device version 350 driver" + default n + select MTD_SPI_IDS + help + hisilicon spi flash controller device version 350. diff --git a/drivers/mtd/devices/hisfc350/Makefile b/drivers/mtd/devices/hisfc350/Makefile new file mode 100644 index 000000000..f667a7680 --- /dev/null +++ b/drivers/mtd/devices/hisfc350/Makefile @@ -0,0 +1,7 @@ +# +# drivers/devices/hisfc350/Makefile +# + +obj-$(CONFIG_MTD_HISFC350) += hisfc350.o hisfc_ids.o +obj-$(CONFIG_ARCH_S40) += hisfc350_s40_spi_ids.o +obj-$(CONFIG_ARCH_HI3716MV420N) += hisfc350_s40_spi_ids.o \ No newline at end of file diff --git a/drivers/mtd/devices/hisfc350/hisfc350.c b/drivers/mtd/devices/hisfc350/hisfc350.c new file mode 100644 index 000000000..71cefc783 --- /dev/null +++ b/drivers/mtd/devices/hisfc350/hisfc350.c @@ -0,0 +1,873 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.11 + * +******************************************************************************/ + +#define DRVNAME "hi_sfc" +#define pr_fmt(fmt) DRVNAME ": " fmt + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "hisfc_ids.h" + +#include "hisfc350.h" + +extern struct spi_info hisfc350_spi_info_table[]; + +/*****************************************************************************/ +/* Don't change the follow config */ +#define HISFC350_SUPPORT_READ (SPI_IF_READ_STD \ + | SPI_IF_READ_FAST \ + | SPI_IF_READ_DUAL \ + | SPI_IF_READ_DUAL_ADDR \ + | SPI_IF_READ_QUAD \ + | SPI_IF_READ_QUAD_ADDR) + +#define HISFC350_SUPPORT_WRITE (SPI_IF_WRITE_STD \ + | SPI_IF_WRITE_DUAL \ + | SPI_IF_WRITE_DUAL_ADDR \ + | SPI_IF_WRITE_QUAD \ + | SPI_IF_WRITE_QUAD_ADDR) + +#define HISFC350_SUPPORT_MAX_DUMMY (7) + +/*****************************************************************************/ + +static void hisfc350_set_host_4addr_mode(struct hisfc_host *host, int enable) +{ + u32 regval; + + regval = hisfc_read(host, HISFC350_GLOBAL_CONFIG); + if (enable) + regval |= HISFC350_GLOBAL_CONFIG_ADDR_MODE_4B; + else + regval &= ~HISFC350_GLOBAL_CONFIG_ADDR_MODE_4B; + + hisfc_write(host, HISFC350_GLOBAL_CONFIG, regval); +} +/*****************************************************************************/ + +static void hisfc350_map_iftype_and_clock(struct hisfc_spi *spi) +{ + int ix; + const int iftype_read[] = { + SPI_IF_READ_STD, HISFC350_IFCYCLE_STD, + SPI_IF_READ_FAST, HISFC350_IFCYCLE_STD, + SPI_IF_READ_DUAL, HISFC350_IFCYCLE_DUAL, + SPI_IF_READ_DUAL_ADDR, HISFC350_IFCYCLE_DUAL_ADDR, + SPI_IF_READ_QUAD, HISFC350_IFCYCLE_QUAD, + SPI_IF_READ_QUAD_ADDR, HISFC350_IFCYCLE_QUAD_ADDR, + 0,0, + }; + const int iftype_write[] = { + SPI_IF_WRITE_STD, HISFC350_IFCYCLE_STD, + SPI_IF_WRITE_DUAL, HISFC350_IFCYCLE_DUAL, + SPI_IF_WRITE_DUAL_ADDR, HISFC350_IFCYCLE_DUAL_ADDR, + SPI_IF_WRITE_QUAD, HISFC350_IFCYCLE_QUAD, + SPI_IF_WRITE_QUAD_ADDR, HISFC350_IFCYCLE_QUAD_ADDR, + 0,0, + }; + + for (ix = 0; iftype_write[ix]; ix += 2) { + if (spi->write->iftype == iftype_write[ix]) { + spi->write->iftype = iftype_write[ix + 1]; + break; + } + } + + for (ix = 0; iftype_read[ix]; ix += 2) { + if (spi->read->iftype == iftype_read[ix]) { + spi->read->iftype = iftype_read[ix + 1]; + break; + } + } + + spi->erase->iftype = HISFC350_IFCYCLE_STD; +} +/*****************************************************************************/ + +static void hisfc350_dma_transfer(struct hisfc_host *host, u32 spi_start_addr, + u32 dma_phyaddr, unsigned char is_read, + u32 size, unsigned char chipselect) +{ + hisfc_write(host, HISFC350_BUS_DMA_MEM_SADDR, dma_phyaddr); + + hisfc_write(host, HISFC350_BUS_DMA_FLASH_SADDR, + spi_start_addr); + + hisfc_write(host, HISFC350_BUS_DMA_LEN, + HISFC350_BUS_DMA_LEN_DATA_CNT(size)); + + hisfc_write(host, HISFC350_BUS_DMA_AHB_CTRL, + HISFC350_BUS_DMA_AHB_CTRL_INCR4_EN + | HISFC350_BUS_DMA_AHB_CTRL_INCR8_EN + | HISFC350_BUS_DMA_AHB_CTRL_INCR16_EN); + + hisfc_write(host, HISFC350_BUS_DMA_CTRL, + HISFC350_BUS_DMA_CTRL_RW(is_read) + | HISFC350_BUS_DMA_CTRL_CS(chipselect) + | HISFC350_BUS_DMA_CTRL_START); + + HISFC350_DMA_WAIT_CPU_FINISH(host); +} +/*****************************************************************************/ + +static int __hisfc350_dma_read(struct hisfc_host *host, uint64_t partsize, + u32 from, u32 len, u32 *retlen, u_char *buf) +{ + int num; + int result = -EIO; + u_char *ptr = buf; + struct hisfc_spi *spi = host->spi; + + if ((u64)(from + len) > partsize) { + pr_warn("read area out of range.\n"); + return -EINVAL; + } + + *retlen = 0; + if (!len) { + pr_warn("read length is 0.\n"); + return 0; + } + + if (spi->driver->wait_ready(spi)) + goto fail; + spi->driver->bus_prepare(spi, READ); + + if (from & HISFC350_DMA_ALIGN_MASK) { + num = HISFC350_DMA_ALIGN_SIZE - (from & HISFC350_DMA_ALIGN_MASK); + if (num > len) + num = len; + while (from >= spi->chipsize) { + from -= spi->chipsize; + spi++; + if (!spi->name) + panic("%s: read out of size\n", __func__); + + if (spi->driver->wait_ready(spi)) + goto fail; + spi->driver->bus_prepare(spi, READ); + } + hisfc350_dma_transfer(host, from, (u32)host->dma_phyaddr, READ, + num, spi->chipselect); + memcpy(ptr, host->dma_viraddr, num); + from += num; + ptr += num; + len -= num; + } + + while (len > 0) { + while (from >= spi->chipsize) { + from -= spi->chipsize; + spi++; + if (!spi->name) + panic("%s: read out of size\n", __func__); + + if (spi->driver->wait_ready(spi)) + goto fail; + spi->driver->bus_prepare(spi, READ); + } + + num = ((from + len) >= spi->chipsize) + ? (spi->chipsize - from) : len; + while (num >= HISFC350_DMA_MAX_SIZE) { + hisfc350_dma_transfer(host, from, + (u32)host->dma_phyaddr, READ, + HISFC350_DMA_MAX_SIZE, spi->chipselect); + memcpy(ptr, host->dma_viraddr, HISFC350_DMA_MAX_SIZE); + ptr += HISFC350_DMA_MAX_SIZE; + from += HISFC350_DMA_MAX_SIZE; + len -= HISFC350_DMA_MAX_SIZE; + num -= HISFC350_DMA_MAX_SIZE; + } + + if (num) { + hisfc350_dma_transfer(host, from, + (u32)host->dma_phyaddr, READ, + num, spi->chipselect); + memcpy(ptr, host->dma_viraddr, num); + from += num; + ptr += num; + len -= num; + } + } + result = 0; + *retlen = (u32)(ptr - buf); + +fail: + return result; +} +/*****************************************************************************/ + +static u_char *hisfc350_read_ids(struct hisfc_host *host, int chipselect, + unsigned char *buffer) +{ + int regindex = 0; + int numread = 8; + unsigned int *ptr = (u32 *)buffer; + + if (numread > HISFC350_REG_BUF_SIZE) + numread = HISFC350_REG_BUF_SIZE; + + hisfc_write(host, HISFC350_CMD_INS, SPI_CMD_RDID); + hisfc_write(host, HISFC350_CMD_CONFIG, + HISFC350_CMD_CONFIG_SEL_CS(chipselect) + | HISFC350_CMD_CONFIG_RW_READ + | HISFC350_CMD_CONFIG_DATA_EN + | HISFC350_CMD_CONFIG_DATA_CNT(numread) + | HISFC350_CMD_CONFIG_START); + + HISFC350_CMD_WAIT_CPU_FINISH(host); + + while (numread) { + *ptr = hisfc_read(host, + HISFC350_CMD_DATABUF0 + regindex); + ptr += 1; + regindex += 4; + numread -= 4; + } + + return buffer; +} +/*****************************************************************************/ + +static int hisfc350_reg_erase_one_block(struct hisfc_host *host, + struct hisfc_spi *spi, + unsigned int offset) +{ + if (spi->driver->wait_ready(spi)) + return 1; + + spi->driver->write_enable(spi); + + hisfc350_set_rate(host, spi->erase); + + hisfc_write(host, HISFC350_CMD_INS, spi->erase->cmd); + + hisfc_write(host, HISFC350_CMD_ADDR, + (offset & HISFC350_CMD_ADDR_MASK)); + + hisfc_write(host, HISFC350_CMD_CONFIG, + HISFC350_CMD_CONFIG_SEL_CS(spi->chipselect) + | HISFC350_CMD_CONFIG_MEM_IF_TYPE(spi->erase->iftype) + | HISFC350_CMD_CONFIG_DUMMY_CNT(spi->erase->dummy) + | HISFC350_CMD_CONFIG_ADDR_EN + | HISFC350_CMD_CONFIG_START); + + HISFC350_CMD_WAIT_CPU_FINISH(host); + + return 0; +} +/*****************************************************************************/ + +static int __hisfc350_dma_write(struct hisfc_host *host, uint64_t partsize, + u32 to, u32 len, u32 *retlen, u_char *buf) +{ + int num; + int result = -EIO; + u_char *ptr = buf; + struct hisfc_spi *spi = host->spi; + + if ((uint64_t)(to + len) > partsize) { + pr_warn("write data out of range.\n"); + return -EINVAL; + } + + *retlen = 0; + if (!len) { + pr_warn("write length is 0.\n"); + return 0; + } + + if (spi->driver->wait_ready(spi)) + goto fail; + + spi->driver->write_enable(spi); + spi->driver->bus_prepare(spi, WRITE); + + if (to & HISFC350_DMA_ALIGN_MASK) { + num = HISFC350_DMA_ALIGN_SIZE - (to & HISFC350_DMA_ALIGN_MASK); + if (num > len) + num = len; + while (to >= spi->chipsize) { + to -= spi->chipsize; + spi++; + if (!spi->name) + panic("%s: write out of size\n", __func__); + + if (spi->driver->wait_ready(spi)) + goto fail; + spi->driver->write_enable(spi); + spi->driver->bus_prepare(spi, WRITE); + } + memcpy(host->dma_viraddr, ptr, num); + hisfc350_dma_transfer(host, to, (u32)host->dma_phyaddr, WRITE, + num, spi->chipselect); + + to += num; + ptr += num; + len -= num; + } + + while (len > 0) { + num = ((len >= HISFC350_DMA_MAX_SIZE) + ? HISFC350_DMA_MAX_SIZE : len); + while (to >= spi->chipsize) { + to -= spi->chipsize; + spi++; + if (!spi->name) + panic("%s: write out of size\n", __func__); + + if (spi->driver->wait_ready(spi)) + goto fail; + spi->driver->write_enable(spi); + spi->driver->bus_prepare(spi, WRITE); + } + + memcpy(host->dma_viraddr, ptr, num); + hisfc350_dma_transfer(host, to, (u32)host->dma_phyaddr, WRITE, + num, spi->chipselect); + + to += num; + ptr += num; + len -= num; + } + *retlen = (unsigned int)(ptr - buf); + result = 0; +fail: + return result; +} +/*****************************************************************************/ + +static int __hisfc350_reg_erase(struct hisfc_host *host, uint64_t prt_size, + uint64_t offset, uint64_t length, int *state) +{ + struct hisfc_spi *spi = host->spi; + + if (offset + length > prt_size) { + pr_warn("erase area out of range of mtd.\n"); + return -EINVAL; + } + + if ((unsigned int)offset & (host->erasesize-1)) { + pr_warn("erase start address is not alignment.\n"); + return -EINVAL; + } + + if ((unsigned int)length & (host->erasesize-1)) { + pr_warn("erase length is not alignment.\n"); + return -EINVAL; + } + + while (length) { + if (spi->chipsize <= offset) { + offset -= spi->chipsize; + spi++; + if (!spi->name) + panic("%s: erase out of size\n", __func__); + } + if (hisfc350_reg_erase_one_block(host, spi, offset)) + break; + + offset += spi->erase->size; + length -= spi->erase->size; + } + + *state = MTD_ERASE_DONE; + + return 0; +} +/*****************************************************************************/ + +static int hisfc350_map_chipsize(u64 chipsize) +{ + int shift = 0; + chipsize >>= (19 - 3); /* 19: 512K; 3: Bytes -> bit */ + + while (chipsize) { + chipsize >>= 1; + shift++; + } + return shift; +} +/*****************************************************************************/ + +static int hisfc350_ctrl_spi_init(struct hisfc_spi *spi, int spisize) +{ + u32 regval; + struct hisfc_host *host = (struct hisfc_host *)spi->host; + + regval = hisfc_read(host, HISFC350_BUS_FLASH_SIZE); + regval &= ~(HISFC350_BUS_FLASH_SIZE_CS0_MASK + << (spi->chipselect << 3)); + regval |= (hisfc350_map_chipsize(spi->chipsize) + << (spi->chipselect << 3)); + hisfc_write(host, HISFC350_BUS_FLASH_SIZE, regval); + + hisfc_write(host, + (HISFC350_BUS_BASE_ADDR_CS0 + (spi->chipselect << 2)), + (host->iobase_phyaddr + spisize)); + + return 0; +} +/*****************************************************************************/ + +static void hisfc350_show_spi(struct hisfc_spi *spi) +{ +#define MAX_PRINT_BUFFER 1024 + char tmp[20]; + char *ptr, *str; + int size, num; + + str = (char *)kmalloc(MAX_PRINT_BUFFER, GFP_KERNEL); + if (!str) { + pr_err("Can't malloc memory.\n"); + return; + } + + ptr = str; + size = MAX_PRINT_BUFFER; + + num = snprintf(ptr, size, "Spi(cs%d): ", spi->chipselect); + ptr += num; + size -= num; + + ultohstr((u64)spi->erasesize, tmp, sizeof(tmp)); + num = snprintf(ptr, size, "Block:%s ", tmp); + ptr += num; + size -= num; + + ultohstr(spi->chipsize, tmp, sizeof(tmp)); + num = snprintf(ptr, size, "Chip:%s ", tmp); + ptr += num; + size -= num; + + num = snprintf(ptr, size, "Name:\"%s\"\n", spi->name); + + pr_info("%s", str); + + kfree(str); + +#undef MAX_PRINT_BUFFER +} +/*****************************************************************************/ + +static int hisfc350_spi_probe(struct hisfc_host *host) +{ + unsigned int total = 0; + unsigned char ids[8]; + struct spi_info *spiinfo; + struct hisfc_spi *spi = host->spi; + int chipselect = HISFC350_MAX_CHIP - 1; + + host->num_chip = 0; + for (; chipselect >= 0; chipselect--) { + + hisfc350_read_ids(host, chipselect, ids); + + /* can't find spi flash device. */ + if (!(ids[0] | ids[1] | ids[2]) + || ((ids[0] & ids[1] & ids[2]) == 0xFF)) + continue; + + pr_info("Spi(cs%d) ID: 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X\n", + chipselect, + ids[0], ids[1], ids[2], ids[3], ids[4], ids[5]); + + spiinfo = spi_serach_ids(hisfc350_spi_info_table, ids); + + if (!spiinfo) { + pr_warn("find unrecognized spi flash.\n"); + continue; + } + + spi->name = spiinfo->name; + spi->chipselect = chipselect; + spi->chipsize = spiinfo->chipsize; + spi->erasesize = spiinfo->erasesize; + spi->addrcycle = spiinfo->addrcycle; + spi->driver = spiinfo->driver; + spi->host = host; + + spi_search_rw(spiinfo, spi->read, + HISFC350_SUPPORT_READ, + HISFC350_SUPPORT_MAX_DUMMY, READ); + + spi_search_rw(spiinfo, spi->write, + HISFC350_SUPPORT_WRITE, + HISFC350_SUPPORT_MAX_DUMMY, WRITE); + + spi_get_erase(spiinfo, spi->erase); + + /* switch unit M */ + spi->read->clock *= 1000000; + spi->write->clock *= 1000000; + spi->erase->clock *= 1000000; + + hisfc350_map_iftype_and_clock(spi); + + hisfc350_ctrl_spi_init(spi, total); + + spi->iobase = (char *)host->iobase + total; + + if (spi->addrcycle == 4) + spi->driver->entry_4addr(spi, TRUE); + + hisfc350_show_spi(spi); + + host->num_chip++; + total += spi->chipsize; + spi++; + } + return host->num_chip; +} +/*****************************************************************************/ + +static int mcm(int m, int n) +{ + unsigned int total = m * n; + unsigned int tt; + + if (m < n) { + tt = m; + m = n; + n = tt; + } + + while (n) { + m = (m % n); + if (m < n) { + tt = m; + m = n; + n = tt; + } + } + + return (int)(total / m); +} +/*****************************************************************************/ + +static void hisfc350_probe_spi_size(struct hisfc_host *host) +{ + int ix = 1; + struct hisfc_spi *spi = host->spi; + u64 total = spi->chipsize; + u32 erasesize = spi->erasesize; + + for (++spi; ix < host->num_chip; ix++, spi++) { + erasesize = mcm(erasesize, spi->erasesize); + total += spi->chipsize; + } + + host->chipsize = total; + host->erasesize = erasesize; +} +/*****************************************************************************/ + +static void hisfc350_driver_shutdown(struct platform_device *pdev) +{ + int ix; + struct hisfc_host *host = platform_get_drvdata(pdev); + struct hisfc_spi *spi = host->spi; + + for (ix = 0; ix < host->num_chip; ix++, spi++) { + spi->driver->wait_ready(spi); + if (spi->addrcycle == 4) + spi->driver->entry_4addr(spi, FALSE); + } +} +/*****************************************************************************/ + +static int hisfc350_probe(struct hisfc_host *host) +{ + host->set_host_4addr_mode = hisfc350_set_host_4addr_mode; + + clk_enable(host->clk); + + hisfc_write(host, HISFC350_TIMING, + HISFC350_TIMING_TCSS(0x6) + | HISFC350_TIMING_TCSH(0x6) + | HISFC350_TIMING_TSHSL(0xf)); + + if (!hisfc350_spi_probe(host)) + return -1; + + hisfc350_probe_spi_size(host); + + return 0; +} +/*****************************************************************************/ + +static int hisfc350_reg_erase(struct mtd_info *mtd, struct erase_info *instr) +{ + int ret; + int state; + struct hisfc_host *host = MTD_TO_HOST(mtd); + + mutex_lock(&host->lock); + + ret = __hisfc350_reg_erase(host, mtd->size, instr->addr, + instr->len, &state); + + mutex_unlock(&host->lock); + + instr->state = (u_char)state; + + mtd_erase_callback(instr); + + return ret; +} +/*****************************************************************************/ + +static int hisfc350_dma_write(struct mtd_info *mtd, loff_t to, size_t len, + size_t *retlen, const u_char *buf) +{ + int ret; + struct hisfc_host *host = MTD_TO_HOST(mtd); + + mutex_lock(&host->lock); + + ret = __hisfc350_dma_write(host, mtd->size, (u32)to, (u32)len, + (u32*)retlen, (u_char *)buf); + + mutex_unlock(&host->lock); + + return ret; +} +/*****************************************************************************/ + +static int hisfc350_dma_read(struct mtd_info *mtd, loff_t from, size_t len, + size_t *retlen, u_char *buf) +{ + int ret; + struct hisfc_host *host = MTD_TO_HOST(mtd); + + mutex_lock(&host->lock); + + ret = __hisfc350_dma_read(host, mtd->size, (unsigned int)from, + (unsigned int)len, (unsigned int *)retlen, buf); + + mutex_unlock(&host->lock); + + return ret; +} +/*****************************************************************************/ +#ifdef CONFIG_PM +static int hisfc350_driver_suspend(struct platform_device *pltdev, + pm_message_t state) +{ + int ix; + struct hisfc_host *host = platform_get_drvdata(pltdev); + struct hisfc_spi *spi = host->spi; + + for (ix = 0; ix < host->num_chip; ix++, spi++) { + spi->driver->wait_ready(spi); + if (spi->addrcycle == 4) + spi->driver->entry_4addr(spi, FALSE); + } + + clk_disable(host->clk); + + return 0; +} +/*****************************************************************************/ + +static int hisfc350_driver_resume(struct platform_device *pltdev) +{ + int ix; + struct hisfc_host *host = platform_get_drvdata(pltdev); + struct hisfc_spi *spi = host->spi; + + clk_enable(host->clk); + + hisfc_write(host, HISFC350_TIMING, + HISFC350_TIMING_TCSS(0x6) + | HISFC350_TIMING_TCSH(0x6) + | HISFC350_TIMING_TSHSL(0xf)); + + for (ix = 0; ix < host->num_chip; spi++, ix++) { + hisfc350_ctrl_spi_init(spi, + (u32)spi->iobase - (u32)host->iobase); + + if (spi->addrcycle == 4) + spi->driver->entry_4addr(spi, TRUE); + } + return 0; +} +#else +# define hisfc350_driver_suspend NULL +# define hisfc350_driver_resume NULL +#endif /* CONFIG_PM */ +/*****************************************************************************/ + +void hisfc350_set_rate(struct hisfc_host *host, struct spi_operation *clkops) +{ + if (host->clkops != clkops) { + host->clkops = clkops; + clk_set_rate(host->clk, (unsigned long)clkops->clock); + } +} +/******************************************************************************/ + +static int hisfc350_driver_probe(struct platform_device *pdev) +{ + int ret = -ENODEV; + struct hisfc_host *host; + struct mtd_info *mtd; + struct resource *res; + + host = devm_kzalloc(&pdev->dev, sizeof(struct hisfc_host), GFP_KERNEL); + if (!host) { + pr_err("%s: allocate memroy fail.\n", __func__); + return -ENOMEM; + } + platform_set_drvdata(pdev, host); + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + host->regbase = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR_OR_NULL(host->regbase)) { + pr_err("%s: regbase ioremap fail.\n", __func__); + return PTR_ERR(host->regbase); + } + + res = platform_get_resource(pdev, IORESOURCE_MEM, 1); + host->iobase_phyaddr = res->start; + host->iobase = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR_OR_NULL(host->iobase)) { + pr_err("%s: iobase ioremap fail.\n", __func__); + return PTR_ERR(host->iobase); + } + + host->clk = devm_clk_get(&pdev->dev, "clk"); + if (IS_ERR_OR_NULL(host->clk)) { + pr_err("get clock fail.\n"); + return PTR_ERR(host->clk); + } + + host->clkops = NULL; + + clk_prepare_enable(host->clk); + + if (hisfc_read(host, HISFC350_VERSION) != 0x350) + return -ENODEV; + + host->dma_viraddr = dma_alloc_coherent(&pdev->dev, HISFC350_DMA_MAX_SIZE, + &host->dma_phyaddr, GFP_KERNEL); + if (host->dma_viraddr == NULL) { + pr_err("allocate dma buffer failed.\n"); + return -ENOMEM; + } + + mtd = host->mtd; + mtd->name = DRVNAME; + mtd->type = MTD_NORFLASH; + mtd->writesize = 1; + mtd->flags = MTD_CAP_NORFLASH; + mtd->owner = THIS_MODULE; + + if (hisfc350_probe(host)) { + ret = -ENODEV; + goto fail; + } + + mtd->_erase = hisfc350_reg_erase; + mtd->_write = hisfc350_dma_write; + mtd->_read = hisfc350_dma_read; + mtd->size = host->chipsize; + mtd->erasesize = host->erasesize; + + mutex_init(&host->lock); + + ret = mtd_device_parse_register(mtd, NULL, NULL, NULL, 0); + if (ret) { + mutex_destroy(&host->lock); + goto fail; + } + + return 0; +fail: + if (host->dma_viraddr) + dma_free_coherent(&pdev->dev, HISFC350_DMA_MAX_SIZE, + host->dma_viraddr, host->dma_phyaddr); + return ret; +} +/*****************************************************************************/ + +static int hisfc350_driver_remove(struct platform_device *pdev) +{ + struct hisfc_host *host = platform_get_drvdata(pdev); + + mutex_destroy(&host->lock); + + if (host->dma_viraddr) + dma_free_coherent(&pdev->dev, HISFC350_DMA_MAX_SIZE, + host->dma_viraddr, host->dma_phyaddr); + + mtd_device_unregister(host->mtd); + + return 0; +} +/*****************************************************************************/ + +static const struct of_device_id +hi3716cv200_hisfc350_match[] __maybe_unused = { + { .compatible = "hi3716cv200.hisfc350", }, + {}, +}; +MODULE_DEVICE_TABLE(of, hi3716cv200_hisfc350_match); + +static struct platform_driver hisfc350_pltm_driver = { + .probe = hisfc350_driver_probe, + .remove = hisfc350_driver_remove, + .shutdown = hisfc350_driver_shutdown, + .suspend = hisfc350_driver_suspend, + .resume = hisfc350_driver_resume, + .driver = { + .name = DRVNAME, + .owner = THIS_MODULE, + .of_match_table = of_match_ptr(hi3716cv200_hisfc350_match), + }, +}; +/*****************************************************************************/ + +static int __init hisfc350_module_init(void) +{ + pr_info("registerd new interface driver hisfc350.\n"); + return platform_driver_register(&hisfc350_pltm_driver); +} +module_init(hisfc350_module_init); +/*****************************************************************************/ + +static void __exit hisfc350_module_exit(void) +{ + platform_driver_unregister(&hisfc350_pltm_driver); +} +module_exit(hisfc350_module_exit); + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Cai Zhiyong"); +MODULE_DESCRIPTION("Hisilicon SPIFlash Controller V350 Device Driver, Version 2.00"); diff --git a/drivers/mtd/devices/hisfc350/hisfc350.h b/drivers/mtd/devices/hisfc350/hisfc350.h new file mode 100644 index 000000000..a26cfdefd --- /dev/null +++ b/drivers/mtd/devices/hisfc350/hisfc350.h @@ -0,0 +1,205 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.11 + * +******************************************************************************/ + +#ifndef HISFC350H +#define HISFC350H + +#define HISFC350_SYSCTRL_LENGTH (0x100) + +/*****************************************************************************/ +#define HISFC350_MAX_READY_WAIT_JIFFIES (40 * HZ) + +/*****************************************************************************/ +#define HISFC350_MAX_CHIP 2 + +#define HISFC350_DMA_ALIGN_SIZE (256) +#define HISFC350_DMA_ALIGN_MASK (HISFC350_DMA_ALIGN_SIZE-1) +#define HISFC350_DMA_MAX_SIZE (4096) +#define HISFC350_DMA_MAX_MASK (HISFC350_DMA_MAX_SIZE-1) + +/*****************************************************************************/ +#define HISFC350_GLOBAL_CONFIG 0x0100 +#define HISFC350_GLOBAL_CONFIG_READ_DELAY(_n) (((_n) & 0x03) << 3) +#define HISFC350_GLOBAL_CONFIG_ADDR_MODE_4B (1 << 2) +#define HISFC350_GLOBAL_CONFIG_WRITE_PROTECT (1 << 1) +#define HISFC350_GLOBAL_CONFIG_SPI_MODE3 (1 << 0) + +#define HISFC350_TIMING 0x0110 +#define HISFC350_TIMING_TSHSL(_n) ((_n) & 0xF) +#define HISFC350_TIMING_TCSS(_n) (((_n) & 0x7) << 8) +#define HISFC350_TIMING_TCSH(_n) (((_n) & 0x7) << 12) + +#define HISFC350_INT_RAW_STATUS 0x0120 +#define HISFC350_INT_RAW_STATUS_DMA_DONE (1<<1) +#define HISFC350_INT_STATUS 0x0124 +#define HISFC350_INT_MASK 0x0128 +#define HISFC350_INT_CLEAR 0x012C +#define HISFC350_INT_CLEAR_DMA_DONE (1<<1) + +#define HISFC350_BUS_CONFIG1 0x0200 +#define HISFC350_BUS_CONFIG1_READ_EN (1<<31) +#define HISFC350_BUS_CONFIG1_WRITE_EN (1<<30) +#define HISFC350_BUS_CONFIG1_WRITE_INS(_n) ((_n & 0xFF) << 22) +#define HISFC350_BUS_CONFIG1_WRITE_DUMMY_CNT(_n) ((_n & 0x7) << 19) +#define HISFC350_BUS_CONFIG1_WRITE_IF_TYPE(_n) ((_n & 0x7) << 16) +#define HISFC350_BUS_CONFIG1_READ_INS(_n) ((_n & 0xFF) << 8) +#define HISFC350_BUS_CONFIG1_READ_PREF_CNT(_n) ((_n & 0x3) << 6) +#define HISFC350_BUS_CONFIG1_READ_DUMMY_CNT(_n) ((_n & 0x7) << 3) +#define HISFC350_BUS_CONFIG1_READ_IF_TYPE(_n) (_n & 0x7) + +#define HISFC350_BUS_FLASH_SIZE 0x0210 +#define HISFC350_BUS_FLASH_SIZE_CS0_MASK 0x0F +#define HISFC350_BUS_FLASH_SIZE_CS1_MASK (0x0F << 8) +#define HISFC350_BUS_BASE_ADDR_CS0 0x0214 +#define HISFC350_BUS_BASE_ADDR_CS1 0x0218 +#define HISFC350_BUS_ALIAS_ADDR 0x021C +#define HISFC350_BUS_ALIAS_CS 0x0220 +#define HISFC350_BUS_DMA_CTRL 0x0240 +#define HISFC350_BUS_DMA_CTRL_START (1 << 0) +#define HISFC350_BUS_DMA_CTRL_RW(_rw) ((_rw)<<1) +#define HISFC350_BUS_DMA_CTRL_CS(_cs) (((_cs) & 0x01) << 4) + +#define HISFC350_BUS_DMA_MEM_SADDR 0x0244 +#define HISFC350_BUS_DMA_FLASH_SADDR 0x0248 +#define HISFC350_BUS_DMA_LEN 0x024C +#define HISFC350_BUS_DMA_LEN_DATA_CNT(_n) ((_n - 1) & 0x0FFFFFFF) +#define HISFC350_BUS_DMA_AHB_CTRL 0x0250 +#define HISFC350_BUS_DMA_AHB_CTRL_INCR4_EN (1<<0) +#define HISFC350_BUS_DMA_AHB_CTRL_INCR8_EN (1<<1) +#define HISFC350_BUS_DMA_AHB_CTRL_INCR16_EN (1<<2) + +#define HISFC350_CMD_CONFIG 0x0300 +#define HISFC350_CMD_CONFIG_MEM_IF_TYPE(_n) (((_n) & 0x07) << 17) +#define HISFC350_CMD_CONFIG_DATA_CNT(_n) (((_n - 1) & 0x3F) << 9) +#define HISFC350_CMD_CONFIG_RW_READ (1<<8) +#define HISFC350_CMD_CONFIG_DATA_EN (1<<7) +#define HISFC350_CMD_CONFIG_DUMMY_CNT(_n) (((_n) & 0x07) << 4) +#define HISFC350_CMD_CONFIG_ADDR_EN (1<<3) +#define HISFC350_CMD_CONFIG_SEL_CS(_cs) (((_cs) & 0x01) << 1) +#define HISFC350_CMD_CONFIG_START (1<<0) + +#define HISFC350_CMD_INS 0x0308 +#define HISFC350_CMD_ADDR 0x030C +#define HISFC350_CMD_ADDR_MASK 0x3FFFFFFF +#define HISFC350_CMD_DATABUF0 0x0400 +#define HISFC350_CMD_DATABUF15 0x043C + +#define HISFC350_IFCYCLE_STD 0 +#define HISFC350_IFCYCLE_DUAL 1 +#define HISFC350_IFCYCLE_DUAL_ADDR 2 +#define HISFC350_IFCYCLE_DUAL_CMD 3 +#define HISFC350_IFCYCLE_QUAD 5 +#define HISFC350_IFCYCLE_QUAD_ADDR 6 +#define HISFC350_IFCYCLE_QUAD_CMD 7 + +#define HISFC350_REG_BUF_SIZE \ + (HISFC350_CMD_DATABUF15 - HISFC350_CMD_DATABUF0 + 0x04) + +#undef READ +#define READ 1 + +#undef WRITE +#define WRITE 0 + +#undef FALSE +#define FALSE 0 + +#undef TRUE +#define TRUE 1 + +/*****************************************************************************/ +#define HISFC350_VERSION (0x01F8) + +#include "hisfc_ids.h" + +struct hisfc_spi; + +struct spi_driver { + int (*wait_ready)(struct hisfc_spi *spi); + int (*write_enable)(struct hisfc_spi *spi); + int (*entry_4addr)(struct hisfc_spi *spi, int enable); + int (*bus_prepare)(struct hisfc_spi *spi, int op); +}; + +struct hisfc_spi { + char *name; + int chipselect; + u64 chipsize; + u32 erasesize; + void __iomem *iobase; + + unsigned int addrcycle; + struct spi_operation read[1]; + struct spi_operation write[1]; + struct spi_operation erase[1]; + + void *host; + struct spi_driver *driver; +}; + +struct hisfc_host { + struct mtd_info mtd[1]; + void __iomem *iobase; + void __iomem *regbase; + struct mutex lock; + u32 iobase_phyaddr; + + struct clk *clk; + + void (*set_host_4addr_mode)(struct hisfc_host *host, int enable); + + char *dma_viraddr; + dma_addr_t dma_phyaddr; + int num_chip; + + u32 erasesize; + u64 chipsize; + struct hisfc_spi spi[HISFC350_MAX_CHIP + 1]; + + struct spi_operation *clkops; +}; + +#define MTD_TO_HOST(_mtd) ((struct hisfc_host *)(_mtd)) + +#define hisfc_read(_host, _reg) \ + readl(_host->regbase + _reg) + +#define hisfc_write(_host, _reg, _value) \ + writel(_value, _host->regbase + _reg) + +#define HISFC350_CMD_WAIT_CPU_FINISH(_host) do {\ + unsigned int timeout = 0x10000000; \ + while (((hisfc_read((_host), HISFC350_CMD_CONFIG) \ + & HISFC350_CMD_CONFIG_START)) && timeout) \ + --timeout; \ + if (!timeout) panic("%s: cmd wait cpu finish timeout", __func__); \ +} while (0) + +#define HISFC350_DMA_WAIT_CPU_FINISH(_host) do {\ + unsigned int timeout = 0x10000000; \ + while (((hisfc_read((_host), HISFC350_BUS_DMA_CTRL) \ + & HISFC350_BUS_DMA_CTRL_START)) && timeout) { \ + --timeout; cond_resched(); }\ + if (!timeout) panic("%s: dma wait cpu finish timeout", __func__); \ +} while (0) + +void hisfc350_set_rate(struct hisfc_host *host, struct spi_operation *clkops); + +/******************************************************************************/ +#endif /* HISFC350H */ diff --git a/drivers/mtd/devices/hisfc350/hisfc350_s40_spi_ids.c b/drivers/mtd/devices/hisfc350/hisfc350_s40_spi_ids.c new file mode 100644 index 000000000..0a2d72dcf --- /dev/null +++ b/drivers/mtd/devices/hisfc350/hisfc350_s40_spi_ids.c @@ -0,0 +1,2308 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.11 + * +******************************************************************************/ + +#include + +/*****************************************************************************/ + +#define SET_READ_STD(_dummy_, _size_, _clk_) \ + static struct spi_operation read_std_##_dummy_##_size_##_clk_ = { \ + SPI_IF_READ_STD, SPI_CMD_READ, _dummy_, _size_, _clk_ } + +#define READ_STD(_dummy_, _size_, _clk_) read_std_##_dummy_##_size_##_clk_ +//----------------------------------------------------------------------------- + +#define SET_READ_FAST(_dummy_, _size_, _clk_) \ + static struct spi_operation read_fast_##_dummy_##_size_##_clk_ = { \ + SPI_IF_READ_FAST, SPI_CMD_FAST_READ, _dummy_, _size_, _clk_ } + +#define READ_FAST(_dummy_, _size_, _clk_) read_fast_##_dummy_##_size_##_clk_ +//----------------------------------------------------------------------------- + +#define SET_READ_DUAL(_dummy_, _size_, _clk_) \ + static struct spi_operation read_dual_##_dummy_##_size_##_clk_ = { \ + SPI_IF_READ_DUAL, SPI_CMD_READ_DUAL, _dummy_, _size_, _clk_ } + +#define READ_DUAL(_dummy_, _size_, _clk_) read_dual_##_dummy_##_size_##_clk_ +//----------------------------------------------------------------------------- + +#define SET_READ_QUAD(_dummy_, _size_, _clk_) \ + static struct spi_operation read_quad_##_dummy_##_size_##_clk_ = { \ + SPI_IF_READ_QUAD, SPI_CMD_READ_QUAD, _dummy_, _size_, _clk_ } + +#define READ_QUAD(_dummy_, _size_, _clk_) read_quad_##_dummy_##_size_##_clk_ +//----------------------------------------------------------------------------- + +#define SET_READ_DUAL_ADDR(_dummy_, _size_, _clk_) \ + static struct spi_operation read_dual_addr_##_dummy_##_size_##_clk_ = { \ + SPI_IF_READ_DUAL_ADDR, SPI_CMD_READ_DUAL_ADDR, _dummy_, _size_, _clk_ } + +#define READ_DUAL_ADDR(_dummy_, _size_, _clk_) read_dual_addr_##_dummy_##_size_##_clk_ +//----------------------------------------------------------------------------- + +#define SET_READ_QUAD_ADDR(_dummy_, _size_, _clk_) \ + static struct spi_operation read_quad_addr_##_dummy_##_size_##_clk_ = { \ + SPI_IF_READ_QUAD_ADDR, SPI_CMD_READ_QUAD_ADDR, _dummy_, _size_, _clk_ } + +#define READ_QUAD_ADDR(_dummy_, _size_, _clk_) read_quad_addr_##_dummy_##_size_##_clk_ +//----------------------------------------------------------------------------- + +#define SET_WRITE_STD(_dummy_, _size_, _clk_) \ + static struct spi_operation write_std_##_dummy_##_size_##_clk_ = { \ + SPI_IF_WRITE_STD, SPI_CMD_PP, _dummy_, _size_, _clk_ } + +#define WRITE_STD(_dummy_, _size_, _clk_) write_std_##_dummy_##_size_##_clk_ +//----------------------------------------------------------------------------- + +#define SET_WRITE_DUAL(_dummy_, _size_, _clk_) \ + static struct spi_operation write_dual_##_dummy_##_size_##_clk_ = { \ + SPI_IF_WRITE_DUAL, SPI_CMD_WRITE_DUAL, _dummy_, _size_, _clk_ } + +#define WRITE_DUAL(_dummy_, _size_, _clk_) write_dual_##_dummy_##_size_##_clk_ +//----------------------------------------------------------------------------- + +#define SET_WRITE_QUAD(_dummy_, _size_, _clk_) \ + static struct spi_operation write_quad_##_dummy_##_size_##_clk_ = { \ + SPI_IF_WRITE_QUAD, SPI_CMD_WRITE_QUAD, _dummy_, _size_, _clk_ } + +#define WRITE_QUAD(_dummy_, _size_, _clk_) write_quad_##_dummy_##_size_##_clk_ +//----------------------------------------------------------------------------- + +#define SET_WRITE_DUAL_ADDR(_dummy_, _size_, _clk_) \ + static struct spi_operation write_dual_addr_##_dummy_##_size_##_clk_ = { \ + SPI_IF_WRITE_DUAL_ADDR, SPI_CMD_WRITE_DUAL_ADDR, _dummy_, _size_, _clk_ } + +#define WRITE_DUAL_ADDR(_dummy_, _size_, _clk_) write_dual_addr_##_dummy_##_size_##_clk_ +//----------------------------------------------------------------------------- + +#define SET_WRITE_QUAD_ADDR(_dummy_, _size_, _clk_) \ + static struct spi_operation write_quad_addr_##_dummy_##_size_##_clk_ = { \ + SPI_IF_WRITE_QUAD_ADDR, SPI_CMD_WRITE_QUAD_ADDR, _dummy_, _size_, _clk_ } + +#define WRITE_QUAD_ADDR(_dummy_, _size_, _clk_) write_quad_addr_##_dummy_##_size_##_clk_ +//----------------------------------------------------------------------------- + +#define SET_ERASE_SECTOR_4K(_dummy_, _size_, _clk_) \ + static struct spi_operation erase_sector_4k_##_dummy_##_size_##_clk_ = { \ + SPI_IF_ERASE_SECTOR_4K, SPI_CMD_SE_4K, _dummy_, _size_, _clk_ } + +#define ERASE_SECTOR_4K(_dummy_, _size_, _clk_) erase_sector_4k_##_dummy_##_size_##_clk_ +//----------------------------------------------------------------------------- + +#define SET_ERASE_SECTOR_32K(_dummy_, _size_, _clk_) \ + static struct spi_operation erase_sector_32k_##_dummy_##_size_##_clk_ = { \ + SPI_IF_ERASE_SECTOR_32K, SPI_CMD_SE_32K, _dummy_, _size_, _clk_ } + +#define ERASE_SECTOR_32K(_dummy_, _size_, _clk_) erase_sector_32k_##_dummy_##_size_##_clk_ +//----------------------------------------------------------------------------- + +#define SET_ERASE_SECTOR_64K(_dummy_, _size_, _clk_) \ + static struct spi_operation erase_sector_64k_##_dummy_##_size_##_clk_ = { \ + SPI_IF_ERASE_SECTOR_64K, SPI_CMD_SE_64K, _dummy_, _size_, _clk_ } + +#define ERASE_SECTOR_64K(_dummy_, _size_, _clk_) erase_sector_64k_##_dummy_##_size_##_clk_ + +//----------------------------------------------------------------------------- + +#define SET_ERASE_SECTOR_256K(_dummy_, _size_, _clk_) \ + static struct spi_operation erase_sector_256k_##_dummy_##_size_##_clk_ = { \ + SPI_IF_ERASE_SECTOR_256K, SPI_CMD_SE_256K, _dummy_, _size_, _clk_ } + +#define ERASE_SECTOR_256K(_dummy_, _size_, _clk_) erase_sector_256k_##_dummy_##_size_##_clk_ +/*****************************************************************************/ + +#include "hisfc350_spi_general.c" +static struct spi_driver spi_driver_general = { + .wait_ready = spi_general_wait_ready, + .write_enable = spi_general_write_enable, + .entry_4addr = spi_general_entry_4addr, + .bus_prepare = spi_general_bus_prepare, +}; + +#include "hisfc350_spi_s25fl256s.c" +static struct spi_driver spi_driver_s25fl256s = { + .wait_ready = spi_general_wait_ready, + .write_enable = spi_general_write_enable, + .entry_4addr = spi_s25fl256s_entry_4addr, + .bus_prepare = spi_general_bus_prepare, +}; + +#include "hisfc350_spi_n25q256a.c" +static struct spi_driver spi_driver_n25q256a = { + .wait_ready = spi_general_wait_ready, + .write_enable = spi_general_write_enable, + .entry_4addr = spi_n25q256a_entry_4addr, + .bus_prepare = spi_general_bus_prepare, +}; +/******************************************************************************/ + +SET_READ_STD(0, INFINITE, 0); +SET_READ_STD(0, INFINITE, 20); +SET_READ_STD(0, INFINITE, 32); +SET_READ_STD(0, INFINITE, 33); +SET_READ_STD(0, INFINITE, 40); +SET_READ_STD(0, INFINITE, 50); +SET_READ_STD(0, INFINITE, 54); +SET_READ_STD(0, INFINITE, 66); +SET_READ_STD(0, INFINITE, 80); + +SET_READ_FAST(1, INFINITE, 50); +SET_READ_FAST(1, INFINITE, 64); +SET_READ_FAST(1, INFINITE, 66); +SET_READ_FAST(1, INFINITE, 75); +SET_READ_FAST(1, INFINITE, 80); +SET_READ_FAST(1, INFINITE, 86); +SET_READ_FAST(1, INFINITE, 100); +SET_READ_FAST(1, INFINITE, 104); +SET_READ_FAST(1, INFINITE, 108); +SET_READ_FAST(1, INFINITE, 120); +SET_READ_FAST(1, INFINITE, 133); + +SET_READ_DUAL(1, INFINITE, 54); +SET_READ_DUAL(1, INFINITE, 64); +SET_READ_DUAL(1, INFINITE, 70); +SET_READ_DUAL(1, INFINITE, 75); +SET_READ_DUAL(1, INFINITE, 80); +SET_READ_DUAL(1, INFINITE, 100); +SET_READ_DUAL(1, INFINITE, 104); +SET_READ_DUAL(1, INFINITE, 108); +SET_READ_DUAL(1, INFINITE, 120); +SET_READ_DUAL(1, INFINITE, 133); + +SET_READ_QUAD(1, INFINITE, 64); +SET_READ_QUAD(1, INFINITE, 75); +SET_READ_QUAD(1, INFINITE, 80); +SET_READ_QUAD(1, INFINITE, 108); + +SET_READ_DUAL_ADDR(1, INFINITE, 54); +SET_READ_DUAL_ADDR(1, INFINITE, 64); +SET_READ_DUAL_ADDR(2, INFINITE, 64); +SET_READ_DUAL_ADDR(2, INFINITE, 75); +SET_READ_DUAL_ADDR(1, INFINITE, 70); +SET_READ_DUAL_ADDR(1, INFINITE, 75); +SET_READ_DUAL_ADDR(0, INFINITE, 80); +SET_READ_DUAL_ADDR(1, INFINITE, 80); +SET_READ_DUAL_ADDR(1, INFINITE, 100); +SET_READ_DUAL_ADDR(2, INFINITE, 108); +SET_READ_DUAL_ADDR(1, INFINITE, 133); + +SET_READ_QUAD_ADDR(5, INFINITE, 64); +SET_READ_QUAD_ADDR(2, INFINITE, 80); +SET_READ_QUAD_ADDR(5, INFINITE, 75); +SET_READ_QUAD_ADDR(5, INFINITE, 108); + +//----------------------------------------------------------------------------- +SET_WRITE_STD(0, 256, 0); +SET_WRITE_STD(0, 256, 50); +SET_WRITE_STD(0, 256, 64); +SET_WRITE_STD(0, 256, 66); +SET_WRITE_STD(0, 256, 75); +SET_WRITE_STD(0, 256, 80); +SET_WRITE_STD(0, 256, 86); +SET_WRITE_STD(0, 256, 100); +SET_WRITE_STD(0, 256, 104); +SET_WRITE_STD(0, 256, 108); +SET_WRITE_STD(0, 256, 120); +SET_WRITE_STD(0, 256, 133); + +SET_WRITE_DUAL(0, 256, 64); +SET_WRITE_DUAL(0, 256, 75); +SET_WRITE_DUAL(0, 256, 108); + +SET_WRITE_QUAD(0, 256, 64); +SET_WRITE_QUAD(0, 256, 75); +SET_WRITE_QUAD(0, 256, 80); +SET_WRITE_QUAD(0, 256, 108); + +SET_WRITE_DUAL_ADDR(0, 256, 64); +SET_WRITE_DUAL_ADDR(0, 256, 75); +SET_WRITE_DUAL_ADDR(0, 256, 108); + +SET_WRITE_QUAD_ADDR(0, 256, 64); +SET_WRITE_QUAD_ADDR(0, 256, 75); +SET_WRITE_QUAD_ADDR(0, 256, 108); +//----------------------------------------------------------------------------- +SET_ERASE_SECTOR_64K(0, SZ_64K, 0); +SET_ERASE_SECTOR_64K(0, SZ_64K, 50); +SET_ERASE_SECTOR_64K(0, SZ_64K, 64); +SET_ERASE_SECTOR_64K(0, SZ_64K, 66); +SET_ERASE_SECTOR_64K(0, SZ_64K, 75); +SET_ERASE_SECTOR_64K(0, SZ_64K, 80); +SET_ERASE_SECTOR_64K(0, SZ_64K, 86); +SET_ERASE_SECTOR_64K(0, SZ_64K, 100); +SET_ERASE_SECTOR_64K(0, SZ_64K, 104); +SET_ERASE_SECTOR_64K(0, SZ_64K, 108); +SET_ERASE_SECTOR_64K(0, SZ_64K, 120); +SET_ERASE_SECTOR_64K(0, SZ_64K, 133); + +SET_ERASE_SECTOR_256K(0, SZ_256K, 133); +SET_ERASE_SECTOR_256K(0, SZ_256K, 104); +/*****************************************************************************/ + +struct spi_info hisfc350_spi_info_table[] = +{ + + { + "EN25QH256", {0x1C, 0x70, 0x19}, 3, (SZ_64K * 512), SZ_64K, 4, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 50), + &READ_DUAL(1, INFINITE, 54), + &READ_DUAL_ADDR(1, INFINITE, 54), + 0 + }, + + { + &WRITE_STD(0 , 256, 75), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 75), + 0 + }, + + &spi_driver_general, + }, + + { + "EN25QH16", {0x1C, 0x70, 0x15}, 3, SZ_2M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 104), + &READ_DUAL(1, INFINITE, 80), + &READ_DUAL_ADDR(1, INFINITE, 80), + 0 + }, + + { + &WRITE_STD(0, 256, 104), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 104), + 0 + }, + + &spi_driver_general, + }, + + { + "N25Q032", {0x20, 0xba, 0x16}, 3, (SZ_64K * 64), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 32/*54*/), + &READ_FAST(1, INFINITE, 64/*108*/), + &READ_DUAL(1, INFINITE, 64/*108*/), + &READ_QUAD(1, INFINITE, 64/*108*/), + &READ_DUAL_ADDR(2, INFINITE, 64/*108*/), + &READ_QUAD_ADDR(5, INFINITE, 64/*108*/), + 0 + }, + + { + &WRITE_STD(0, 256, 64/*108*/), + &WRITE_DUAL(0, 256, 64/*108*/), + &WRITE_QUAD(0, 256, 64/*108*/), + &WRITE_DUAL_ADDR(0, 256, 64/*108*/), + &WRITE_QUAD_ADDR(0, 256, 64/*108*/), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 64), + 0 + }, + + &spi_driver_general, + }, + + { + "N25Q064", {0x20, 0xba, 0x17}, 3, (SZ_64K * 128), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 54), + &READ_FAST(1, INFINITE, 108), + &READ_DUAL(1, INFINITE, 108), + &READ_QUAD(1, INFINITE, 108), + &READ_DUAL_ADDR(2, INFINITE, 108), + &READ_QUAD_ADDR(5, INFINITE, 108), + 0 + }, + + { + &WRITE_STD(0, 256, 108), + &WRITE_DUAL(0, 256, 108), + &WRITE_QUAD(0, 256, 108), + &WRITE_DUAL_ADDR(0, 256, 108), + &WRITE_QUAD_ADDR(0, 256, 108), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 108), + 0 + }, + + &spi_driver_general, + }, + + { + "N25Q128", {0x20, 0xba, 0x18}, 3, (SZ_64K * 256), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 54), + &READ_FAST(1, INFINITE, 108), + &READ_DUAL(1, INFINITE, 108), + &READ_QUAD(1, INFINITE, 108), + &READ_DUAL_ADDR(2, INFINITE, 108), + &READ_QUAD_ADDR(5, INFINITE, 108), + 0 + }, + + { + &WRITE_STD(0, 256, 108), + &WRITE_DUAL(0, 256, 108), + &WRITE_QUAD(0, 256, 108), + &WRITE_DUAL_ADDR(0, 256, 108), + &WRITE_QUAD_ADDR(0, 256, 108), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 108), + 0 + }, + + &spi_driver_general, + }, + + { + "N25Q256A", {0x20, 0xba, 0x19}, 3, SZ_32M, SZ_64K, 4, + { + &READ_STD(0, INFINITE, 54), + &READ_FAST(1, INFINITE, 75), + &READ_DUAL(1, INFINITE, 75), + &READ_QUAD(1, INFINITE, 75), + &READ_DUAL_ADDR(2, INFINITE, 75), + &READ_QUAD_ADDR(5, INFINITE, 75), + 0 + }, + + { + &WRITE_STD(0, 256, 75), + &WRITE_DUAL(0, 256, 75), + &WRITE_QUAD(0, 256, 75), + &WRITE_DUAL_ADDR(0, 256, 75), + &WRITE_QUAD_ADDR(0, 256, 75), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 75), + 0 + }, + + &spi_driver_n25q256a, + }, + + { + "W25Q80BV", {0xef, 0x40, 0x14}, 3, (SZ_64K * 16), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 80), + &READ_DUAL(1, INFINITE, 80), + //&READ_QUAD(1, INFINITE, 80), /*NEED QE*/ + 0 + }, + + { + &WRITE_STD(0, 256, 80), + //&WRITE_QUAD(0, 256, 80), /*NEED QE*/ + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 80), + 0 + }, + + &spi_driver_general, + }, + + { + "W25Q16(B/C)V/S25FL016K", {0xef, 0x40, 0x15}, 3, (SZ_64K * 32), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 80), + &READ_DUAL(1, INFINITE, 80), + /* &READ_QUAD(1, INFINITE, 80),*/ + 0 + }, + + { + &WRITE_STD(0, 256, 80), + /* &WRITE_QUAD(0, 256, 80),*/ + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 80), + 0 + }, + + &spi_driver_general, + }, + + /* + The follow chips have the same chipid, but command have some difference + { + "W25Q16BV", {0xef, 0x40, 0x15}, 3, (SZ_64K * 32),SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 80), + &READ_DUAL(1, INFINITE, 80), + &READ_QUAD(1, INFINITE, 80), + 0 + }, + + { + &WRITE_STD(0, 256, 80), + &WRITE_QUAD(0, 256, 80), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 80), + 0 + }, + + &spi_driver_general, + }, + + { + "W25Q16CV", {0xef, 0x40, 0x15}, 3, (SZ_64K * 32),SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 80), + &READ_DUAL(1, INFINITE, 80), + &READ_QUAD(1, INFINITE, 80), + 0 + }, + + { + &WRITE_STD(0, 256, 80), + &WRITE_QUAD(0, 256, 80), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 80), + 0 + }, + + &spi_driver_general, + }, + + */ + { + "W25Q32(B/FVSIG)", {0xef, 0x40, 0x16}, 3, (SZ_64K * 64), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 80), + &READ_DUAL(1, INFINITE, 80), + //&READ_QUAD(1, INFINITE, 80), /*NEED QE*/ + 0 + }, + + { + &WRITE_STD(0, 256, 80), + //&WRITE_QUAD(0, 256, 80), /*NEED QE*/ + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 80), + 0 + }, + + &spi_driver_general, + }, + + /* + The follow chips W25Q64C and W25Q64FVSIG have the same chipid, but command have some difference + */ + + { + "W25Q64(C/FVSIG)", {0xef, 0x40, 0x17}, 3, (SZ_64K * 128), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 80), + &READ_DUAL(1, INFINITE, 80), + /* &READ_QUAD(1, INFINITE, 80),*/ + 0 + }, + + { + &WRITE_STD(0, 256, 80), + /* &WRITE_QUAD(0, 256, 80),*/ + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 80), + 0 + }, + + &spi_driver_general, + }, + + { + "W25Q128BV", {0xEF, 0x40, 0x18}, 3, SZ_16M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 33), + &READ_FAST(1, INFINITE, 104), + &READ_DUAL(1, INFINITE, 104), + /* &READ_QUAD(1, INFINITE, 70),*/ + 0 + }, + + { + &WRITE_STD(0, 256, 104), + /* &WRITE_QUAD(0, 256, 70),*/ + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 104), + 0 + }, + + &spi_driver_general, + }, + + /* Eon -- fit clock frequency of RDSR instruction*/ + { + "EN25F80", {0x1c, 0x31, 0x14}, 3, (SZ_64K * 16), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 66), + &READ_FAST(1, INFINITE, 66/*100*/), + 0 + }, + + { + &WRITE_STD(0, 256, 66/*100*/), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 66), + 0 + }, + + &spi_driver_general, + }, + + { + "EN25F16", {0x1c, 0x31, 0x15}, 3, SZ_2M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 66), + &READ_FAST(1, INFINITE, 66/*100*/), + 0 + }, + + { + &WRITE_STD(0, 256, 66/*100*/), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 66), + 0 + }, + + &spi_driver_general, + }, + + { + "EN25Q32B", {0x1c, 0x30, 0x16}, 3, (SZ_64K * 64), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 80/*104*/), + &READ_DUAL(1, INFINITE, 80), + &READ_DUAL_ADDR(1, INFINITE, 80), + /*&READ_QUAD(3, INFINITE, 80), need enable and reset instructions*/ + 0 + }, + + { + &WRITE_STD(0, 256, 80/*104*/), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 66), + 0 + }, + + &spi_driver_general, + }, + + { + "EN25Q64", {0x1c, 0x30, 0x17}, 3, (SZ_64K * 128), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 104), + &READ_DUAL(1, INFINITE, 80), + &READ_DUAL_ADDR(1, INFINITE, 54), + /*&READ_QUAD(3, INFINITE, 80), need enable and reset instructions*/ + 0 + }, + + { + &WRITE_STD(0, 256, 104), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 80), + 0 + }, + + &spi_driver_general, + }, + + { + "EN25Q128", {0x1c, 0x30, 0x18}, 3, (SZ_64K * 256), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 80/*104*/), + &READ_DUAL(1, INFINITE, 64/*80*/), + &READ_DUAL_ADDR(1, INFINITE, 64/*80*/), + /*&READ_QUAD(3, INFINITE, 80), need enable and reset instructions*/ + 0 + }, + + { + &WRITE_STD(0, 256, 80/*104*/), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 80), + 0 + }, + + &spi_driver_general, + }, + + { + "M25PX16", {0x20, 0x71, 0x15}, 3, (SZ_64K * 32), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 33), + &READ_FAST(1, INFINITE, 75), + &READ_DUAL(1, INFINITE, 75), + 0 + }, + + { + &WRITE_STD(0, 256, 75), + &WRITE_DUAL(0, 256, 75), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 108), + 0 + }, + + &spi_driver_general, + }, + + { + "M25PX32", {0x20, 0x71, 0x16}, 3, (SZ_64K * 64), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 33), + &READ_FAST(1, INFINITE, 75), + &READ_DUAL(1, INFINITE, 75), + 0 + }, + + { + &WRITE_STD(0, 256, 75), + &WRITE_DUAL(0, 256, 75), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 75), + 0 + }, + + &spi_driver_general, + }, + /* GigeDevice */ + { + "GD25Q40B", {0xc8, 0x40, 0x13}, 3, SZ_512K, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 80), + &READ_FAST(1, INFINITE, 120), + &READ_DUAL(1, INFINITE, 120), + 0 + }, + + { + &WRITE_STD(0, 256, 120), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 120), + 0 + }, + + &spi_driver_general, + }, + + { + "GD25Q32B", {0xc8, 0x40, 0x16}, 3, SZ_4M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 80), + &READ_FAST(1, INFINITE, 120), + &READ_DUAL(1, INFINITE, 120), + 0 + }, + + { + &WRITE_STD(0, 256, 120), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 120), + 0 + }, + + &spi_driver_general, + }, + + { + "GD25Q64B", {0xc8, 0x40, 0x17}, 3, SZ_8M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 80), + &READ_FAST(1, INFINITE, 120), + &READ_DUAL(1, INFINITE, 120), + 0 + }, + + { + &WRITE_STD(0, 256, 120), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 120), + 0 + }, + + &spi_driver_general, + }, + + { + "S25FL256S", {0x01, 0x02, 0x19, 0x4D, 0x01, 0x80}, 6, (SZ_64K * 512), SZ_64K, 4, + { + &READ_STD(0, INFINITE, 50), + 0 + }, + + { + &WRITE_STD(0, 256, 133), + 0 + }, + { + &ERASE_SECTOR_64K(0, SZ_64K, 133), + 0 + }, + + &spi_driver_s25fl256s, + }, + + { + "S25FL128S", {0x01, 0x20, 0x18, 0x4D, 0x01, 0x80 }, 6, (SZ_64K * 256), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 133), + &READ_DUAL(1, INFINITE, 133), + &READ_DUAL_ADDR(1, INFINITE, 133), + //&READ_QUAD(1, INFINITE, 0),/*QE*/ + 0 + }, + + { + &WRITE_STD(0 ,256 , 133), + //&WRITE_QUAD(0 ,256, 133),/*QE*/ + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 133), + 0 + }, + + &spi_driver_general, + }, + + { + "S25FL512S", {0x01, 0x02, 0x20, 0x4d, 0x00, 0x80}, 6, (SZ_256K * 256), SZ_256K, 4, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 104), + &READ_DUAL(1, INFINITE, 104), + //&READ_DUAL_ADDR(3, INFINITE, 104), + //&READ_QUAD(1, INFINITE, 104), //NEED CR[1] = 1 + 0 + }, + + { + &WRITE_STD(0, 256, 104), + //&WRITE_STD(0, 256, 0), + //&WRITE_QUAD(0, 256, 133), // NEED CR[1]=1 + 0 + }, + + { + &ERASE_SECTOR_256K(0, SZ_256K, 133), + 0 + }, + + &spi_driver_s25fl256s, + }, + + { + "S25FL064P", {0x01, 0x02, 0x16, 0x4d}, 4, (SZ_64K * 128), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 40), + &READ_FAST(1, INFINITE, 104), + &READ_DUAL(1, INFINITE, 80),/* &READ_QUAD(1, INFINITE, 80),*/ + 0 + }, + + { + &WRITE_STD(0, 256, 104),/* &WRITE_QUAD(0, 256, 80),*/ + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 104), + 0 + }, + + &spi_driver_general, + + }, + + /* Spansion */ + { + "S25FL032P", {0x01, 0x02, 0x15, 0x4d}, 4, (SZ_64K * 64), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 40), + &READ_FAST(1, INFINITE, 104), + &READ_DUAL(1, INFINITE, 54/*80*/), + /*&READ_QUAD(1, INFINITE, 80),*/ + /*&READ_DUAL_ADDR(0, INFINITE, 80),*/ + /*&READ_QUAD_ADDR(2, INFINITE, 80),*/ + 0 + }, + + { + &WRITE_STD(0, 256, 50/*104*/), + /*&WRITE_QUAD(0, 256, 80),*/ + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 104), + 0 + }, + + &spi_driver_general, + }, + + { + "S25FL032A", {0x01, 0x02, 0x15}, 3, (SZ_64K * 64), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 33), + &READ_FAST(1, INFINITE, 50), + 0 + }, + + { + &WRITE_STD(0, 256, 50), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 50), + 0 + }, + + &spi_driver_general, + }, + + { + "S25FL128P-0", {0x01, 0x20, 0x18, 0x03, 0x00}, 5, SZ_16M/*(SZ_256K * 64)*/, SZ_256K, 3, + { + &READ_STD(0, INFINITE, 40), + &READ_FAST(1, INFINITE, 104), + 0 + }, + + { + &WRITE_STD(0, 256, 104), + 0 + }, + + { + &ERASE_SECTOR_256K(0, SZ_256K, 104), + 0 + }, + + &spi_driver_general, + }, + + { + "S25FL128P-1", {0x01, 0x20, 0x18, 0x03, 0x01}, 5, (SZ_64K * 256), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 40), + &READ_FAST(1, INFINITE, 104), + 0 + }, + + { + &WRITE_STD(0, 256, 104), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 104), + 0 + }, + + &spi_driver_general, + }, + + { + "S25FL129P0", {0x01, 0x20, 0x18, 0x4d, 0x00}, 5, (SZ_256K * 64), SZ_256K, 3, + { + &READ_STD(0, INFINITE, 40), + &READ_FAST(1, INFINITE, 104), + &READ_DUAL(1, INFINITE, 80), + &READ_QUAD(1, INFINITE, 80), + &READ_DUAL_ADDR(0, INFINITE, 80), + &READ_QUAD_ADDR(2, INFINITE, 80), + 0 + }, + + { + &WRITE_STD(0, 256, 104), + &WRITE_QUAD(0, 256, 80), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 104), + 0 + }, + + &spi_driver_general, + }, + + { + "S25FL129P1", {0x01, 0x20, 0x18, 0x4d, 0x01}, 5, (SZ_64K * 256), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 40), + &READ_FAST(1, INFINITE, 104), + &READ_DUAL(1, INFINITE, 64), + /*&READ_QUAD(1, INFINITE, 80),*/ + /*&READ_DUAL_ADDR(0, INFINITE, 80),*/ + /*&READ_QUAD_ADDR(2, INFINITE, 80),*/ + 0 + }, + + { + &WRITE_STD(0, 256, 104), + /* &WRITE_QUAD(0, 256, 80),*/ + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 104), + 0 + }, + + &spi_driver_general, + }, + + /* + The chip and chip W25Q16B have the same chipid, but clock frequency have some difference + { + "S25FL016K", {0xef, 0x40, 0x15}, 3, (SZ_64K * 32), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 104), + &READ_DUAL(1, INFINITE, 104), + &READ_QUAD(1, INFINITE, 104), + 0 + }, + + { + &WRITE_STD(0, 256, 104), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 104), + 0 + }, + + &spi_driver_general, + + }, + */ + + { + "MX25L8006E", {0xc2, 0x20, 0x14}, 3, SZ_1M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 33), + &READ_FAST(1, INFINITE, 86), + &READ_DUAL(1, INFINITE, 80), + 0 + }, + + { + &WRITE_STD(0, 256, 86), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 104), + 0 + }, + + &spi_driver_general, + }, + + { + "MX25L1606E", {0xc2, 0x20, 0x15}, 3, SZ_2M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 33), + &READ_FAST(1, INFINITE, 86), + &READ_DUAL(1, INFINITE, 80), + 0 + }, + + { + &WRITE_STD(0, 256, 86), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 104), + 0 + }, + + &spi_driver_general, + }, + + { + "MX25L3206E", {0xc2, 0x20, 0x16}, 3, SZ_4M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 33), + &READ_FAST(1, INFINITE, 86), + &READ_DUAL(1, INFINITE, 80), + 0 + }, + + { + &WRITE_STD(0, 256, 86), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 86), + 0 + }, + + &spi_driver_general, + }, + + { + "MX25L6406E", {0xc2, 0x20, 0x17}, 3, SZ_8M,SZ_64K, 3, + { + &READ_STD(0, INFINITE, 33), + &READ_FAST(1, INFINITE, 86), + &READ_DUAL(1, INFINITE, 80), + 0 + }, + + { + &WRITE_STD(0, 256, 86), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 75), + 0 + }, + + &spi_driver_general, + }, + + { + "MX25L128", {0xc2, 0x20, 0x18}, 3, SZ_16M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 108), + 0 + }, + + { + &WRITE_STD(0, 256, 108), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 75), + 0 + }, + + &spi_driver_general, + }, + /* + The follow chips have the same chipid, but command have some difference + + { + "MX25L12836E", {0xc2, 0x20, 0x18}, 3, SZ_16M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 108), + 0 + }, + + { + &WRITE_STD(0, 256, 108), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "MX25L12845E", {0xc2, 0x20, 0x18}, 3, SZ_16M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 108), + 0 + }, + + { + &WRITE_STD(0, 256, 108), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + */ + + { + "MX25L25635E", {0xc2, 0x20, 0x19}, 3, SZ_32M, SZ_64K, 4, + { + &READ_STD(0, INFINITE, 40/*50*/), + &READ_FAST(1, INFINITE, 64/*80*/), + &READ_DUAL_ADDR(1, INFINITE, 80), + /* &READ_QUAD_ADDR(2, INFINITE, 56),*/ + 0 + }, + + { + &WRITE_STD(0, 256, 64/*80*/), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 80), + 0 + }, + + &spi_driver_general, + }, + + { + "M25P128", {0x20, 0x20, 0x18}, 3, SZ_16M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 20), + &READ_FAST(1, INFINITE, 50), + 0 + }, + + { + &WRITE_STD(0, 256, 50), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 50), + 0 + }, + + &spi_driver_general, + }, + + { + "M25P32", {0x20, 0x20, 0x16, 0x10}, 4, SZ_4M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 33), + &READ_FAST(1, INFINITE, 75), + 0 + }, + + { + &WRITE_STD(0, 256, 75), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 75), + 0 + }, + + &spi_driver_general, + }, + + { + "F25L32QA", {0x8c, 0x41, 0x16}, 3, SZ_4M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 33), + &READ_FAST(1, INFINITE, 100), + &READ_DUAL(1, INFINITE, 100), + /*&READ_QUAD(1, INFINITE, 100),*/ + &READ_DUAL_ADDR(1, INFINITE, 100), + /*&READ_QUAD_ADDR(2, INFINITE, 100),*/ + 0 + }, + + { + &WRITE_STD(0, 256, 100), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 100), + 0 + }, + + &spi_driver_general, + }, + + { + "F25L64QA", {0x8c, 0x41, 0x17}, 3, SZ_8M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 33), + &READ_FAST(1, INFINITE, 100), + &READ_DUAL(1, INFINITE, 100), + /*&READ_QUAD(1, INFINITE, 100),*/ + &READ_DUAL_ADDR(1, INFINITE, 100), + /*&READ_QUAD_ADDR(2, INFINITE, 100),*/ + 0 + }, + + { + &WRITE_STD(0, 256, 100), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 100), + 0 + }, + + &spi_driver_general, + }, + + { + "MX25L3255D", {0xc2, 0x9e, 0x16}, 3, SZ_4M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 33), + &READ_FAST(1, INFINITE, 104), + &READ_DUAL(1, INFINITE, 75), + &READ_QUAD(1, INFINITE, 75), + &READ_DUAL_ADDR(1, INFINITE, 75), + 0 + }, + + { + &WRITE_STD(0, 256, 104), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 104), + 0 + }, + + &spi_driver_general, + }, + + { + "MX25L6455E", {0xc2, 0x26, 0x17}, 3, SZ_8M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 50), + &READ_FAST(1, INFINITE, 104), + &READ_DUAL(1, INFINITE, 70), + &READ_DUAL_ADDR(1, INFINITE, 70), + 0 + }, + + { + &WRITE_STD(0, 256, 104), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 104), + 0 + }, + + &spi_driver_general, + }, + + { + "at25fs010", {0x1f, 0x66, 0x01}, 3, SZ_128K, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "at25fs040", {0x1f, 0x66, 0x04}, 3, SZ_512K, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "at25df041a", {0x1f, 0x44, 0x01}, 3,SZ_512K, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "at25df641", {0x1f, 0x48, 0x00}, 3, SZ_8M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "at26f004", {0x1f, 0x04, 0x00}, 3, SZ_512K, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "at26df081a", {0x1f, 0x45, 0x01}, 3, SZ_1M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "at26df161a", {0x1f, 0x46, 0x01}, 3, SZ_2M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "at26df321", {0x1f, 0x47, 0x01}, 3, SZ_4M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + /* Macronix */ + { + "mx25l4005a", {0xc2, 0x20, 0x13}, 3, SZ_512K, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "mx25l3205d", {0xc2, 0x20, 0x16}, 3, SZ_4M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "mx25l3205d", {0xc2, 0x20, 0x16}, 3, SZ_4M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "mx25l1655d", {0xc2, 0x26, 0x15}, 3, SZ_2M,SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "MX25L12855E", {0xc2, 0x26, 0x18}, 3, SZ_16M, SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "s25sl004a", {0x01, 0x02, 0x12}, 3, (SZ_64K * 8), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "s25sl008a", {0x01, 0x02, 0x13}, 3, (SZ_64K * 16), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "s25sl016a", {0x01, 0x02, 0x14}, 3, (SZ_64K * 32), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "s25sl064a", {0x01, 0x02, 0x16}, 3, (SZ_64K * 128), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + /* SST -- large erase sizes are "overlays", "sectors" are 4K */ + { + "sst25vf040b", {0xbf, 0x25, 0x8d}, 3, (SZ_64K * 8), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 104), + 0 + }, + + &spi_driver_general, + }, + + { + "sst25vf080b", {0xbf, 0x25, 0x8e}, 3, (SZ_64K * 16), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "sst25vf016b", {0xbf, 0x25, 0x41}, 3, (SZ_64K * 32), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "sst25vf032b", {0xbf, 0x25, 0x4a}, 3, (SZ_64K * 64), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "sst25wf512", {0xbf, 0x25, 0x01}, 3, (SZ_64K * 1), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "sst25wf010", {0xbf, 0x25, 0x02}, 3, (SZ_64K * 2), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "sst25wf020", {0xbf, 0x25, 0x03}, 3, (SZ_64K * 4), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "sst25wf040", {0xbf, 0x25, 0x04}, 3, (SZ_64K * 8), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + /* ST Microelectronics -- newer production may have feature updates */ + { + "m25p05", {0x20, 0x20, 0x10}, 3, (SZ_32K * 2), SZ_32K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "m25p10", {0x20, 0x20, 0x11}, 3, (SZ_32K * 4), SZ_32K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "m25p20", {0x20, 0x20, 0x12}, 3, (SZ_64K * 4), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "m25p40", {0x20, 0x20, 0x13}, 3, (SZ_64K * 8), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "m25p80", {0x20, 0x20, 0x14}, 3, (SZ_64K * 16), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "m25p16", {0x20, 0x20, 0x15}, 3, (SZ_64K * 32), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "m25p64", {0x20, 0x20, 0x17}, 3, (SZ_64K * 128), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 75), + 0 + }, + + &spi_driver_general, + }, + + { + "m45pe10", {0x20, 0x40, 0x11}, 3, (SZ_64K * 2), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "m45pe80", {0x20, 0x40, 0x14}, 3, (SZ_64K * 16), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "m45pe16", {0x20, 0x40, 0x15}, 3, (SZ_64K * 32), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "m25pe80", {0x20, 0x80, 0x14}, 3, (SZ_64K * 16), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "m25pe16", {0x20, 0x80, 0x15}, 3, (SZ_64K * 32), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "m25px64", {0x20, 0x71, 0x17}, 3, (SZ_64K * 128), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + /* Winbond -- w25x "blocks" are 64K, "sectors" are 4KiB */ + { + "w25x10", {0xef, 0x30, 0x11}, 3, (SZ_64K * 2), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "w25x20", {0xef, 0x30, 0x12}, 3, (SZ_64K * 4), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "w25x40", {0xef, 0x30, 0x13}, 3, (SZ_64K * 8), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "w25x80", {0xef, 0x30, 0x14}, 3, (SZ_64K * 16), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "w25x16", {0xef, 0x30, 0x15}, 3, (SZ_64K * 32), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "w25x32", {0xef, 0x30, 0x16}, 3, (SZ_64K * 64), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + { + "w25x64", {0xef, 0x30, 0x17}, 3, (SZ_64K * 128), SZ_64K, 3, + { + &READ_STD(0, INFINITE, 0), + 0 + }, + + { + &WRITE_STD(0, 256, 0), + 0 + }, + + { + &ERASE_SECTOR_64K(0, SZ_64K, 0), + 0 + }, + + &spi_driver_general, + }, + + {0,{0},0,0,0,0,{0},{0},{0},}, +}; diff --git a/drivers/mtd/devices/hisfc350/hisfc350_spi_general.c b/drivers/mtd/devices/hisfc350/hisfc350_spi_general.c new file mode 100644 index 000000000..a322c1810 --- /dev/null +++ b/drivers/mtd/devices/hisfc350/hisfc350_spi_general.c @@ -0,0 +1,122 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.11 + * +******************************************************************************/ + +#include +#include +#include +#include + +#include "hisfc350.h" + +/*****************************************************************************/ + +static int spi_general_wait_ready(struct hisfc_spi *spi) +{ + u32 regval; + unsigned long deadline = jiffies + HISFC350_MAX_READY_WAIT_JIFFIES; + struct hisfc_host *host = (struct hisfc_host *)spi->host; + + do { + hisfc_write(host, HISFC350_CMD_INS, SPI_CMD_RDSR); + hisfc_write(host, HISFC350_CMD_CONFIG, + HISFC350_CMD_CONFIG_SEL_CS(spi->chipselect) + | HISFC350_CMD_CONFIG_DATA_CNT(1) + | HISFC350_CMD_CONFIG_DATA_EN + | HISFC350_CMD_CONFIG_RW_READ + | HISFC350_CMD_CONFIG_START); + + HISFC350_CMD_WAIT_CPU_FINISH(host); + regval = hisfc_read(host, HISFC350_CMD_DATABUF0); + if (!(regval & SPI_CMD_SR_WIP)) + return 0; + + cond_resched(); + + } while (!time_after_eq(jiffies, deadline)); + + pr_err("Wait spi flash ready timeout.\n"); + + return 1; +} +/*****************************************************************************/ + +static int spi_general_write_enable(struct hisfc_spi *spi) +{ + u32 regval = 0; + struct hisfc_host *host = (struct hisfc_host *)spi->host; + + hisfc_write(host, HISFC350_CMD_INS, SPI_CMD_WREN); + + regval = HISFC350_CMD_CONFIG_SEL_CS(spi->chipselect) + | HISFC350_CMD_CONFIG_START; + hisfc_write(host, HISFC350_CMD_CONFIG, regval); + + HISFC350_CMD_WAIT_CPU_FINISH(host); + + return 0; +} +/*****************************************************************************/ + +static int spi_general_entry_4addr(struct hisfc_spi *spi, int enable) +{ + struct hisfc_host *host = (struct hisfc_host *)spi->host; + + if (spi->addrcycle != 4) + return 0; + + if (enable) + hisfc_write(host, HISFC350_CMD_INS, SPI_CMD_EN4B); + else + hisfc_write(host, HISFC350_CMD_INS, SPI_CMD_EX4B); + + hisfc_write(host, HISFC350_CMD_CONFIG, + HISFC350_CMD_CONFIG_SEL_CS(spi->chipselect) + | HISFC350_CMD_CONFIG_START); + + HISFC350_CMD_WAIT_CPU_FINISH(host); + + host->set_host_4addr_mode(host, enable); + + return 0; +} +/*****************************************************************************/ + +static int spi_general_bus_prepare(struct hisfc_spi *spi, int op) +{ + u32 regval = 0; + struct hisfc_host *host = (struct hisfc_host *)spi->host; + + regval |= HISFC350_BUS_CONFIG1_WRITE_INS(spi->write->cmd); + regval |= HISFC350_BUS_CONFIG1_WRITE_DUMMY_CNT(spi->write->dummy); + regval |= HISFC350_BUS_CONFIG1_WRITE_IF_TYPE(spi->write->iftype); + + regval |= HISFC350_BUS_CONFIG1_READ_PREF_CNT(0); + regval |= HISFC350_BUS_CONFIG1_READ_INS(spi->read->cmd); + regval |= HISFC350_BUS_CONFIG1_READ_DUMMY_CNT(spi->read->dummy); + regval |= HISFC350_BUS_CONFIG1_READ_IF_TYPE(spi->read->iftype); + + hisfc_write(host, HISFC350_BUS_CONFIG1, regval); + + if (op == READ) + hisfc350_set_rate(host, spi->read); + else if (op == WRITE) + hisfc350_set_rate(host, spi->write); + + return 0; +} diff --git a/drivers/mtd/devices/hisfc350/hisfc350_spi_n25q256a.c b/drivers/mtd/devices/hisfc350/hisfc350_spi_n25q256a.c new file mode 100644 index 000000000..7f4ac66ed --- /dev/null +++ b/drivers/mtd/devices/hisfc350/hisfc350_spi_n25q256a.c @@ -0,0 +1,46 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.11 + * +******************************************************************************/ + +#include "hisfc350.h" + +static int spi_n25q256a_entry_4addr(struct hisfc_spi *spi, int enable) +{ + struct hisfc_host *host = (struct hisfc_host *)spi->host; + + if (spi->addrcycle != 4) + return 0; + + if (enable) { + spi->driver->write_enable(spi); + hisfc_write(host, HISFC350_CMD_INS, SPI_CMD_EN4B); + } else { + spi->driver->write_enable(spi); + hisfc_write(host, HISFC350_CMD_INS, SPI_CMD_EX4B); + } + + hisfc_write(host, HISFC350_CMD_CONFIG, + HISFC350_CMD_CONFIG_SEL_CS(spi->chipselect) + | HISFC350_CMD_CONFIG_START); + + HISFC350_CMD_WAIT_CPU_FINISH(host); + + host->set_host_4addr_mode(host, enable); + + return 0; +} diff --git a/drivers/mtd/devices/hisfc350/hisfc350_spi_s25fl256s.c b/drivers/mtd/devices/hisfc350/hisfc350_spi_s25fl256s.c new file mode 100644 index 000000000..c95673065 --- /dev/null +++ b/drivers/mtd/devices/hisfc350/hisfc350_spi_s25fl256s.c @@ -0,0 +1,54 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.11 + * +******************************************************************************/ + +#include "hisfc350.h" +/*****************************************************************************/ + +#define SPI_BRWR 0x17 +#define SPI_EN4B 0x80 +#define SPI_EX4B 0x00 + +static int spi_s25fl256s_entry_4addr(struct hisfc_spi *spi, int enable) +{ + struct hisfc_host *host = (struct hisfc_host *)spi->host; + + if (spi->addrcycle != 4) + return 0; + + if (enable) { + hisfc_write(host, HISFC350_CMD_INS, SPI_BRWR); + hisfc_write(host, HISFC350_CMD_DATABUF0, SPI_EN4B); + } else { + hisfc_write(host, HISFC350_CMD_INS, SPI_BRWR); + hisfc_write(host, HISFC350_CMD_DATABUF0, SPI_EX4B); + } + + hisfc_write(host, HISFC350_CMD_CONFIG, + HISFC350_CMD_CONFIG_SEL_CS(spi->chipselect) + | HISFC350_CMD_CONFIG_DATA_CNT(1) + | HISFC350_CMD_CONFIG_DATA_EN + | HISFC350_CMD_CONFIG_START); + + HISFC350_CMD_WAIT_CPU_FINISH(host); + + host->set_host_4addr_mode(host, enable); + + return 0; +} + diff --git a/drivers/mtd/devices/hisfc350/hisfc_ids.c b/drivers/mtd/devices/hisfc350/hisfc_ids.c new file mode 100644 index 000000000..97357885c --- /dev/null +++ b/drivers/mtd/devices/hisfc350/hisfc_ids.c @@ -0,0 +1,81 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.11 + * +******************************************************************************/ + +#include +#include +#include + +#include "hisfc_ids.h" + +#define SPI_DRV_VERSION "1.30" + +/*****************************************************************************/ + +struct spi_info *spi_serach_ids(struct spi_info * spi_info_table, + unsigned char ids[8]) +{ + struct spi_info *info; + struct spi_info *fit_info = NULL; + + for (info = spi_info_table; info->name; info++) { + if (memcmp(info->id, ids, info->id_len)) + continue; + + if (fit_info == NULL + || fit_info->id_len < info->id_len) + fit_info = info; + } + return fit_info; +} +/*****************************************************************************/ + +void spi_search_rw(struct spi_info *spiinfo, struct spi_operation *spiop_rw, + unsigned int iftype, unsigned int max_dummy, int is_read) +{ + int ix = 0; + struct spi_operation **spiop, **fitspiop; + + for (fitspiop = spiop = (is_read ? spiinfo->read : spiinfo->write); + (*spiop) && ix < MAX_SPI_OP; spiop++, ix++) { + if (((*spiop)->iftype & iftype) + && ((*spiop)->dummy <= max_dummy) + && (*fitspiop)->iftype < (*spiop)->iftype) + fitspiop = spiop; + } + memcpy(spiop_rw, (*fitspiop), sizeof(struct spi_operation)); +} +/*****************************************************************************/ + +void spi_get_erase(struct spi_info *spiinfo, struct spi_operation *spiop_erase) +{ + int ix; + + spiop_erase->size = 0; + for (ix = 0; ix < MAX_SPI_OP; ix++) { + if (spiinfo->erase[ix] == NULL) + break; + if (spiinfo->erasesize == spiinfo->erase[ix]->size) { + memcpy(spiop_erase, spiinfo->erase[ix], + sizeof(struct spi_operation)); + break; + } + } + if (!spiop_erase->size) + panic("%s: spiflash erasesize %d invalid.\n", __func__, spiop_erase->size); +} diff --git a/drivers/mtd/devices/hisfc350/hisfc_ids.h b/drivers/mtd/devices/hisfc350/hisfc_ids.h new file mode 100644 index 000000000..e5f6d1686 --- /dev/null +++ b/drivers/mtd/devices/hisfc350/hisfc_ids.h @@ -0,0 +1,122 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.11 + * +******************************************************************************/ + +#ifndef HISPI_IDSH +#define HISPI_IDSH +/*****************************************************************************/ + +#define INFINITE (0xFFFFFFFF) + +#define SPI_IF_READ_STD (0x01) +#define SPI_IF_READ_FAST (0x02) +#define SPI_IF_READ_DUAL (0x04) +#define SPI_IF_READ_DUAL_ADDR (0x08) +#define SPI_IF_READ_QUAD (0x10) +#define SPI_IF_READ_QUAD_ADDR (0x20) + +#define SPI_IF_WRITE_STD (0x01) +#define SPI_IF_WRITE_DUAL (0x02) +#define SPI_IF_WRITE_DUAL_ADDR (0x04) +#define SPI_IF_WRITE_QUAD (0x08) +#define SPI_IF_WRITE_QUAD_ADDR (0x10) + +/*macro for v350*/ +#define SPI_IF_ERASE_SECTOR_4K (0x01) /* 4K */ +/*macro for v350*/ +#define SPI_IF_ERASE_SECTOR_32K (0x02) /* 32K */ +/*macro for v300*/ +#define SPI_IF_ERASE_CHIP (0x02) /*chip erase*/ +/*macro for v350*/ +#define SPI_IF_ERASE_SECTOR_64K (0x04) /* 64K */ +/*macro for v300*/ +#define SPI_IF_ERASE_SECTOR (0x04) /* sector erase, 64K */ +/*macro for v350*/ +#define SPI_IF_ERASE_SECTOR_256K (0x08) /* 256K */ +/*****************************************************************************/ + +#define SPI_CMD_WREN 0x06 /* Write Enable */ +//----------------------------------------------------------------------------- +#define SPI_CMD_SE_4K 0x20 /* 4KB sector Erase */ +#define SPI_CMD_SE_32K 0x52 /* 32KB sector Erase */ +#define SPI_CMD_SE_64K 0xD8 /* 64KB sector Erase */ +#define SPI_CMD_SE_256K 0xD8 /* 256KB sector Erase */ + +#define SPI_CMD_SE 0xD8 /* 64KB Sector Erase */ +#define SPI_CMD_BE 0xC7 /* chip erase */ +//----------------------------------------------------------------------------- +#define SPI_CMD_RDSR 0x05 /* Read Status Register */ +#define SPI_CMD_RDID 0x9F /* Read Identification */ +//----------------------------------------------------------------------------- +#define SPI_CMD_PP 0x02 /* Page Programming */ +#define SPI_CMD_WRITE_DUAL 0xA2 /* fast program dual input */ +#define SPI_CMD_WRITE_QUAD 0x32 /* fast program quad input */ +#define SPI_CMD_WRITE_DUAL_ADDR 0xD2 /* Dual I/O High Performance Write */ +#define SPI_CMD_WRITE_QUAD_ADDR 0x12 /* Quad I/O High Performance Write */ +//----------------------------------------------------------------------------- +#define SPI_CMD_READ 0x03 /* Read Data bytes */ +#define SPI_CMD_FAST_READ 0x0B /* Read Data Bytes at Higher Speed */ +#define SPI_CMD_READ_DUAL 0x3B /* fast read dual output */ +#define SPI_CMD_READ_QUAD 0x6B /* fast read quad output */ +#define SPI_CMD_READ_DUAL_ADDR 0xBB /* Dual I/O High Performance Read */ +#define SPI_CMD_READ_QUAD_ADDR 0xEB /* Quad I/O High Performance Read */ +//----------------------------------------------------------------------------- +#define SPI_CMD_SR_WIP 1 /* Write in Progress */ +#define SPI_CMD_SR_WEL 2 /* Write Enable Latch */ +//----------------------------------------------------------------------------- +#define SPI_CMD_EN4B 0xB7 /* enter to 4 bytes mode and set 4 byte bit as '1' */ +#define SPI_CMD_EX4B 0xE9 /* exit 4 bytes mode and clear 4 byte bit as '0' */ + +/*****************************************************************************/ + +struct spi_operation { + u_char iftype; + u_char cmd; + u_char dummy; + u32 size; + u32 clock; +}; + +struct spi_info { + char *name; + + u_char id[8]; + u32 id_len; + + u32 chipsize; + u32 erasesize; + u32 addrcycle; + +#define MAX_SPI_OP (8) + struct spi_operation *read[8]; + struct spi_operation *write[8]; + struct spi_operation *erase[8]; + struct spi_driver *driver; +}; +/*****************************************************************************/ + +struct spi_info *spi_serach_ids(struct spi_info *spi_info_table, + unsigned char ids[8]); + +void spi_search_rw(struct spi_info *spiinfo, struct spi_operation *spiop_rw, + unsigned int iftype, unsigned int max_dummy, int is_read); + +void spi_get_erase(struct spi_info *spiinfo, struct spi_operation *spiop_erase); + +/******************************************************************************/ +#endif /* HISPI_IDSH */ diff --git a/drivers/mtd/hisilicon/Kconfig b/drivers/mtd/hisilicon/Kconfig new file mode 100644 index 000000000..abb38e44a --- /dev/null +++ b/drivers/mtd/hisilicon/Kconfig @@ -0,0 +1,29 @@ + +menuconfig MTD_HIFMC100 + tristate "Hisilicon Flash Memory Controller Ver 100 support" + default n + select MTD_BLOCK + help + Support Hisilicon Flash Memory Controller Version 100. + +if MTD_HIFMC100 + +config MTD_HIFMC100_SPINOR + bool "Hisilicon Spi-Nor Flash support" + default y + help + Support Hisilicon Spi-Nor Flash Memory. + +config MTD_HIFMC100_SPINAND + bool "Hisilicon Spi-Nand Flash support" + default y + help + Support Hisilicon Spi-Nand Flash Memory. + +config MTD_HIFMC100_NAND + bool "Hisilicon Nand Flash support" + default y + help + Support Hisilicon Nand Flash Memory. + +endif diff --git a/drivers/mtd/hisilicon/Makefile b/drivers/mtd/hisilicon/Makefile new file mode 100644 index 000000000..59da53a52 --- /dev/null +++ b/drivers/mtd/hisilicon/Makefile @@ -0,0 +1,12 @@ + +obj-y += hiflash.o +obj-$(CONFIG_MTD_HIFMC100_SPINOR) += spinor_ids.o spinor_driver.o + +ifneq ($(CONFIG_MTD_HIFMC100_NAND)_$(CONFIG_MTD_HIFMC100_SPINAND),_) +obj-y += spinand_ids.o spinand_driver.o +obj-y += readretry/ nand_ids.o +endif + +obj-y += regop_intf.o flash_cache.o + +obj-$(CONFIG_MTD_HIFMC100) += hifmc100/ diff --git a/drivers/mtd/hisilicon/flash_cache.c b/drivers/mtd/hisilicon/flash_cache.c new file mode 100644 index 000000000..0b25dea66 --- /dev/null +++ b/drivers/mtd/hisilicon/flash_cache.c @@ -0,0 +1,1018 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.8.15 + * +******************************************************************************/ + +#define pr_fmt(fmt) "flashcache: " fmt + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "flash_cache.h" + +struct cache_node { + struct rb_node rbnode; + + u32 readcount; /* page read count */ + u32 pageindex; /* page index */ + + char *pagebuf; /* point to page buffer */ + char *oobbuf; /* point to oob buffer */ +}; +#define RB_CACHE_ENTRY(_rbnode) \ + rb_entry(_rbnode, struct cache_node, rbnode); + +struct cache_ctrl { + struct flash_cache cache; + + struct rb_root rbroot; + + u32 *pages; /* each page status */ + + char name[32]; + + int pagesize; + int oobsize; + + int pages_per_block; + u32 max_pages; + u32 max_caches; + + struct kmem_cache *rbcache; + + struct mutex mutex; + int nr_lock_read_page; + + struct proc_dir_entry *dentry; + + struct shrinker shrinker; + + /* + * true - the cache status change request is enable cache + * false - the cache status change request is disable cache + */ + bool enable_change_to; + + /* + * true - there is a cache status change request, + * disable -> enable or enable -> disable + * false - it has finish the cache status change request. + */ + bool status_change_request; + + int lifetime; + struct delayed_work time_work; + + bool read_ahead_runing; /* read ahead thread status. */ + + struct task_struct *read_ahead_task; + + int (*read_ahead)(void *args, int pageindex, int *nr_pages); + void *read_ahead_args; + + /* proc file buffer, support one thread. */ + char prbuf[2048]; + int sz_prbuf; + + u32 nr_caches; /* cache node number */ + u32 nr_read_total; /* total read count */ + u32 nr_read_hit; /* read and found the cache */ + u32 nr_read_miss; /* not found the cache, new one */ + u32 sz_caches; /* cache memory size */ + u32 sz_cache_node; /* each cache node size */ +}; + +/* this page need be free when unlock page */ +#define PAGE_LOCK_NEED_FREE (0x10000000) +/* this page is lock by read or by remove */ +#define PAGE_LOCK_READ (0x8000000) + +#define PAGE_STATUS_MASK (0x03000000) + +#define PAGE_READ_COUNT_MASK (0x00FFFFFF) + +#define PAGE_IS_LOCK_BY_READ(_ctrl, _index) \ + (_ctrl->pages[_index] & PAGE_LOCK_READ) + +#define PAGE_LOCK_BY_READ(_ctrl, _index) \ + _ctrl->pages[_index] |= PAGE_LOCK_READ + +#define PAGE_UNLOCK_BY_READ(_ctrl, _index) ({ \ + u32 ____status = _ctrl->pages[_index]; \ + _ctrl->pages[_index] &= ~(PAGE_LOCK_READ | PAGE_LOCK_NEED_FREE);\ + ____status; \ +}) + +#define GET_STATUS(_ctrl, _index) \ + (_ctrl->pages[_index] & PAGE_STATUS_MASK) + +#define SET_STATUS(_ctrl, _index, _status) ({ \ + _ctrl->pages[_index] &= ~PAGE_STATUS_MASK; \ + _ctrl->pages[_index] |= ((_status) & PAGE_STATUS_MASK); \ + (_ctrl->pages[_index] & PAGE_STATUS_MASK); \ +}) + +#define GET_READ_COUNT(_ctrl, _index) \ + (_ctrl->pages[_index] & PAGE_READ_COUNT_MASK) + +#define SET_READ_COUNT(_ctrl, _index, _count) ({ \ + u32 ___count = (_count); \ + if (___count > PAGE_READ_COUNT_MASK) ___count = PAGE_READ_COUNT_MASK; \ + _ctrl->pages[_index] &= ~PAGE_READ_COUNT_MASK; \ + _ctrl->pages[_index] |= ___count; \ + ___count; \ +}) + +/* close flash cache after 30s */ +static u32 flash_cache_lifetime = 0; +static int flash_cache_read_ahead_enable = 0; +static u64 flash_cache_read_ahead_address = 0; +/******************************************************************************/ + +static int __init flash_cache_bootargs_options_setup(char *s) +{ + flash_cache_lifetime = (u32)simple_strtol(s, &s, 10); + if (*s++ != ',') + return 1; + + flash_cache_read_ahead_enable = !!(*s++ - '0'); + + if (*s++ != ',') + return 1; + + flash_cache_read_ahead_address = (u64)simple_strtoll(s, &s, 0); + + return 1; +} + +/* flashcache=30,1,0x100000 */ +__setup("flashcache=", flash_cache_bootargs_options_setup); +/******************************************************************************/ + +static int page_compare(struct cache_node *node, u32 readcount, u32 pageindex) +{ + if (node->readcount > readcount) + return -1; + else if (node->readcount < readcount) + return 1; + + if (node->pageindex > pageindex) + return -1; + else if (node->pageindex < pageindex) + return 1; + + return 0; +} +/******************************************************************************/ + +static struct cache_node *find_cache_node(struct cache_ctrl *ctrl, + u32 readcount, u32 pageindex) +{ + int comp; + struct rb_node *node = ctrl->rbroot.rb_node; + + while (node) { + struct cache_node *leaf = RB_CACHE_ENTRY(node); + comp = page_compare(leaf, readcount, pageindex); + + if (comp < 0) + node = node->rb_left; + else if (comp > 0) + node = node->rb_right; + else + return leaf; + } + + return NULL; +} +/******************************************************************************/ + +static void remove_cache_node(struct cache_ctrl *ctrl, struct cache_node *node, + bool free_node) +{ + rb_erase(&node->rbnode, &ctrl->rbroot); + + ctrl->nr_caches--; + + if (free_node) { + kfree(node->pagebuf); + kfree(node->oobbuf); + kmem_cache_free(ctrl->rbcache, node); + + ctrl->sz_caches -= ctrl->sz_cache_node; + } +} +/******************************************************************************/ + +static void free_all_cache_node(struct cache_ctrl *ctrl) +{ + struct rb_node *rbnode = rb_first(&ctrl->rbroot); + + while (rbnode) { + struct cache_node *node = RB_CACHE_ENTRY(rbnode); + rbnode = rb_next(rbnode); + + remove_cache_node(ctrl, node, true); + } +} +/******************************************************************************/ + +static struct cache_node *new_cache_node(struct cache_ctrl *ctrl, u32 readcount, + u32 pageindex) +{ + struct cache_node *node; + gfp_t flags = (GFP_NOWAIT | __GFP_NOMEMALLOC | __GFP_NOWARN); + + node = kmem_cache_zalloc(ctrl->rbcache, flags); + if (!node) + return NULL; + + node->pagebuf = kmalloc(ctrl->pagesize, flags); + if (!node->pagebuf) { + kmem_cache_free(ctrl->rbcache, node); + return NULL; + } + + node->oobbuf = kmalloc(ctrl->oobsize, flags); + if (!node->oobbuf) { + kfree(node->pagebuf); + kmem_cache_free(ctrl->rbcache, node); + return NULL; + } + + node->readcount = readcount; + node->pageindex = pageindex; + ctrl->sz_caches += ctrl->sz_cache_node; + + return node; +} +/******************************************************************************/ + +static struct cache_node * +insert_cache_node(struct cache_ctrl *ctrl, struct cache_node *newnode) +{ + int comp; + struct rb_node **node = &ctrl->rbroot.rb_node; + struct rb_node *parent = NULL; + + while (*node) { + struct cache_node *leaf = RB_CACHE_ENTRY(*node); + comp = page_compare(leaf, newnode->readcount, + newnode->pageindex); + + parent = *node; + + if (comp < 0) + node = &(*node)->rb_left; + else if (comp > 0) + node = &(*node)->rb_right; + else + return NULL; + } + + rb_link_node(&newnode->rbnode, parent, node); + rb_insert_color(&newnode->rbnode, &ctrl->rbroot); + + ctrl->nr_caches++; + + return newnode; +} +/******************************************************************************/ + +static int _new_cache(struct flash_cache *cache, u32 pageindex, char **pagebuf, + char **oobbuf) +{ + u32 readcount; + struct cache_node *node; + struct cache_ctrl *ctrl = (struct cache_ctrl *)cache; + + mutex_lock(&ctrl->mutex); + + if (!cache->enable) { + mutex_unlock(&ctrl->mutex); + return -EINVAL; + } + + if (GET_STATUS(ctrl, pageindex) != FLASHCACHE_PAGE_UNKNOWN) { + mutex_unlock(&ctrl->mutex); + return -EINVAL; + } + + readcount = GET_READ_COUNT(ctrl, pageindex); + readcount = SET_READ_COUNT(ctrl, pageindex, readcount + 1); + + if (ctrl->nr_caches >= ctrl->max_caches) { + node = RB_CACHE_ENTRY(rb_first(&ctrl->rbroot)); + + if (readcount < node->readcount) { + mutex_unlock(&ctrl->mutex); + return -ENOMEM; + } + + SET_STATUS(ctrl, node->pageindex, FLASHCACHE_PAGE_UNKNOWN); + remove_cache_node(ctrl, node, true); + } + + node = new_cache_node(ctrl, readcount, pageindex); + if (!node) { + mutex_unlock(&ctrl->mutex); + return -ENOMEM; + } + + SET_STATUS(ctrl, pageindex, FLASHCACHE_PAGE_CACHE); + + if (pagebuf) + *pagebuf = node->pagebuf; + if (oobbuf) + *oobbuf = node->oobbuf; + + insert_cache_node(ctrl, node); + + ctrl->nr_read_miss++; + + mutex_unlock(&ctrl->mutex); + + return 0; +} +/******************************************************************************/ + +static int _get_cache(struct flash_cache *cache, u32 pageindex, char **pagebuf, + char **oobbuf) +{ + int status; + struct cache_ctrl *ctrl = (struct cache_ctrl *)cache; + + mutex_lock(&ctrl->mutex); + + if (!cache->enable) { + mutex_unlock(&ctrl->mutex); + return FLASHCACHE_DISABLE; + } + + status = GET_STATUS(ctrl, pageindex); + + if (status == FLASHCACHE_PAGE_CACHE) { + u32 readcount; + struct cache_node *node = find_cache_node(ctrl, + GET_READ_COUNT(ctrl, pageindex), pageindex); + + if (pagebuf) + *pagebuf = node->pagebuf; + if (oobbuf) + *oobbuf = node->oobbuf; + + remove_cache_node(ctrl, node, false); + + readcount = GET_READ_COUNT(ctrl, pageindex); + node->readcount = SET_READ_COUNT(ctrl, pageindex, readcount + 1); + + insert_cache_node(ctrl, node); + + ctrl->nr_read_hit++; + } + + mutex_unlock(&ctrl->mutex); + + return status; +} +/******************************************************************************/ + +static int _discard_cache(struct flash_cache *cache, u32 pageindex, + int nr_pages, int status) +{ + struct cache_ctrl *ctrl = (struct cache_ctrl *)cache; + + for (; nr_pages > 0; nr_pages--, pageindex++) { + mutex_lock(&ctrl->mutex); + + if (!cache->enable) { + mutex_unlock(&ctrl->mutex); + return 0; + } + + if (GET_STATUS(ctrl, pageindex) == FLASHCACHE_PAGE_CACHE) { + struct cache_node *node = find_cache_node(ctrl, + GET_READ_COUNT(ctrl, pageindex), pageindex); + remove_cache_node(ctrl, node, true); + } + + SET_STATUS(ctrl, pageindex, status); + SET_READ_COUNT(ctrl, pageindex, 0); + + mutex_unlock(&ctrl->mutex); + } + + return 0; +} +/******************************************************************************/ + +static int __read_ahead_thread(void *args) +{ + int pageshift; + int pageindex = 0; + int skip_pages = 0; + struct cache_ctrl *ctrl = (struct cache_ctrl *)args; + + pageshift = ffs(ctrl->pagesize) - 1; + + pageindex = (int)(flash_cache_read_ahead_address >> pageshift); + + pr_info("%s read ahead start from address:0x%08llx.\n", ctrl->name, + ((u64)pageindex << pageshift)); + + while (pageindex < ctrl->max_pages) { + cond_resched(); + ctrl->read_ahead(ctrl->read_ahead_args, pageindex, &skip_pages); + if (skip_pages <= 0 || skip_pages >= ctrl->max_pages) + break; + pageindex += skip_pages; + + if (kthread_should_stop()) + break; + } + + pr_info("%s read ahead finish.\n", ctrl->name); + + ctrl->read_ahead_runing = false; + + return 0; +} +/******************************************************************************/ + +static int start_read_ahead_thread(struct cache_ctrl *ctrl) +{ + struct task_struct *task; + + if (!ctrl->read_ahead) + return 0; + + if (ctrl->read_ahead_runing) + return 0; + + ctrl->read_ahead_runing = true; + + task = kthread_run(__read_ahead_thread, ctrl, "ra-%s", ctrl->name); + if (IS_ERR(task)) { + pr_warning("Failed to create the %s read ahead thread\n", ctrl->name); + ctrl->read_ahead_runing = false; + return IS_ERR(task); + } + + ctrl->read_ahead_task = task; + + return 0; +} +/******************************************************************************/ + +static void stop_read_ahead_thread(struct cache_ctrl *ctrl) +{ + if (ctrl->read_ahead_task) { + kthread_stop(ctrl->read_ahead_task); + ctrl->read_ahead_task = NULL; + } +} +/******************************************************************************/ + +static bool flash_cache_try_enable(struct cache_ctrl *ctrl) +{ + mutex_lock(&ctrl->mutex); + + if (ctrl->status_change_request && ctrl->enable_change_to) { + ctrl->status_change_request = false; + + if (ctrl->cache.enable) { + mutex_unlock(&ctrl->mutex); + return ctrl->cache.enable; + } + ctrl->pages = kzalloc( + ctrl->max_pages * sizeof(ctrl->pages), + GFP_KERNEL); + if (!ctrl->pages) { + pr_err("failed to allocate memory.\n"); + } else { + ctrl->cache.enable = true; + start_read_ahead_thread(ctrl); + } + } + + mutex_unlock(&ctrl->mutex); + + return ctrl->cache.enable; +} +/******************************************************************************/ + +static bool flash_cache_try_disable(struct cache_ctrl *ctrl) +{ + mutex_lock(&ctrl->mutex); + + if (ctrl->status_change_request && !ctrl->enable_change_to && + !ctrl->nr_lock_read_page) { + ctrl->status_change_request = false; + + if (ctrl->cache.enable) { + stop_read_ahead_thread(ctrl); + free_all_cache_node(ctrl); + + ctrl->cache.enable = false; + + kfree(ctrl->pages); + ctrl->pages = NULL; + } + } + + mutex_unlock(&ctrl->mutex); + + return ctrl->cache.enable; +} +/******************************************************************************/ + +static int _peek_status(struct flash_cache *cache, u32 pageindex) +{ + int status; + struct cache_ctrl *ctrl = (struct cache_ctrl *)cache; + + mutex_lock(&ctrl->mutex); + + if (cache->enable) + status = GET_STATUS(ctrl, pageindex); + else + status = FLASHCACHE_DISABLE; + + mutex_unlock(&ctrl->mutex); + + return status; +} +/******************************************************************************/ + +static int _get_status_lock_read_page(struct flash_cache *cache, u32 pageindex) +{ + int status; + struct cache_ctrl *ctrl = (struct cache_ctrl *)cache; + + if (!flash_cache_try_enable(ctrl)) + return FLASHCACHE_DISABLE; + + mutex_lock(&ctrl->mutex); + + if (!cache->enable) { + mutex_unlock(&ctrl->mutex); + return FLASHCACHE_DISABLE; + } + + PAGE_LOCK_BY_READ(ctrl, pageindex); + + ctrl->nr_lock_read_page++; + ctrl->nr_read_total++; + + status = GET_STATUS(ctrl, pageindex); + + mutex_unlock(&ctrl->mutex); + + return status; +} +/******************************************************************************/ + +static void flash_cache_remove(struct cache_ctrl *ctrl, int nr_caches) +{ + struct cache_node *node, *next; + + mutex_lock(&ctrl->mutex); + + node = RB_CACHE_ENTRY(rb_first(&ctrl->rbroot)); + + while (nr_caches-- > 0 && node) { + next = RB_CACHE_ENTRY(rb_next(&node->rbnode)); + + if (PAGE_IS_LOCK_BY_READ(ctrl, node->pageindex)) { + ctrl->pages[node->pageindex] |= PAGE_LOCK_NEED_FREE; + } else { + SET_STATUS(ctrl, node->pageindex, FLASHCACHE_PAGE_UNKNOWN); + SET_READ_COUNT(ctrl, node->pageindex, 0); + + remove_cache_node(ctrl, node, true); + } + + node = next; + } + + mutex_unlock(&ctrl->mutex); +} +/******************************************************************************/ + +static int _unlock_read_page(struct flash_cache *cache, u32 pageindex) +{ + u32 lock_status; + struct cache_ctrl *ctrl = (struct cache_ctrl *)cache; + + mutex_lock(&ctrl->mutex); + + if (!cache->enable) { + mutex_unlock(&ctrl->mutex); + return FLASHCACHE_DISABLE; + } + + lock_status = PAGE_UNLOCK_BY_READ(ctrl, pageindex); + + if ((lock_status & PAGE_LOCK_NEED_FREE) && + GET_STATUS(ctrl, pageindex) == FLASHCACHE_PAGE_CACHE) { + struct cache_node *node = find_cache_node(ctrl, + GET_READ_COUNT(ctrl, pageindex), pageindex); + + SET_STATUS(ctrl, pageindex, FLASHCACHE_PAGE_UNKNOWN); + SET_READ_COUNT(ctrl, pageindex, 0); + + remove_cache_node(ctrl, node, true); + } + + ctrl->nr_lock_read_page--; + + mutex_unlock(&ctrl->mutex); + + flash_cache_try_disable(ctrl); + + return 0; +} +/******************************************************************************/ + +static void flash_cache_enable(struct cache_ctrl *ctrl) +{ + mutex_lock(&ctrl->mutex); + + ctrl->enable_change_to = true; + ctrl->status_change_request = true; + pr_info("%s cache will enable.\n", ctrl->name); + + mutex_unlock(&ctrl->mutex); +} +/******************************************************************************/ + +static void flash_cache_disable(struct cache_ctrl *ctrl) +{ + mutex_lock(&ctrl->mutex); + + ctrl->enable_change_to = false; + ctrl->status_change_request = true; + pr_info("%s cache will disable.\n", ctrl->name); + + mutex_unlock(&ctrl->mutex); + + flash_cache_remove(ctrl, ctrl->max_caches); + + flash_cache_try_disable(ctrl); +} +/******************************************************************************/ + +static ssize_t proc_fops_read(struct file *filp, char __user *ubuf, + size_t sz_ubuf, loff_t *ppos) +{ + struct cache_ctrl *ctrl = PDE_DATA(file_inode(filp)); + + if (!*ppos) { + int count; + char *ptr = ctrl->prbuf; + int sz_buf = sizeof(ctrl->prbuf); + + count = snprintf(ptr, sz_buf, + "Cache: %s\n" + "Pending: %s\n" + "Max Cache: %d\n" + "Total Pages: %d\n" + "Cache Number: %d\n" + "Cache Size: %d\n" + "Read Total: %d\n" + "Read Hit: %d\n" + "Read Miss: %d\n" + "Read Ahead: %s\n", + (ctrl->cache.enable ? "on" : "off"), + (ctrl->enable_change_to ? "on" : "off"), + ctrl->max_caches, + ctrl->max_pages, + ctrl->nr_caches, + ctrl->sz_caches, + ctrl->nr_read_total, + ctrl->nr_read_hit, + ctrl->nr_read_miss, + (ctrl->read_ahead_runing ? "runing" : "stop")); + + sz_buf -= count; + ptr += count; + + ctrl->sz_prbuf = ptr - ctrl->prbuf; + } + + return simple_read_from_buffer(ubuf, sz_ubuf, ppos, ctrl->prbuf, + ctrl->sz_prbuf); +} +/******************************************************************************/ + +static void resolve_input(char *buf, char *ptail, int *clean, int *enable) +{ + int ix; + char buf_enabe[4] = {0}; + +#define _SKEY_VAL(_key, _val, _sz_val, _def) \ + ((void *)&(struct key_val_t){ \ + .key = _key, \ + .sz_key = sizeof(_key) - 1, \ + .buf = (char *)_val, \ + .sz_buf = _sz_val, \ + .def_val = _def, \ + }) + + struct key_val_t { + const char *key; + int sz_key; + char *buf; + int sz_buf; + int def_val; + } *key_val[] = { + _SKEY_VAL("cache", buf_enabe, sizeof(buf_enabe), 2), + _SKEY_VAL("clean", clean, sizeof(*clean), 1), + }; + + while (buf < ptail) { + if (!isalpha(*buf)) { + buf++; + continue; + } + + for (ix = 0; ix < ARRAY_SIZE(key_val); ix++) { + ulong val; + struct key_val_t *kv = key_val[ix]; + + if (!kv->buf) + continue; + + if (buf + kv->sz_key > ptail) + continue; + + if (memcmp(buf, kv->key, kv->sz_key)) + continue; + + if (isalpha(buf[kv->sz_key])) + continue; + + buf += kv->sz_key; + + if (kv->def_val == 1) { + val = kv->def_val; + memcpy(kv->buf, &val, + min_t(ulong, kv->sz_buf, sizeof(val))); + } else if (kv->def_val == 2) { + char *ptr = kv->buf; + int count = kv->sz_buf - 1; + + buf = skip_spaces(buf); + + while (count-- > 0 && isalpha(*buf)) + *ptr++ = *buf++; + + *ptr = '\0'; + + } else { + val = (ulong)memparse(buf, &buf); + memcpy(kv->buf, &val, + min_t(ulong, kv->sz_buf, sizeof(val))); + } + + break; + } + + if (ix == ARRAY_SIZE(key_val)) { + char chr, *nextbuf; + + nextbuf = buf; + + while (nextbuf < ptail && isalpha(*nextbuf)) + nextbuf++; + + chr = *nextbuf; + *nextbuf = '\0'; + + pr_err("Invalid key word: \"%s\"\n", buf); + + *nextbuf = chr; + buf = nextbuf; + } + } + + if (buf_enabe[0] && enable) { + if (!strncmp(buf_enabe, "on", sizeof(buf_enabe))) + *enable = 1; + else if (!strncmp(buf_enabe, "off", sizeof(buf_enabe))) + *enable = 0; + } +} +/******************************************************************************/ + +static ssize_t proc_fops_write(struct file *filp, const char __user *ubuf, + size_t sz_ubuf, loff_t *ppos) +{ + char *kbuf; + int enable, clean; + struct cache_ctrl *ctrl = PDE_DATA(file_inode(filp)); + + kbuf = (char *)vmalloc(sz_ubuf + 1); + if (!kbuf) + return -ENOMEM; + + if (copy_from_user(kbuf, ubuf, sz_ubuf)) { + vfree(kbuf); + return -EFAULT; + } + + kbuf[sz_ubuf] = '\0'; + + enable = ctrl->enable_change_to; + clean = 0; + + resolve_input(kbuf, kbuf + sz_ubuf, &clean, &enable); + + if (enable != ctrl->enable_change_to) { + if (enable) + flash_cache_enable(ctrl); + else + flash_cache_disable(ctrl); + } + + if (clean) + flash_cache_remove(ctrl, ctrl->max_caches); + + vfree(kbuf); + + return sz_ubuf; +} +/******************************************************************************/ + +static struct file_operations flash_cache_proc_fops = { + .read = proc_fops_read, + .write = proc_fops_write, +}; +/******************************************************************************/ + +static unsigned long +flash_cache_scan_objects(struct shrinker *shrink, struct shrink_control *sc) +{ + int count; + u32 nr_caches; + struct cache_ctrl *ctrl; + + ctrl = container_of(shrink, struct cache_ctrl, shrinker); + + if (!sc->nr_to_scan) + return ctrl->nr_caches; + + nr_caches = ctrl->nr_caches; + flash_cache_remove(ctrl, sc->nr_to_scan); + count = nr_caches - ctrl->nr_caches; + + if (count <= 0) + return SHRINK_STOP; + else + return count; +} +/******************************************************************************/ + +static unsigned long +flash_cache_count_objects(struct shrinker *shrink, struct shrink_control *sc) +{ + struct cache_ctrl *ctrl; + ctrl = container_of(shrink, struct cache_ctrl, shrinker); + return ctrl->nr_caches; +} +/******************************************************************************/ + +static void __flash_cache_time_work(struct work_struct *work) +{ + struct cache_ctrl *ctrl = container_of(work, struct cache_ctrl, + time_work.work); + + flash_cache_disable(ctrl); +} +/******************************************************************************/ + +struct flash_cache *flash_cache_create(char *name, u64 totalsize, int blocksize, + int pagesize, int oobsize, int nr_cache, + int (*read_ahead)(void *, int, int*), + void *read_ahead_args) +{ + struct cache_ctrl *ctrl; + + pr_info("initialize %s flash cache feature.\n", name); + + ctrl = kzalloc(sizeof(struct cache_ctrl), GFP_KERNEL); + if (!ctrl) { + pr_err("failed to allocate memory.\n"); + return NULL; + } + + strncpy(ctrl->name, name, sizeof(ctrl->name) - 1); + ctrl->pages_per_block = blocksize / pagesize; + ctrl->pagesize = pagesize; + ctrl->oobsize = oobsize; + ctrl->max_pages = (u32)(totalsize >> (ffs(pagesize) - 1)); + ctrl->max_caches = (nr_cache <= 0 ? ctrl->max_pages : nr_cache); + + ctrl->sz_cache_node = sizeof(struct cache_node) + ctrl->pagesize + + ctrl->oobsize; + + if (flash_cache_read_ahead_enable) { + ctrl->read_ahead = read_ahead; + ctrl->read_ahead_args = read_ahead_args; + ctrl->read_ahead_runing = false; + } + + ctrl->rbcache = kmem_cache_create("flashcache", + sizeof(struct cache_node), 0, 0, NULL); + if (!ctrl->rbcache) { + kfree(ctrl); + pr_err("failed to allocate memory.\n"); + return NULL; + } + + ctrl->dentry = proc_create_data("nandcache", 0644, NULL, + &flash_cache_proc_fops, ctrl); + if (!ctrl->dentry) { + kmem_cache_destroy(ctrl->rbcache); + kfree(ctrl); + pr_err("create proc file fail.\n"); + return NULL; + } + + ctrl->shrinker.scan_objects = flash_cache_scan_objects; + ctrl->shrinker.count_objects = flash_cache_count_objects; + ctrl->shrinker.seeks = DEFAULT_SEEKS; + register_shrinker(&ctrl->shrinker); + + mutex_init(&ctrl->mutex); + + ctrl->cache.oobsize = oobsize; + ctrl->cache.max_pages = ctrl->max_pages; + ctrl->cache.pages_per_block = ctrl->pages_per_block; + ctrl->cache.get_status_lock_read_page = _get_status_lock_read_page; + ctrl->cache.new_cache = _new_cache; + ctrl->cache.get_cache = _get_cache; + ctrl->cache.discard_cache = _discard_cache; + ctrl->cache.unlock_read_page = _unlock_read_page; + ctrl->cache.peek_status = _peek_status; + + ctrl->lifetime = flash_cache_lifetime; + if (ctrl->lifetime) { + bool ret; + INIT_DELAYED_WORK(&ctrl->time_work, __flash_cache_time_work); + schedule_delayed_work(&ctrl->time_work, + msecs_to_jiffies(ctrl->lifetime * 1000)); + + flash_cache_enable(ctrl); + ret = flash_cache_try_enable(ctrl); + if (ret) + pr_info("%s cache will disable after %ds.\n", ctrl->name, ctrl->lifetime); + else + pr_info("%s cache enable failed.\n", ctrl->name); + } + + return &ctrl->cache; +} +/******************************************************************************/ + +void flash_cache_destory(struct flash_cache *cache) +{ + struct cache_ctrl *ctrl = (struct cache_ctrl *)cache; + + if (ctrl->lifetime) + cancel_delayed_work_sync(&ctrl->time_work); + + flash_cache_disable(ctrl); + flash_cache_try_disable(ctrl); + + kmem_cache_destroy(ctrl->rbcache); + + unregister_shrinker(&ctrl->shrinker); + + mutex_destroy(&ctrl->mutex); + + kfree(ctrl); +} diff --git a/drivers/mtd/hisilicon/flash_cache.h b/drivers/mtd/hisilicon/flash_cache.h new file mode 100644 index 000000000..a11ad492d --- /dev/null +++ b/drivers/mtd/hisilicon/flash_cache.h @@ -0,0 +1,70 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.8.15 + * +******************************************************************************/ + +#ifndef FLASH_CACHE_H +#define FLASH_CACHE_H + +#define FLASHCACHE_DISABLE (0x01) +/* page has not be read, need read flash device */ +#define FLASHCACHE_PAGE_UNKNOWN (0x00) +/* page has be read, but it is empty */ +#define FLASHCACHE_PAGE_EMPTY (0x1000000) +/* page is bad bock, need read flash device */ +#define FLASHCACHE_PAGE_BADBLOCK (0x2000000) +/* page has cache, no need to read from flash device */ +#define FLASHCACHE_PAGE_CACHE (0x3000000) + +static inline char *flash_cache_status(int status) +{ + char *str[] = {"unknown", "empty", "badblock", "cache"}; + return str[(status >> 24) & 0x3]; +} + +struct flash_cache { + int oobsize; + u32 max_pages; + int pages_per_block; + + volatile bool enable; + + int (*peek_status)(struct flash_cache *cache, u32 pageindex); + + int (*get_status_lock_read_page)(struct flash_cache *cache, u32 pageindex); + + int (*unlock_read_page)(struct flash_cache *cache, u32 pageindex); + + int (*new_cache)(struct flash_cache *cache, u32 pageindex, + char **pagebuf, char **oobbuf); + + int (*get_cache)(struct flash_cache *cache, u32 pageindex, + char **pagebuf, char **oobbuf); + + int (*discard_cache)(struct flash_cache *cache, u32 pageindex, + int nr_pages, int status); +}; + +struct flash_cache *flash_cache_create(char *name, u64 totalsize, int blocksize, + int pagesize, int oobsize, int nr_cache, + int (*read_ahead)(void *, int, int *), + void *read_ahead_args); + +void flash_cache_destory(struct flash_cache *cache); +/******************************************************************************/ + +#endif /* FLASH_CACHE_H*/ diff --git a/drivers/mtd/hisilicon/hiflash.c b/drivers/mtd/hisilicon/hiflash.c new file mode 100644 index 000000000..d83245526 --- /dev/null +++ b/drivers/mtd/hisilicon/hiflash.c @@ -0,0 +1,168 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.25 + * +******************************************************************************/ + +#include + +#include "hiflash.h" + +/*****************************************************************************/ + +u32 nand_get_clock(struct nand_chip_clock *clks, u8 *id, int id_len) +{ + while (clks->id_len) { + if (clks->id_len <= id_len && + !memcmp(id, clks->id, clks->id_len)) + return clks->value; + clks++; + } + + /* use default value */ + return clks->value; +} +/******************************************************************************/ + +struct nand_ctrl_info *nand_get_ctrl_info(struct nand_ctrl_info *info, + int pagesize, int ecc_strength) +{ + while (info->pagesize) { + if (info->pagesize == pagesize && + info->ecc.strength == ecc_strength) { + if (!info->nr_ecc_sect) + info->nr_ecc_sect = info->pagesize / info->ecc.step; + return info; + } + info++; + } + + return NULL; +} +/******************************************************************************/ + +static struct spiflash_xfer *spinor_xfer_read = + SPIFLASH_XFER(SPINOR_OP_READ, 0, 0, 0); + +static struct spiflash_xfer *spinor_xfer_write = + SPIFLASH_XFER(SPINOR_OP_PP, 0, 256, 0); + +static struct spiflash_xfer *spinor_xfer_erase = + SPIFLASH_XFER(SPINOR_OP_SE, 0, SZ_64K, 0); + +struct spinor_chip_xfer *spinor_get_xfer(struct spinor_chip_xfer *xfer, + u8 *id, int id_len) +{ + /* xfer->id_len == 0 means default value */ + for (; xfer->id_len; xfer++) { + /* allow match a serial device. */ + if (xfer->id_len > id_len) + continue; + + if (memcmp(xfer->id, id, xfer->id_len)) + continue; + + break; + } + + if (!xfer->read) + xfer->read = spinor_xfer_read; + if (!xfer->write) + xfer->write = spinor_xfer_write; + if (!xfer->erase) + xfer->erase = spinor_xfer_erase; + + return xfer; +} +/******************************************************************************/ + +struct spinand_chip_xfer *spinand_get_xfer(struct spinand_chip_xfer *xfer, + u8 *id, int id_len) +{ + struct spinand_chip_xfer *best = NULL; + + for (; xfer->id_len; xfer++) { + /* allow match a serial device. */ + if (xfer->id_len > id_len || + memcmp(xfer->id, id, xfer->id_len)) + continue; + + if (!best || best->id_len < xfer->id_len) + best = xfer; + } + + if (best) + return best; + else + return xfer; /* xfer->id_len == 0 means default value */ +} +/******************************************************************************/ + +int flash_regop_info_dump(struct flash_regop_info *info, char *buf, int sz_buf) +{ + int count; + char *ptr = buf; + + if (info->nr_cmd) { + if (info->nr_cmd == 1) + count = snprintf(ptr, sz_buf, "cmd=0x%02x,", info->cmd); + else if (info->nr_cmd == 2) + count = snprintf(ptr, sz_buf, "cmd=0x%04x,", info->cmd); + else + count = snprintf(ptr, sz_buf, "cmd=0x%08x,", info->cmd); + + sz_buf -= count; + ptr += count; + + count = snprintf(ptr, sz_buf, "nr_cmd=%d,", info->nr_cmd); + sz_buf -= count; + ptr += count; + } + + if (info->addr_cycle) { + if (info->addr_cycle > 4) { + count = snprintf(ptr, sz_buf, "addrh=0x%02x,", info->addrh); + sz_buf -= count; + ptr += count; + } + + if (info->addr_cycle > 2) + count = snprintf(ptr, sz_buf, "addrl=0x%08x,", info->addrl); + else + count = snprintf(ptr, sz_buf, "addrl=0x%04x,", info->addrl); + + sz_buf -= count; + ptr += count; + + count = snprintf(ptr, sz_buf, "addr_cycle=%d,", info->addr_cycle); + sz_buf -= count; + ptr += count; + } + + if (info->dummy) { + count = snprintf(ptr, sz_buf, "dummy=%d,", info->dummy); + sz_buf -= count; + ptr += count; + } + + if (info->sz_buf) { + count = snprintf(ptr, sz_buf, "sz_buf=%d,", info->sz_buf); + sz_buf -= count; + ptr += count; + } + + return ptr - buf; +} diff --git a/drivers/mtd/hisilicon/hiflash.h b/drivers/mtd/hisilicon/hiflash.h new file mode 100644 index 000000000..3d47764a5 --- /dev/null +++ b/drivers/mtd/hisilicon/hiflash.h @@ -0,0 +1,305 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.31 + * +******************************************************************************/ + +#ifndef HIFLASH_H +#define HIFLASH_H + +/******************************************************************************/ + +#include +#include +#include + +/******************************************************************************/ + +/* SPI-NAND opcodes */ +#define SPINAND_OP_RESET 0xff /* Device Reset */ +#define SPINAND_OP_RDID 0x9f /* Read ID */ +#define SPINAND_OP_RDSR 0x0f /* Read status register */ +#define SPINAND_OP_WRSR 0x1f /* Write status register */ +#define SPINAND_OP_WREN 0x06 /* Write enable */ +#define SPINAND_OP_WRDI 0x04 /* Write disable */ +#define SPINAND_OP_BE 0xd8 /* Block erase */ +#define SPINAND_OP_PLD 0x02 /* Program Data Load, 1 bit per clock. */ +#define SPINAND_OP_PLD_4 0x32 /* Program Data Load, 4 bit per clock. */ +#define SPINAND_OP_RPLD 0x84 /* Random Program Data Load, 1 bit per clock. */ +#define SPINAND_OP_RPLD_4 0x34 /* Random Program Data Load, 4 bit per clock. */ +#define SPINAND_OP_PE 0x10 /* Program Execute */ +#define SPINAND_OP_PGRD 0x13 /* Page Read */ + +#define SPINAND_OP_READ 0x03 /* Read Data From Nand Cache, 1 bit per clock. */ +#define SPINAND_OP_READ_2 0x3b /* Read Data From Nand Cache, 2 bit per clock. */ +#define SPINAND_OP_READ_4 0x6b /* Read Data From Nand Cache, 4 bit per clock. */ + +enum spinand_read_mode { + SPINAND_NORMAL = 0, + SPINAND_FAST, + SPINAND_DUAL, + SPINAND_QUAD, +}; + +#define SPINAND_STATUS_OIP 0x01 +#define SPINAND_STATUS_E_FAIL 0x04 +#define SPINAND_STATUS_P_FAIL 0x08 + +/* feature register */ +#define SPINAND_STATUS_BUF 0x08 +#define SPINAND_STATUS_ECC_EN 0x10 +#define SPINAND_STATUS_EQ 0x01 + +/* protection register */ +#define SPINAND_BLOCK_PROT_GIGA 0x38 +#define SPINAND_BLOCK_PROT_WINBOND 0x78 +/******************************************************************************/ + +#define SPINOR_OP_WREN 0x06 /* Write enable */ +#define SPINOR_OP_WRDI 0x04 /* Write disable */ + +#define SPINOR_OP_READ 0x03 /* Read data bytes (low frequency) */ +#define SPINOR_OP_READ_FAST 0x0b /* Read data bytes (high frequency) */ +#define SPINOR_OP_READ_DUAL 0x3b /* Read data bytes (Dual SPI) */ +#define SPINOR_OP_READ_QUAD 0x6b /* Read data bytes (Quad SPI) */ +#define SPINOR_OP_PP 0x02 /* Page program (up to 256 bytes) */ +#define SPINOR_OP_PP_QUAD 0x32 /* Quad Page program (up to 256 bytes) */ + +#define SPINOR_OP_RDID 0x9f /* Read JEDEC ID */ + +#define SPINOR_OP_EN4B 0xb7 /* Enter 4-byte mode */ +#define SPINOR_OP_EX4B 0xe9 /* Exit 4-byte mode */ + +#define SPINOR_OP_SE 0xD8 /* 64KB Sector Erase */ +#define SPINOR_OP_SE_4K 0x20 /* 4KB sector Erase */ +#define SPINOR_OP_SE_32K 0x52 /* 32KB sector Erase */ +#define SPINOR_OP_SE_64K 0xD8 /* 64KB sector Erase */ +#define SPINOR_OP_SE_128K 0xD8 /* 128KB sector Erase */ +#define SPINOR_OP_SE_256K 0xD8 /* 256KB sector Erase */ +#define SPINOR_OP_BE 0xC7 /* chip erase */ + +#define SPINOR_OP_RDSR 0x05 /* Read status register */ +#define SPINOR_OP_RDSR2 0x35 /* Read status register-2 */ +#define SPINOR_OP_WRSR 0x01 /* Write status register*/ + +#define SPINOR_STATUS_WIP 0x01 /* write operation in process */ +#define SPINOR_STATUS_EQ 0x40 /* Quad Enable MXIC */ + +#define SPINOR_STATUS2_EQ 0x02 /* Quad Enable, SPANSION */ +/******************************************************************************/ + +struct spiflash_xfer { + u8 cmd; + u8 dummy; + u32 size; + int clock; +}; + +#define SPIFLASH_XFER(_cmd, _dummy, _size, _clock) \ + ((void *)&(struct spiflash_xfer) { \ + .cmd = (_cmd), \ + .dummy = (_dummy), \ + .size = (_size), \ + .clock = (_clock), \ +}) + +#define FLASH_ID_LEN 8 + +struct spinor_chip_xfer { + const char *name; + u8 id[FLASH_ID_LEN]; + int id_len; + struct spiflash_xfer *read; + struct spiflash_xfer *write; + struct spiflash_xfer *erase; +}; + +struct spinand_chip_xfer { + const char *name; + u8 id[FLASH_ID_LEN]; + int id_len; + int datapin; + int clock; +}; + +struct nand_chip_clock { + const char *name; + u8 id[FLASH_ID_LEN]; + int id_len; + u32 value; +}; + +struct cmdfunc_data { + int column; + int page_addr; + u32 command; + int offset; +}; + +struct nand_ctrl_info { + int pagesize; + struct { + int strength; /* max correct bit per section, unit 1K */ + int step; /* ecc section size, default 1K */ + } ecc; + struct { + int sz_data; /* number of data bytes per section */ + int sz_ecc; /* number of ecc bytes per section */ + } section; + int nr_ecc_sect; /* number of ecc section. */ + int oobsize; + int oob_offset; /* offset when only read oob area */ + struct nand_ecclayout *ecclayout; + int threshold; /* the ecc strength threshold */ + void (*dump)(void *host, u8 ecc[], int *max_bitsflip); +}; + +struct mtd_func { + int (*_erase) (struct mtd_info *mtd, struct erase_info *instr); + int (*_read) (struct mtd_info *mtd, loff_t from, size_t len, + size_t *retlen, u_char *buf); + int (*_write) (struct mtd_info *mtd, loff_t to, size_t len, + size_t *retlen, const u_char *buf); + int (*_panic_write) (struct mtd_info *mtd, loff_t to, size_t len, + size_t *retlen, const u_char *buf); + int (*_read_oob) (struct mtd_info *mtd, loff_t from, + struct mtd_oob_ops *ops); + int (*_write_oob) (struct mtd_info *mtd, loff_t to, + struct mtd_oob_ops *ops); + int (*_block_isbad) (struct mtd_info *mtd, loff_t ofs); + int (*_block_markbad) (struct mtd_info *mtd, loff_t ofs); +}; + +struct flash_regop_info { + void *priv; + u16 cmd; + int nr_cmd; + u32 addrl; + u32 addrh; + int addr_cycle; + u8 *buf; + int sz_buf; + int dummy; + bool wait_ready; /* only for nand, not for spi-nand */ +}; + +struct flash_regop { + void *priv; + int (*write_reg)(struct flash_regop_info *info); + int (*read_reg)(struct flash_regop_info *info); + int (*read_sr)(struct flash_regop *regop); + int (*wait_device_ready)(struct flash_regop *regop); +}; + +struct flash_regop_intf { + char name[8]; + int sz_buf; + struct flash_regop *regop; + + void *args; + int (*open)(void *args); + int (*release)(void *args); + + void *priv; +}; + +int regop_intf_create(struct flash_regop_intf *intf); + +void regop_intf_destory(struct flash_regop_intf *intf); + +struct spinand_driver { + u8 id[FLASH_ID_LEN]; + int id_len; + + /* read spi-nand feature or status */ + int (*get_feature)(struct flash_regop *regop, int addr); + + /* set spi-nand feature or status */ + int (*set_feature)(struct flash_regop *regop, int addr, u8 value); + + /* + * disable spi-nand chip internal ecc + * set some special register for some special nand chip. + */ + void (*chip_prepare)(struct flash_regop *regop); +}; + +struct spinor_driver { + /* spi-nor quad pin transmit enable. */ + int (*quad_enable)(struct flash_regop *regop); + + /* spi-nor quad pin transmit disable */ + int (*quad_disable)(struct flash_regop *regop); + + /* set spi-nor write enable */ + int (*write_enable)(struct flash_regop *regop); + + /* spi-nor entry 4 address mode, default is 3 address mode */ + int (*entry_4addr)(struct flash_regop *regop); + + /* spi-nor exist 4 address mode, default is 3 address mode */ + int (*exit_4addr)(struct flash_regop *regop); +}; + +struct spinor_flash_dev { + const char *name; + u8 id[FLASH_ID_LEN]; + int id_len; + int chipsize; + int erasesize; +}; + +struct nand_read_retry_info { + struct flash_regop *drv; + u8 *buf; /* for hynix otp data */ + int nr_buf; +}; + +struct nand_read_retry { + int type; + int count; + int (*setup)(struct nand_read_retry_info *info, int retry_mode); + int (*entry)(struct nand_read_retry_info *info); + int (*exit)(struct nand_read_retry_info *info); +}; + +u32 nand_get_clock(struct nand_chip_clock *clks, u8 *id, int id_len); + +struct spinand_driver *spinand_get_drvier(u8 *id, int id_len); + +struct nand_read_retry *nand_get_read_retry(int read_retry_type); + +struct nand_ctrl_info *nand_get_ctrl_info(struct nand_ctrl_info *info, + int pagesize, int ecc_strength); + +struct spinor_flash_dev *spinor_match_id(u8 *id, int id_len); + +struct spinor_driver *spinor_get_driver(u8 *id, int id_len); + +struct spinor_chip_xfer *spinor_get_xfer(struct spinor_chip_xfer *xfer, + u8 *id, int id_len); + +struct spinand_chip_xfer *spinand_get_xfer(struct spinand_chip_xfer *xfer, + u8 *id, int id_len); + +extern struct nand_flash_dev nand_flash_ids_hisi[]; +extern struct nand_flash_dev spinand_flash_ids_hisi[]; + +int flash_regop_info_dump(struct flash_regop_info *info, char *buf, int sz_buf); + +/******************************************************************************/ + +#endif /* HIFLASH_H*/ diff --git a/drivers/mtd/hisilicon/hifmc100/Makefile b/drivers/mtd/hisilicon/hifmc100/Makefile new file mode 100644 index 000000000..1b2ce218f --- /dev/null +++ b/drivers/mtd/hisilicon/hifmc100/Makefile @@ -0,0 +1,14 @@ + +obj-y += hifmc100_host.o +obj-$(CONFIG_MTD_HIFMC100_SPINOR) += hifmc100_spinor.o +ifneq ($(CONFIG_MTD_HIFMC100_NAND)_$(CONFIG_MTD_HIFMC100_SPINAND),_) +obj-y += hifmc100_xnand.o +endif + +obj-$(CONFIG_ARCH_S40) += hifmc100_clock_hi3716mv410.o +obj-$(CONFIG_ARCH_HI3716MV420N) += hifmc100_clock_hi3716mv410.o +obj-$(CONFIG_ARCH_HI3798CV2X) += hifmc100_clock_hi3798cv2x.o +obj-$(CONFIG_ARCH_HI3798MV2X) += hifmc100_clock_hi3798mv2x.o +obj-$(CONFIG_ARCH_HI3796MV2X) += hifmc100_clock_hi3796mv2x.o + +ccflags-y += -I./drivers/mtd/hisilicon diff --git a/drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3716mv410.c b/drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3716mv410.c new file mode 100644 index 000000000..56969d28e --- /dev/null +++ b/drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3716mv410.c @@ -0,0 +1,69 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.25 + * +******************************************************************************/ + +#include +#include +/******************************************************************************/ + +struct nand_chip_clock hifmc100_nand_rwlatch[] = { + /* id_len == 0, means default clock, don't remove. */ + { .id = {0x00}, .id_len = 0, .value = 0x457, } +}; +/******************************************************************************/ + +struct spinand_chip_xfer hifmc100_spinand_chip_xfer[] = { + {"AFS4GQ4UAGWC4", {0xc2, 0xd4}, 2, 4, _24MHz}, + {"AFS2GQ4UADWC2", {0xc1, 0x52}, 2, 4, _50MHz}, + {"AFS1GQ4UACWC2", {0xc1, 0x51}, 2, 4, _50MHz}, + {"AFS1GQ4UAAWC2", {0xc8, 0x31}, 2, 4, _50MHz}, + {"GD5F2GQ4UAYIG", {0xC8, 0xF2}, 2, 4, _50MHz}, + {"F50L1G41A/PSU1GS20BN", {0xC8, 0x21}, 2, 4, _24MHz}, + {"HYF1GQ4UAACAE", {0xC9, 0x51}, 2, 4, _24MHz}, + {"ATO25D1GA", {0x9B, 0x12}, 2, 4, _24MHz}, + {"MX35LF1GE4AB-Z2I", {0xC2, 0x12}, 2, 4, _24MHz}, + {"W25N01GV", {0xEF, 0xAA, 0x21}, 3, 4, _24MHz}, + {"FM25G01A", {0xA1, 0xE1}, 2, 4, _24MHz}, + {"HYF1GQ4UAACA6-C", {0xC9, 0x31}, 2, 4, _24MHz}, + /* id_len == 0, means default value, don't remove. */ + {NULL, {0x00}, 0, 4, _100MHz}, +}; +/******************************************************************************/ + +struct spinor_chip_xfer hifmc100_spinor_chip_xfer[] = { + { "MX25L8006E", {0xc2, 0x20, 0x14}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), }, + + { "MX25L6406E", {0xc2, 0x20, 0x17}, 3, + /* .read = SPINOR_XFER(SPINOR_OP_READ_QUAD, 1, 0, 0), */ }, + + { "GD25Q128", {0xC8, 0x40, 0x18}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + + { "GD25Q64", {0xC8, 0x40, 0x17}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + + { "GD25Q32", {0xC8, 0x40, 0x16}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + + /* id_len == 0, means default value, don't remove. */ + { NULL, {0}, 0, NULL } +}; diff --git a/drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3796mv2x.c b/drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3796mv2x.c new file mode 100644 index 000000000..5169fcc6a --- /dev/null +++ b/drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3796mv2x.c @@ -0,0 +1,70 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.25 + * +******************************************************************************/ + +#include +#include +/******************************************************************************/ + +struct nand_chip_clock hifmc100_nand_rwlatch[] = { + /* id_len == 0, means default clock, don't remove. */ + { .id = {0x00}, .id_len = 0, .value = 0x457, } +}; +/******************************************************************************/ + +struct spinand_chip_xfer hifmc100_spinand_chip_xfer[] = { + {"AFS4GQ4UAGWC4", {0xc2, 0xd4}, 2, 4, _50MHz}, + {"AFS2GQ4UADWC2", {0xc1, 0x52}, 2, 4, _50MHz}, + {"AFS1GQ4UACWC2", {0xc1, 0x51}, 2, 4, _50MHz}, + {"AFS1GQ4UAAWC2", {0xc8, 0x31}, 2, 4, _50MHz}, + {"GD5F2GQ4UAYIG", {0xC8, 0xF2}, 2, 4, _50MHz}, + + /* id_len == 0, means default value, don't remove. */ + {NULL, {0x00}, 0, 4, _100MHz}, +}; +/******************************************************************************/ + +struct spinor_chip_xfer hifmc100_spinor_chip_xfer[] = { + { "MX25L8006E", {0xc2, 0x20, 0x14}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), }, + + { "MX25L6406E", {0xc2, 0x20, 0x17}, 3, + /* .read = SPINOR_XFER(SPINOR_OP_READ_QUAD, 1, 0, 0), */ }, + + { "MX25L6456F", {0xc2, 0x26, 0x17}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + + { "MX25L12835F", {0xc2, 0x20, 0x18}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + + { "GD25Q128", {0xC8, 0x40, 0x18}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + { "GD25Q64", {0xC8, 0x40, 0x17}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + + { "GD25Q32", {0xC8, 0x40, 0x16}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + + /* id_len == 0, means default value, don't remove. */ + { NULL, {0}, 0, NULL } +}; diff --git a/drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3798cv2x.c b/drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3798cv2x.c new file mode 100644 index 000000000..6475a326a --- /dev/null +++ b/drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3798cv2x.c @@ -0,0 +1,71 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.25 + * +******************************************************************************/ + +#include +#include +/******************************************************************************/ + +struct nand_chip_clock hifmc100_nand_rwlatch[] = { + /* id_len == 0, means default clock, don't remove. */ + { .id = {0x00}, .id_len = 0, .value = 0x457, } +}; +/******************************************************************************/ + +struct spinand_chip_xfer hifmc100_spinand_chip_xfer[] = { + {"AFS4GQ4UAGWC4", {0xc2, 0xd4}, 2, 4, _50MHz}, + {"AFS2GQ4UADWC2", {0xc1, 0x52}, 2, 4, _50MHz}, + {"AFS1GQ4UACWC2", {0xc1, 0x51}, 2, 4, _50MHz}, + {"AFS1GQ4UAAWC2", {0xc8, 0x31}, 2, 4, _50MHz}, + {"GD5F2GQ4UAYIG", {0xC8, 0xF2}, 2, 4, _50MHz}, + {"GD5F1GQ4UBYIG", {0xC8, 0xD1}, 2, 4, _50MHz}, + {"W25N01GV", {0xEF, 0xAA, 0x21}, 3, 4, _50MHz}, + + /* only read supports quad mode, program supports standard mode. */ + {"TC58CVG0S3HRAIF", {0x98, 0xC2}, 2, 1, _50MHz}, + /* id_len == 0, means default value, don't remove. */ + {NULL, {0x00}, 0, 4, _100MHz}, +}; +/******************************************************************************/ + +struct spinor_chip_xfer hifmc100_spinor_chip_xfer[] = { + { "MX25L8006E", {0xc2, 0x20, 0x14}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), }, + + { "MX25L6406E", {0xc2, 0x20, 0x17}, 3, + /* .read = SPINOR_XFER(SPINOR_OP_READ_QUAD, 1, 0, 0), */ }, + + { "KH25L3255E", {0xC2, 0x9E, 0x16}, 3, + /* .read = SPIFLASH_XFER(SPINOR_OP_READ, 1, 0, 0),*/ + /* .write = SPIFLASH_XFER(SPINOR_OP_PP, 0, 256, 0),*/}, + + { "GD25Q128", {0xC8, 0x40, 0x18}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + + { "GD25Q64", {0xC8, 0x40, 0x17}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + + { "GD25Q32", {0xC8, 0x40, 0x16}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + + /* id_len == 0, means default value, don't remove. */ + { NULL, {0}, 0, NULL } +}; diff --git a/drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3798mv2x.c b/drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3798mv2x.c new file mode 100644 index 000000000..969d963b9 --- /dev/null +++ b/drivers/mtd/hisilicon/hifmc100/hifmc100_clock_hi3798mv2x.c @@ -0,0 +1,63 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.25 + * +******************************************************************************/ + +#include +#include +/******************************************************************************/ + +struct nand_chip_clock hifmc100_nand_rwlatch[] = { + /* id_len == 0, means default clock, don't remove. */ + { .id = {0x00}, .id_len = 0, .value = 0x457, } +}; +/******************************************************************************/ + +struct spinand_chip_xfer hifmc100_spinand_chip_xfer[] = { + {"AFS4GQ4UAGWC4", {0xc2, 0xd4}, 2, 4, _50MHz}, + {"AFS2GQ4UADWC2", {0xc1, 0x52}, 2, 4, _50MHz}, + {"AFS1GQ4UACWC2", {0xc1, 0x51}, 2, 4, _50MHz}, + {"AFS1GQ4UAAWC2", {0xc8, 0x31}, 2, 4, _50MHz}, + {"GD5F2GQ4UAYIG", {0xC8, 0xF2}, 2, 4, _50MHz}, + + /* id_len == 0, means default value, don't remove. */ + {NULL, {0x00}, 0, 4, _100MHz}, +}; +/******************************************************************************/ + +struct spinor_chip_xfer hifmc100_spinor_chip_xfer[] = { + { "MX25L8006E", {0xc2, 0x20, 0x14}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), }, + + { "MX25L6406E", {0xc2, 0x20, 0x17}, 3, + /* .read = SPINOR_XFER(SPINOR_OP_READ_QUAD, 1, 0, 0), */ }, + + { "GD25Q128", {0xC8, 0x40, 0x18}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + + { "GD25Q64", {0xC8, 0x40, 0x17}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + + { "GD25Q32", {0xC8, 0x40, 0x16}, 3, + .read = SPIFLASH_XFER(SPINOR_OP_READ_QUAD, 1, 0, 80), + .write = SPIFLASH_XFER(SPINOR_OP_PP_QUAD, 0, 256, 80),}, + + /* id_len == 0, means default value, don't remove. */ + { NULL, {0}, 0, NULL } +}; diff --git a/drivers/mtd/hisilicon/hifmc100/hifmc100_host.c b/drivers/mtd/hisilicon/hifmc100/hifmc100_host.c new file mode 100644 index 000000000..e49427e18 --- /dev/null +++ b/drivers/mtd/hisilicon/hifmc100/hifmc100_host.c @@ -0,0 +1,586 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.25 + * +******************************************************************************/ + +#define DEVNAME "hifmc100" +#define pr_fmt(fmt) DEVNAME": " fmt + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "hifmc100_reg.h" +#include "hifmc100_host.h" + +/*****************************************************************************/ +#define REG_BASE_CRG 0xF8A22000 +#if defined(CONFIG_ARCH_S40) || defined(CONFIG_ARCH_HI3716MV420N) +# define REG_PERI_CRG_FMC 0x005C +#else +# define REG_PERI_CRG_FMC 0x0380 +#endif +/******************************************************************************/ + +static struct hifmc_host *hifmc100_get_resource(struct platform_device *pdev) +{ + struct hifmc_host *host; + struct resource *res; + + host = devm_kzalloc(&pdev->dev, sizeof(struct hifmc_host), GFP_KERNEL); + if (!host) { + pr_err("failed to allocate host structure.\n"); + return NULL; + } + + platform_set_drvdata(pdev, host); + + host->dev = &pdev->dev; + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + host->regbase = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR_OR_NULL(host->regbase)) { + pr_err("%s: regbase ioremap fail.\n", __func__); + return NULL; + } + + res = platform_get_resource(pdev, IORESOURCE_MEM, 1); + host->iobase = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR_OR_NULL(host->iobase)) { + pr_err("%s: read io addr ioremap fail.\n", __func__); + return NULL; + } + host->sz_iobase = res->end - res->start + 1; + + host->irq = platform_get_irq(pdev, 0); + if (host->irq < 0) { + pr_err("no irq defined\n"); + return NULL; + } + + host->clk = devm_clk_get(&pdev->dev, "clk"); + if (IS_ERR_OR_NULL(host->clk)) { + pr_err("get clock fail.\n"); + return NULL; + } + + return host; +} +/******************************************************************************/ + +static void hifmc100_set_ifmode(struct hifmc_host *host, int ifmode) +{ + u32 regval; + + if (host->ifmode == ifmode) + return; + + host->ifmode = ifmode; + + hifmc_write(host, 0, HIFMC100_DMA_SADDR_OOB); + hifmc_write(host, 0, HIFMC100_DMA_SADDR_D0); + hifmc_write(host, 0, HIFMC100_DMA_SADDR_D1); + hifmc_write(host, 0, HIFMC100_DMA_SADDR_D2); + hifmc_write(host, 0, HIFMC100_DMA_SADDR_D3); + + if (host->ifmode == HIFMC_IFMODE_INVALID) + return; + + regval = hifmc_read(host, HIFMC100_CFG); + regval &= ~HIFMC100_CFG_FLASH_SEL_MASK; + + switch (host->ifmode) { + case HIFMC_IFMODE_SPINOR: + regval |= HIFMC100_CFG_FLASH_SEL_SPINOR; + /* dynamic clock, in every read/write/erase operation */ + break; + case HIFMC_IFMODE_NAND: + regval |= HIFMC100_CFG_FLASH_SEL_NAND; + clk_set_rate(host->clk, host->nand->clk_rate); + break; + case HIFMC_IFMODE_SPINAND: + regval |= HIFMC100_CFG_FLASH_SEL_SPINAND; + clk_set_rate(host->clk, host->spinand->clk_rate); + break; + default: + BUG_ON(1); + } + + host->fmc_crg_value = readl(host->fmc_crg_addr); + + /* change to normal mode. */ + regval |= HIFMC100_CFG_OP_MODE_NORMAL; + hifmc_write(host, regval, HIFMC100_CFG); + + /* sleep 1ms, change ifmode need delay. */ + msleep(1); +} +/******************************************************************************/ + +static void hifmc100_irq_enable(struct hifmc_host *host) +{ + /* clear all interrupt */ + hifmc_write(host, HIFMC100_INT_CLR_ALL, HIFMC100_INT_CLR); + + init_completion(&host->dma_done); + + /* only enable dma done interrupt. */ + hifmc_write(host, HIFMC100_INT_EN_OP_DONE, HIFMC100_INT_EN); +} +/******************************************************************************/ + +static int hifmc100_wait_dma_finish(struct hifmc_host *host) +{ + int ret; + + ret = wait_for_completion_timeout(&host->dma_done, + msecs_to_jiffies(2000)); + if (!ret) { + pr_err("wait dma transfer complete timeout, hifmc100 register:\n"); + print_hex_dump(KERN_ERR, "", DUMP_PREFIX_OFFSET, 16, 4, + host->regbase, 0x200, false); + } + + return ret; +} +/*****************************************************************************/ + +static irqreturn_t hifmc100_irq_handle(int irq, void *dev_id) +{ + struct hifmc_host *host = (struct hifmc_host *)dev_id; + + host->intr_status = hifmc_read(host, HIFMC100_INT); + + /* clear opdone interrupt */ + if (host->intr_status & HIFMC100_INT_OP_DONE) { + hifmc_write(host, HIFMC100_INT_CLR_OP_DONE, HIFMC100_INT_CLR); + complete(&host->dma_done); + } + + return IRQ_HANDLED; +} +/******************************************************************************/ + +static int hifmc100_wait_host_ready(struct hifmc_host *host) +{ + u32 regval; + ulong deadline = jiffies + 4 * HZ; + + do { + regval = hifmc_read(host, HIFMC100_OP); + if (!(regval & HIFMC100_OP_REG_OP_START)) + return 0; + } while (!time_after_eq(jiffies, deadline)); + + pr_err("wait host ready timeout, hifmc100 register:\n"); + print_hex_dump(KERN_ERR, "", DUMP_PREFIX_OFFSET, 16, 4, + host->regbase, 0x200, false); + + return -1; +} +/******************************************************************************/ + +int hifmc100_write_reg(struct flash_regop_info *info) +{ + u32 regval; + u32 cfg_val; + u32 global_cfg_val; + struct hifmc_host *hifmc = (struct hifmc_host *)info->priv; + + BUG_ON(!(hifmc->chipselect == 0 || hifmc->chipselect == 1)); + + /* set chip select and address number */ + regval = 0; + if (hifmc->chipselect) + regval |= HIFMC100_OP_CFG_FM_CS; + regval |= HIFMC100_OP_CFG_ADDR_NUM(info->addr_cycle); + regval |= HIFMC100_OP_CFG_DUMMY_NUM(info->dummy); + hifmc_write(hifmc, regval, HIFMC100_OP_CFG); + + /* disable ecc */ + regval = cfg_val = hifmc_read(hifmc, HIFMC100_CFG); + regval &= ~HIFMC100_CFG_ECC_TYPE_MASK; + hifmc_write(hifmc, regval, HIFMC100_CFG); + + hifmc_write(hifmc, 0, HIFMC100_OP_PARA); + + /* disable randomizer */ + regval = global_cfg_val = hifmc_read(hifmc, HIFMC100_GLOBAL_CFG); + regval &= ~HIFMC100_GLOBAL_CFG_RANDOMIZER_EN; + hifmc_write(hifmc, regval, HIFMC100_GLOBAL_CFG); + + /* set command */ + hifmc_write(hifmc, (u32)info->cmd, HIFMC100_CMD); + + /* set address */ + if (info->addr_cycle > 0) { + if (info->addr_cycle > 4) + hifmc_write(hifmc, info->addrh, HIFMC100_ADDRH); + else + hifmc_write(hifmc, 0, HIFMC100_ADDRH); + + hifmc_write(hifmc, info->addrl, HIFMC100_ADDRL); + } else { + /* no address parameter */ + hifmc_write(hifmc, 0, HIFMC100_ADDRH); + hifmc_write(hifmc, 0, HIFMC100_ADDRL); + } + + regval = HIFMC100_OP_REG_OP_START; + + if (info->dummy) + regval |= HIFMC100_OP_DUMMY_EN; + + /* only nand have wait ready feature, spinand/spinor not support */ + if (info->wait_ready) + regval |= HIFMC100_OP_WAIT_READY_EN; + + if (info->nr_cmd >= 1) { + regval |= HIFMC100_OP_CMD1_EN; + if (info->nr_cmd >= 2) + regval |= HIFMC100_OP_CMD2_EN; + } + + /* set data */ + if (info->sz_buf) { + if (info->sz_buf > hifmc->sz_iobase) + info->sz_buf = hifmc->sz_iobase; + regval |= HIFMC100_OP_WRITE_DATA_EN; + if (info->buf) + memcpy(hifmc->iobase, info->buf, info->sz_buf); + } + + hifmc_write(hifmc, HIFMC100_DATA_NUM_CNT(info->sz_buf), + HIFMC100_DATA_NUM); + + if (info->addr_cycle) + regval |= HIFMC100_OP_ADDR_EN; + + hifmc_write(hifmc, regval, HIFMC100_OP); + + hifmc100_wait_host_ready(hifmc); + + /* restore ecc configure for debug */ + hifmc_write(hifmc, cfg_val, HIFMC100_CFG); + /* restore randomizer config for debug */ + hifmc_write(hifmc, global_cfg_val, HIFMC100_GLOBAL_CFG); + + return 0; +} +/******************************************************************************/ + +int hifmc100_read_reg(struct flash_regop_info *info) +{ + u32 regval; + u32 cfg_val; + u32 global_cfg_val; + struct hifmc_host *hifmc = (struct hifmc_host *)info->priv; + + BUG_ON(!(hifmc->chipselect == 0 || hifmc->chipselect == 1)); + + /* set chip select, address number, dummy */ + regval = 0; + if (hifmc->chipselect) + regval |= HIFMC100_OP_CFG_FM_CS; + regval |= HIFMC100_OP_CFG_ADDR_NUM(info->addr_cycle); + regval |= HIFMC100_OP_CFG_DUMMY_NUM(info->dummy); + hifmc_write(hifmc, regval, HIFMC100_OP_CFG); + + /* disable ecc */ + regval = cfg_val = hifmc_read(hifmc, HIFMC100_CFG); + regval &= ~HIFMC100_CFG_ECC_TYPE_MASK; + hifmc_write(hifmc, regval, HIFMC100_CFG); + + hifmc_write(hifmc, 0, HIFMC100_OP_PARA); + + /* disable randomizer */ + regval = global_cfg_val = hifmc_read(hifmc, HIFMC100_GLOBAL_CFG); + regval &= ~HIFMC100_GLOBAL_CFG_RANDOMIZER_EN; + hifmc_write(hifmc, regval, HIFMC100_GLOBAL_CFG); + + /* set command */ + hifmc_write(hifmc, (u32)info->cmd, HIFMC100_CMD); + + /* set address */ + if (info->addr_cycle > 0) { + if (info->addr_cycle > 4) + hifmc_write(hifmc, info->addrh, HIFMC100_ADDRH); + else + hifmc_write(hifmc, 0, HIFMC100_ADDRH); + + hifmc_write(hifmc, info->addrl, HIFMC100_ADDRL); + } else { + hifmc_write(hifmc, 0, HIFMC100_ADDRH); + hifmc_write(hifmc, 0, HIFMC100_ADDRL); + } + + /* set data length */ + if (info->sz_buf > hifmc->sz_iobase) + info->sz_buf = hifmc->sz_iobase; + + hifmc_write(hifmc, HIFMC100_DATA_NUM_CNT(info->sz_buf), + HIFMC100_DATA_NUM); + + regval = HIFMC100_OP_REG_OP_START; + + if (info->dummy) + regval |= HIFMC100_OP_DUMMY_EN; + + /* only nand have wait ready feature, spinand/spinor not support */ + if (info->wait_ready) + regval |= HIFMC100_OP_WAIT_READY_EN; + + if (info->nr_cmd >= 1) { + regval |= HIFMC100_OP_CMD1_EN; + if (info->nr_cmd >= 2) + regval |= HIFMC100_OP_CMD2_EN; + } + + if (info->sz_buf) + regval |= HIFMC100_OP_READ_DATA_EN; + + if (info->addr_cycle) + regval |= HIFMC100_OP_ADDR_EN; + + hifmc_write(hifmc, regval, HIFMC100_OP); + + hifmc100_wait_host_ready(hifmc); + + if (info->sz_buf && info->buf) + memcpy(info->buf, hifmc->iobase, info->sz_buf); + + /* restore ecc configure for debug */ + hifmc_write(hifmc, cfg_val, HIFMC100_CFG); + /* restore randomizer config for debug */ + hifmc_write(hifmc, global_cfg_val, HIFMC100_GLOBAL_CFG); + + return 0; +} +/******************************************************************************/ + +static void hifmc100_controller_init(struct hifmc_host *host) +{ + u32 regval; + + /* disable all interrupt */ + regval = hifmc_read(host, HIFMC100_INT_EN); + regval &= ~HIFMC100_INT_EN_ALL; + hifmc_write(host, regval, HIFMC100_INT_EN); + + /* clean all interrupt */ + hifmc_write(host, HIFMC100_INT_CLR_ALL, HIFMC100_INT_CLR); + + /* configure dma burst width */ + hifmc_write(host, 0xF, HIFMC100_DMA_AHB_CTRL); + + /* restore default value. */ + hifmc_write(host, 0xC4, HIFMC100_GLOBAL_CFG); + + /* set nand/spinand default value */ + hifmc_write(host, 0xaaa, HIFMC100_PND_PWIDTH_CFG); + + hifmc_write(host, 0x6F, HIFMC100_TIMING_SPI_CFG); +} +/******************************************************************************/ + +static int hifmc100_driver_probe(struct platform_device *pdev) +{ + int ret; + u32 regval; + struct hifmc_host *host; + + host = hifmc100_get_resource(pdev); + if (!host) + return -ENODEV; + + clk_prepare_enable(host->clk); + + regval = hifmc_read(host, HIFMC100_VERSION); + if (regval != HIFMC100_VERSION_VALUE) + return -ENODEV; + + pr_notice("Found flash memory controller hifmc100.\n"); + + hifmc100_controller_init(host); + + host->ifmode = HIFMC_IFMODE_INVALID; + host->set_ifmode = hifmc100_set_ifmode; + host->irq_enable = hifmc100_irq_enable; + host->wait_dma_finish = hifmc100_wait_dma_finish; + host->wait_host_ready = hifmc100_wait_host_ready; + + host->fmc_crg_addr = ioremap_nocache(REG_BASE_CRG + REG_PERI_CRG_FMC, sizeof(u32)); + if (!host->fmc_crg_addr) { + pr_err("fmc_crg_addr ioremap fail.\n"); + ret = -ENODEV; + goto fail; + } + + /* + * get ecctype and pagesize from controller, + * controller should not reset after boot. + */ + regval = hifmc_read(host, HIFMC100_CFG); + host->reg.fmc_cfg_ecc_type = HIFMC100_CFG_ECC_TYPE_MASK & regval; + host->reg.fmc_cfg_page_size = HIFMC100_CFG_PAGE_SIZE_MASK & regval; + + mutex_init(&host->lock); + + ret = request_irq(host->irq, hifmc100_irq_handle, 0, DEVNAME"-irq", host); + if (ret) { + pr_err("unable to request irq %d\n", host->irq); + ret = -EIO; + goto fail; + } + +#ifdef CONFIG_MTD_HIFMC100_SPINOR + ret = hifmc100_spinor_probe(pdev, host); + if (ret) + pr_info("no found spi-nor device.\n"); +#endif + +#ifdef CONFIG_MTD_HIFMC100_NAND + ret = hifmc100_xnand_probe(pdev, host, HIFMC_IFMODE_NAND); + if (ret) + pr_info("no found nand device.\n"); +#endif + +#ifdef CONFIG_MTD_HIFMC100_SPINAND + ret = hifmc100_xnand_probe(pdev, host, HIFMC_IFMODE_SPINAND); + if (ret) + pr_info("no found spi-nand device.\n"); +#endif + if (!host->spinor && !host->nand && !host->spinand) { + clk_disable(host->clk); + ret = -ENODEV; + goto fail; + } + + return 0; + +fail: + iounmap(host->fmc_crg_addr); + + mutex_destroy(&host->lock); + + return ret; +} +/*****************************************************************************/ +#define DEV_FUN(_host, _dev, _fun) \ + if (_host->_dev && _host->_dev->_fun) _host->_dev->_fun(_host->_dev) + +static void hifmc100_driver_shutdown(struct platform_device *pdev) +{ + struct hifmc_host *host = platform_get_drvdata(pdev); + if (!host) + return; + + DEV_FUN(host, spinor, shutdown); + DEV_FUN(host, nand, shutdown); + DEV_FUN(host, spinand, shutdown); +} +/*****************************************************************************/ +#ifdef CONFIG_PM +static int hifmc100_driver_suspend(struct platform_device *pdev, + pm_message_t state) +{ + struct hifmc_host *host = platform_get_drvdata(pdev); + if (!host) + return -EINVAL; + + DEV_FUN(host, spinor, suspend); + DEV_FUN(host, nand, suspend); + DEV_FUN(host, spinand, suspend); + + return 0; +} +/*****************************************************************************/ + +static int hifmc100_driver_resume(struct platform_device *pdev) +{ + struct hifmc_host *host = platform_get_drvdata(pdev); + if (!host) + return -EINVAL; + + hifmc100_controller_init(host); + + DEV_FUN(host, spinor, resume); + DEV_FUN(host, nand, resume); + DEV_FUN(host, spinand, resume); + + return 0; +} +/*****************************************************************************/ +#else +# define hifmc100_driver_suspend NULL +# define hifmc100_driver_resume NULL +#endif /* CONFIG_PM */ +/*****************************************************************************/ + +static const struct of_device_id +hisilicon_hifmc100_match[] __maybe_unused = { + { .compatible = "hisilicon.hifmc100", }, + {}, +}; +MODULE_DEVICE_TABLE(of, hisilicon_hifmc100_match); + +static struct platform_driver hifmc100_pltm_driver = { + .probe = hifmc100_driver_probe, + .shutdown = hifmc100_driver_shutdown, + .suspend = hifmc100_driver_suspend, + .resume = hifmc100_driver_resume, + .driver = { + .name = DEVNAME, + .owner = THIS_MODULE, + .of_match_table = of_match_ptr(hisilicon_hifmc100_match), + }, +}; +/*****************************************************************************/ + +static int __init hifmc100_module_init(void) +{ + pr_info("registerd new interface driver hifmc100.\n"); + return platform_driver_register(&hifmc100_pltm_driver); +} +module_init(hifmc100_module_init); + +/*****************************************************************************/ + +static void __exit hifmc100_module_exit(void) +{ + platform_driver_unregister(&hifmc100_pltm_driver); +} +module_exit(hifmc100_module_exit); + +/******************************************************************************/ + +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Yan Jiantao"); +MODULE_AUTHOR("Cai Zhiyong"); +MODULE_DESCRIPTION("Hisilicon Flash Controller V100 Device Driver"); diff --git a/drivers/mtd/hisilicon/hifmc100/hifmc100_host.h b/drivers/mtd/hisilicon/hifmc100/hifmc100_host.h new file mode 100644 index 000000000..03e2a7f4e --- /dev/null +++ b/drivers/mtd/hisilicon/hifmc100/hifmc100_host.h @@ -0,0 +1,200 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.29 + * +******************************************************************************/ + +#ifndef HIFMC100_HOSTH +#define HIFMC100_HOSTH +/******************************************************************************/ + +#include +#include +#include + +struct hifmc_host; + +struct hifmc_reg { + u32 op_cfg; + u32 cmd; + u32 op_ctrl; + + int clock; + int dummy; +}; + +struct hifmc_xnand { + int ifmode; + char *name; + struct mtd_info mtd[1]; + struct nand_chip chip[1]; + struct device *dev; + + struct cmdfunc_data cmdfunc[1]; /* mtd operation function parameter */ + struct mtd_func mtd_func[1]; /* mtd call function */ + + struct hifmc_host *host; + + struct nand_ctrl_info *ctrl_info; /* nand controller information */ + + struct nand_read_retry *read_retry; /* read retry function */ + + struct flash_regop regop[1]; + + struct spinand_driver *spinand_drv; + + int ecc_strength; + int pagesize; + int oobsize; + int blocksize; + int page_per_block; + + struct { + u32 fmc_cfg_ecc_type; + u32 fmc_cfg_page_size; + struct hifmc_reg read; + struct hifmc_reg write; + u32 fmc_pnd_pwidth_cfg; + } reg; + + bool randomizer_en; + + bool is_empty_page; + bool is_bad_block; + bool is_uc_err; + + char *pagebuf, *org_pagebuf; + char *oobbuf; + + ulong clk_rate; + + int erase_addr_cycle; /* erase addr cycle */ + int read_addr_cycle; /* read/write addr cycle */ + union { + u8 manuf; + u8 id[8]; + }; + + u8 *(*read_raw_bbm)(struct hifmc_xnand *xnand); + void (*cmd_readid)(struct hifmc_xnand *xnand); + void (*cmd_reset)(struct hifmc_xnand *xnand); + void (*cmd_erase)(struct hifmc_xnand *xnand); + + void (*shutdown)(struct hifmc_xnand *xnand); + void (*suspend)(struct hifmc_xnand *xnand); + void (*resume)(struct hifmc_xnand *xnand); + + struct flash_regop_intf regop_intf; + + struct flash_stats *stats; + + struct flash_cache *cache; +}; + +struct hifmc_spinor { + struct mtd_info mtd[1]; + struct device *dev; + + char *name; + int nr_chips; + u32 chipsize; /* one chip size, when nr_chips > 1 */ + int chipsize_shift; + int chipsize_mask; + u32 erasesize; + + u32 addr_cycle; + + int chipselect[HIFMC100_OP_CFG_NUM_CS]; + +#define HIFMC100_SPINOR_DMA_SIZE (4096) +#define HIFMC100_SPINOR_DMA_SIZE_MASK (HIFMC100_SPINOR_DMA_SIZE - 1) + void *dma_vaddr; + dma_addr_t dma_paddr; + + struct flash_regop regop[1]; + + struct spinor_driver *drv; + + struct { + struct hifmc_reg read; + struct hifmc_reg write; + struct hifmc_reg erase; + } xfer; + + struct hifmc_host *host; + + void (*shutdown)(struct hifmc_spinor *spinor); + void (*suspend)(struct hifmc_spinor *spinor); + void (*resume)(struct hifmc_spinor *spinor); + + struct flash_regop_intf regop_intf; +}; +/******************************************************************************/ + +struct hifmc_host { + void __iomem *regbase; + void __iomem *iobase; + int sz_iobase; + + u32 fmc_crg_value; + void __iomem *fmc_crg_addr; + struct mutex lock; + struct device *dev; + unsigned int irq; + struct completion dma_done; + struct clk *clk; + + u32 intr_status; + + int ifmode; + void (*set_ifmode)(struct hifmc_host *host, int ifmode); + void (*irq_enable)(struct hifmc_host *host); + int (*wait_dma_finish)(struct hifmc_host *host); + int (*wait_host_ready)(struct hifmc_host *host); + int chipselect; + + struct { + u32 fmc_cfg_ecc_type; + u32 fmc_cfg_page_size; + } reg; + + struct hifmc_xnand *nand; + struct hifmc_xnand *spinand; + struct hifmc_spinor *spinor; +}; + +#define HIFMC_IFMODE_INVALID 0 +#define HIFMC_IFMODE_SPINOR 1 +#define HIFMC_IFMODE_NAND 2 +#define HIFMC_IFMODE_SPINAND 3 + +int hifmc100_write_reg(struct flash_regop_info *info); + +int hifmc100_read_reg(struct flash_regop_info *info); + +int hifmc100_spinor_probe(struct platform_device *pdev, struct hifmc_host *host); + +int hifmc100_xnand_probe(struct platform_device *pdev, struct hifmc_host *host, + int ifmode); + +extern struct nand_chip_clock hifmc100_nand_rwlatch[]; + +extern struct spinand_chip_xfer hifmc100_spinand_chip_xfer[]; + +extern struct spinor_chip_xfer hifmc100_spinor_chip_xfer[]; + +/******************************************************************************/ +#endif /* HIFMC100_HOSTH */ diff --git a/drivers/mtd/hisilicon/hifmc100/hifmc100_reg.h b/drivers/mtd/hisilicon/hifmc100/hifmc100_reg.h new file mode 100644 index 000000000..8c952c847 --- /dev/null +++ b/drivers/mtd/hisilicon/hifmc100/hifmc100_reg.h @@ -0,0 +1,201 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.29 + * +******************************************************************************/ + +#ifndef HIFMC100_REG_H +#define HIFMC100_REG_H + +/*****************************************************************************/ +#define HIFMC100_CFG 0x00 +#define HIFMC100_CFG_SPI_NOR_ADDR_MODE_4B 0x400 + +#define HIFMC100_CFG_ECC_TYPE_MASK 0xE0 +#define HIFMC100_CFG_ECC_TYPE_NONE 0x00 +#define HIFMC100_CFG_ECC_TYPE_8BIT 0x20 +#define HIFMC100_CFG_ECC_TYPE_16BIT 0x40 +#define HIFMC100_CFG_ECC_TYPE_24BIT 0x60 +#define HIFMC100_CFG_ECC_TYPE_28BIT 0x80 +#define HIFMC100_CFG_ECC_TYPE_40BIT 0xA0 +#define HIFMC100_CFG_ECC_TYPE_64BIT 0xC0 + +#define HIFMC100_CFG_PAGE_SIZE_MASK 0x18 +#define HIFMC100_CFG_PAGE_SIZE_2K 0x00 +#define HIFMC100_CFG_PAGE_SIZE_4K 0x08 +#define HIFMC100_CFG_PAGE_SIZE_8K 0x10 +#define HIFMC100_CFG_PAGE_SIZE_16K 0x18 + +#define HIFMC100_CFG_FLASH_SEL_MASK 0x6 +#define HIFMC100_CFG_FLASH_SEL_SPINOR 0x0 +#define HIFMC100_CFG_FLASH_SEL_SPINAND 0x2 +#define HIFMC100_CFG_FLASH_SEL_NAND 0x4 + +#define HIFMC100_CFG_OP_MODE_NORMAL 0x01 +/*****************************************************************************/ +#define HIFMC100_GLOBAL_CFG 0x04 +#define HIFMC100_GLOBAL_CFG_RANDOMIZER_EN (1 << 2) +#define HIFMC100_GLOBAL_CFG_EDO_MODE (1 << 9) + +/*****************************************************************************/ +#define HIFMC100_TIMING_SPI_CFG 0x08 +#define HIFMC100_PND_PWIDTH_CFG 0x0c + +/*****************************************************************************/ +#define HIFMC100_INT 0x18 +#define HIFMC100_INT_CACHE_PAGE_DONE BIT(8) +#define HIFMC100_INT_AHB_OP BIT(7) +#define HIFMC100_INT_WR_LOCK BIT(6) +#define HIFMC100_INT_DMA_ERR BIT(5) +#define HIFMC100_INT_ERR_ALARM BIT(4) +#define HIFMC100_INT_ERR_INVALID BIT(3) +#define HIFMC100_INT_ERR_VALID BIT(2) +#define HIFMC100_INT_OP_FAIL BIT(1) +#define HIFMC100_INT_OP_DONE BIT(0) +/*****************************************************************************/ +#define HIFMC100_INT_EN 0x1c +#define HIFMC100_INT_EN_CACHE_PAGE_DONE BIT(8) +#define HIFMC100_INT_EN_AHB_OP BIT(7) +#define HIFMC100_INT_EN_WR_LOCK BIT(6) +#define HIFMC100_INT_EN_DMA_ERR BIT(5) +#define HIFMC100_INT_EN_ERR_ALARM BIT(4) +#define HIFMC100_INT_EN_ERR_INVALID BIT(3) +#define HIFMC100_INT_EN_ERR_VALID BIT(2) +#define HIFMC100_INT_EN_OP_FAIL BIT(1) +#define HIFMC100_INT_EN_OP_DONE BIT(0) +#define HIFMC100_INT_EN_ALL 0x1FF +/*****************************************************************************/ +#define HIFMC100_INT_CLR 0x20 +#define HIFMC100_INT_CLR_CACHE_PAGE_DONE BIT(8) +#define HIFMC100_INT_CLR_AHB_OP BIT(7) +#define HIFMC100_INT_CLR_WR_LOCK BIT(6) +#define HIFMC100_INT_CLR_DMA_ERR BIT(5) +#define HIFMC100_INT_CLR_ERR_ALARM BIT(4) +#define HIFMC100_INT_CLR_ERR_INVALID BIT(3) +#define HIFMC100_INT_CLR_ERR_VALID BIT(2) +#define HIFMC100_INT_CLR_OP_FAIL BIT(1) +#define HIFMC100_INT_CLR_OP_DONE BIT(0) +#define HIFMC100_INT_CLR_ALL 0x1FF +/*****************************************************************************/ +#define HIFMC100_CMD 0x24 + +/*****************************************************************************/ +#define HIFMC100_ADDRH 0x28 +#define HIFMC100_ADDRH_BYTE5(_addr) ((_addr) & 0xff) + +/*****************************************************************************/ +#define HIFMC100_ADDRL 0x2c + +/*****************************************************************************/ +#define HIFMC100_OP_CFG 0x30 +#define HIFMC100_OP_CFG_FM_CS 0x800 +#define HIFMC100_OP_CFG_NUM_CS 1 +#define HIFMC100_OP_CFG_FORCE_CS_EN 0x400 +#define HIFMC100_OP_CFG_MEM_IFTYPE_SHIFT 7 +#define HIFMC100_OP_CFG_MEM_IFTYPE_MASK 0x380 +#define HIFMC100_OP_CFG_MEM_IFTYPE_STD 0x0 +#define HIFMC100_OP_CFG_MEM_IFTYPE_DUAL 0x80 +#define HIFMC100_OP_CFG_MEM_IFTYPE_DUAL_ADDR 0x100 +#define HIFMC100_OP_CFG_MEM_IFTYPE_QUAD 0x180 +#define HIFMC100_OP_CFG_MEM_IFTYPE_QUAD_ADDR 0x200 +#define HIFMC100_OP_CFG_ADDR_NUM(_addr) (((_addr) & 0x7) << 4) +#define HIFMC100_OP_CFG_ADDR_MASK 0x70 +#define HIFMC100_OP_CFG_DUMMY_NUM(_dummy) ((_dummy) & 0xf) +#define HIFMC100_OP_CFG_DUMMY_MASK 0x0f + +/*****************************************************************************/ +#define HIFMC100_DATA_NUM 0x38 +#define HIFMC100_DATA_NUM_CNT(_n) ((_n) & 0x3FFF) + +/*****************************************************************************/ +#define HIFMC100_OP 0x3c +#define HIFMC100_OP_DUMMY_EN 0x100 +#define HIFMC100_OP_CMD1_EN 0x80 +#define HIFMC100_OP_ADDR_EN 0x40 +#define HIFMC100_OP_WRITE_DATA_EN 0x20 +#define HIFMC100_OP_CMD2_EN 0x10 +#define HIFMC100_OP_WAIT_READY_EN 0x8 +#define HIFMC100_OP_READ_DATA_EN 0x4 +#define HIFMC100_OP_READ_STATUS_EN 0x2 +#define HIFMC100_OP_REG_OP_START 0x1 + +/*****************************************************************************/ +#define HIFMC100_DMA_LEN 0x40 +#define HIFMC100_DMA_LEN_MASK(_len) ((_len) & 0x0fffffff) + +/*****************************************************************************/ + +#define HIFMC100_DMA_AHB_CTRL 0x48 +#define HIFMC100_DMA_SADDR_D0 0x4c +#define HIFMC100_DMA_SADDR_D1 0x50 +#define HIFMC100_DMA_SADDR_D2 0x54 +#define HIFMC100_DMA_SADDR_D3 0x58 +#define HIFMC100_DMA_SADDR_OOB 0x5c + +/*****************************************************************************/ +#define HIFMC100_OP_CTRL 0x68 +#define HIFMC100_OP_CTRL_RD_OPCODE(_code) (((_code) & 0xff) << 16) +#define HIFMC100_OP_CTRL_WR_OPCODE(_code) (((_code) & 0xff) << 8) +#define HIFMC100_OP_CTRL_RD_OP_SEL_MASK 0x30 +#define HIFMC100_OP_CTRL_RD_OP_SEL_CACHE 0x30 +#define HIFMC100_OP_CTRL_RD_OP_SEL_BLK 0x20 +#define HIFMC100_OP_CTRL_RD_OP_SEL_OOB 0x10 +#define HIFMC100_OP_CTRL_RD_OP_SEL_PAGE 0x00 +#define HIFMC100_OP_CTRL_RW_OP_WRITE 0x02 +#define HIFMC100_OP_CTRL_DMA_OP_READY 0x01 +/*****************************************************************************/ +#define HIFMC100_OP_PARA 0x70 +#define HIFMC100_OP_PARA_RD_OOB_ONLY BIT(1) + +/*****************************************************************************/ +#define HIFMC100_STATUS 0xac + +/*****************************************************************************/ +#define HIFMC100_VERSION 0xbc +#define HIFMC100_VERSION_VALUE (0x100) + +#define HIFMC100_FMC_ERR_NUM0_BUF0 0xc0 + +#define HIFMC100_FMC_ECC_INVALID_ADDRH 0xD8 +#define HIFMC100_FMC_ECC_INVALID_ADDRL 0xDC + +#define HIFMC100_READ_TIMING_TUNE 0xE0 +#define HIFMC100_READ_TIMING_TUNE_VALUE (2) + +#define HIFMC100_FMC_CACHE_CTRL 0x150 +#define HIFMC100_FMC_CACHE_EXIT_OP_EN 0x800 +#define HIFMC100_FMC_CACHE_TERMINATE 0x200 +#define HIFMC100_FMC_CACHE_PAGE_NUM_MASK 0x0F + +#define HIFMC100_FMC_DMA_SADDR_D0_P1 0x154 +/*****************************************************************************/ + +#define DUMP_READ(_s) + +#define hifmc_read(_host, _reg) ({\ + u32 _regval = readl(_host->regbase + (_reg)); \ + DUMP_READ(printk("%s:%d: readl(0x%08x)=0x%08x\n", __FILE__, __LINE__, (u32)_reg, _regval)); \ + _regval;}) + +#define DUMP_WRITE(_s) + +#define hifmc_write(_host, _value, _reg) do {\ + DUMP_WRITE(printk("%s:%d: writel(0x%08x)=0x%08x\n", __FILE__, __LINE__, (u32)_reg, (u32)_value)); \ + writel((_value), _host->regbase + (_reg)); \ + } while (0) + +/******************************************************************************/ +#endif /* HIFMC100_REG_H */ diff --git a/drivers/mtd/hisilicon/hifmc100/hifmc100_spinor.c b/drivers/mtd/hisilicon/hifmc100/hifmc100_spinor.c new file mode 100644 index 000000000..12922d715 --- /dev/null +++ b/drivers/mtd/hisilicon/hifmc100/hifmc100_spinor.c @@ -0,0 +1,654 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.25 + * +******************************************************************************/ +#define DEVNAME "hifmc100: " +#define pr_fmt(fmt) "spinor: " fmt + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "hifmc100_reg.h" +#include "hifmc100_host.h" + +/******************************************************************************/ + +static int hifmc100_spinor_read_sr(struct flash_regop *regop) +{ + u8 status; + struct flash_regop_info info = {0}; + + info.priv = regop->priv; + info.cmd = SPINOR_OP_RDSR; + info.nr_cmd = 1; + info.buf = &status; + info.sz_buf = 1; + regop->read_reg(&info); + + return status; +} +/******************************************************************************/ + +static int hifmc100_spinor_wait_device_ready(struct flash_regop *regop) +{ + u32 regval; + ulong deadline = jiffies + 4 * HZ; + + do { + regval = regop->read_sr(regop); + if (!(regval & SPINOR_STATUS_WIP)) + return 0; + + schedule_timeout_uninterruptible(1); + + } while (!time_after_eq(jiffies, deadline)); + + pr_err("wait spi-nor chip ready timeout.\n"); + + return 1; +} +/******************************************************************************/ + +static void hifmc100_spinor_select_chip(struct hifmc_spinor *spinor, int chipselect) +{ + struct hifmc_host *hifmc = spinor->host; + hifmc->chipselect = spinor->chipselect[chipselect]; +} +/******************************************************************************/ + +static int hifmc100_spinor_erase(struct mtd_info *mtd, struct erase_info *instr) +{ + int nrchip = 0; + u32 offset = (u32)instr->addr; + loff_t len = instr->len; + struct flash_regop_info info = {0}; + struct hifmc_spinor *spinor = (struct hifmc_spinor *)mtd->priv; + struct hifmc_host *hifmc = spinor->host; + struct flash_regop *regop = spinor->regop; + struct hifmc_reg *erase = &spinor->xfer.erase; + + if (offset & (spinor->erasesize - 1)) { + pr_err("erase address(0x%08x) not block aligned.\n", offset); + return -EINVAL; + } + + if (len & (spinor->erasesize - 1)) { + pr_err("erase len(0x%08x) not block aligned.\n", offset); + return -EINVAL; + } + + mutex_lock(&hifmc->lock); + hifmc->set_ifmode(hifmc, HIFMC_IFMODE_SPINOR); + clk_set_rate(hifmc->clk, erase->clock); + + nrchip = (int)(offset >> spinor->chipsize_shift); + + hifmc100_spinor_select_chip(spinor, nrchip); + + offset = offset & spinor->chipsize_mask; + + info.priv = regop->priv; + info.cmd = erase->cmd; + info.nr_cmd = 1; + info.addr_cycle = spinor->addr_cycle; + + while (len > 0) { + regop->wait_device_ready(regop); + spinor->drv->write_enable(regop); + + info.addrl = offset; + regop->read_reg(&info); + + offset += spinor->erasesize; + len -= spinor->erasesize; + + if (offset > spinor->chipsize) { + offset -= spinor->chipsize; + hifmc100_spinor_select_chip(spinor, ++nrchip); + } + } + mutex_unlock(&hifmc->lock); + + instr->state = MTD_ERASE_DONE; + mtd_erase_callback(instr); + + return 0; +} +/******************************************************************************/ + +static void hifmc100_spinor_dma_transfer(struct hifmc_spinor *spinor, + struct hifmc_reg *xfer, u32 offset, + int size) +{ + u32 regval; + struct hifmc_host *hifmc = spinor->host; + + /* set dummy */ + regval = 0; + if (xfer->dummy) + regval |= HIFMC100_OP_DUMMY_EN; + hifmc_write(hifmc, regval, HIFMC100_OP); + + hifmc_write(hifmc, (u32)spinor->dma_paddr, HIFMC100_DMA_SADDR_D0); + hifmc_write(hifmc, HIFMC100_DMA_LEN_MASK(size), HIFMC100_DMA_LEN); + + /* set 3/4 bytes address mode */ + regval = hifmc_read(hifmc, HIFMC100_CFG); + if (spinor->addr_cycle >= 4) + regval |= HIFMC100_CFG_SPI_NOR_ADDR_MODE_4B; + else + regval &= ~HIFMC100_CFG_SPI_NOR_ADDR_MODE_4B; + hifmc_write(hifmc, regval, HIFMC100_CFG); + + /* set address cycle and chip select */ + regval = xfer->op_cfg; + if (hifmc->chipselect) + regval |= HIFMC100_OP_CFG_FM_CS; + hifmc_write(hifmc, regval, HIFMC100_OP_CFG); + + /* set address */ + hifmc_write(hifmc, 0, HIFMC100_ADDRH); + hifmc_write(hifmc, offset, HIFMC100_ADDRL); + + hifmc->irq_enable(hifmc); + + hifmc_write(hifmc, xfer->op_ctrl, HIFMC100_OP_CTRL); + + hifmc->wait_dma_finish(hifmc); + + /* disable dma done interrupt */ + regval = hifmc_read(hifmc, HIFMC100_INT_EN); + regval &= ~HIFMC100_INT_EN_OP_DONE; + hifmc_write(hifmc, regval, HIFMC100_INT_EN); +} +/******************************************************************************/ + +static int hifmc100_spinor_dma_read(struct mtd_info *mtd, loff_t from, size_t len, + size_t *retlen, u_char *buf) +{ + int size; + int nrchip = 0; + u8 *ptr = (u8 *)buf; + u32 offset = (u32)from; + struct hifmc_spinor *spinor = (struct hifmc_spinor *)mtd->priv; + struct hifmc_host *hifmc = spinor->host; + struct hifmc_reg *read = &spinor->xfer.read; + + mutex_lock(&hifmc->lock); + hifmc->set_ifmode(hifmc, HIFMC_IFMODE_SPINOR); + clk_set_rate(hifmc->clk, read->clock); + + nrchip = (int)(offset >> spinor->chipsize_shift); + + hifmc100_spinor_select_chip(spinor, nrchip); + spinor->regop->wait_device_ready(spinor->regop); + + offset = offset & spinor->chipsize_mask; + + while (len > 0) { + if (offset & HIFMC100_SPINOR_DMA_SIZE_MASK) { + size = HIFMC100_SPINOR_DMA_SIZE - + (offset & HIFMC100_SPINOR_DMA_SIZE_MASK); + if (size > len) + size = len; + } else { + if (len > HIFMC100_SPINOR_DMA_SIZE) + size = HIFMC100_SPINOR_DMA_SIZE; + else + size = len; + } + + hifmc100_spinor_dma_transfer(spinor, read, offset, size); + + memcpy(ptr, spinor->dma_vaddr, size); + + offset += size; + ptr += size; + len -= size; + + if (offset > spinor->chipsize) { + offset -= spinor->chipsize; + + hifmc100_spinor_select_chip(spinor, ++nrchip); + spinor->regop->wait_device_ready(spinor->regop); + } + } + + *retlen = (size_t)(ptr - buf); + + mutex_unlock(&hifmc->lock); + + return 0; +} +/******************************************************************************/ + +static int hifmc100_spinor_dma_write(struct mtd_info *mtd, loff_t to, size_t len, + size_t *retlen, const u_char *buf) +{ + int size; + int nrchip = 0; + u8 *ptr = (u8 *)buf; + u32 offset = (u32)to; + struct hifmc_spinor *spinor = (struct hifmc_spinor *)mtd->priv; + struct hifmc_host *hifmc = spinor->host; + struct hifmc_reg *write = &spinor->xfer.write; + + mutex_lock(&hifmc->lock); + hifmc->set_ifmode(hifmc, HIFMC_IFMODE_SPINOR); + clk_set_rate(hifmc->clk, write->clock); + + nrchip = (int)(offset >> spinor->chipsize_shift); + + hifmc100_spinor_select_chip(spinor, nrchip); + spinor->regop->wait_device_ready(spinor->regop); + spinor->drv->write_enable(spinor->regop); + + offset = offset & spinor->chipsize_mask; + + while (len > 0) { + if (offset & HIFMC100_SPINOR_DMA_SIZE_MASK) { + size = HIFMC100_SPINOR_DMA_SIZE - + (offset & HIFMC100_SPINOR_DMA_SIZE_MASK); + if (size > len) + size = len; + } else { + if (len > HIFMC100_SPINOR_DMA_SIZE) + size = HIFMC100_SPINOR_DMA_SIZE; + else + size = len; + } + + memcpy(spinor->dma_vaddr, ptr, size); + + hifmc100_spinor_dma_transfer(spinor, write, offset, size); + + offset += size; + ptr += size; + len -= size; + + if (offset > spinor->chipsize) { + offset -= spinor->chipsize; + + hifmc100_spinor_select_chip(spinor, ++nrchip); + spinor->regop->wait_device_ready(spinor->regop); + spinor->drv->write_enable(spinor->regop); + } + } + + *retlen = (size_t)(ptr - buf); + + mutex_unlock(&hifmc->lock); + + return 0; +} +/******************************************************************************/ + +static u32 hifmc100_spinor_op_iftype(u32 op) +{ + int ix; + u32 op_iftype[] = { + SPINOR_OP_READ, HIFMC100_OP_CFG_MEM_IFTYPE_STD, + SPINOR_OP_READ_FAST, HIFMC100_OP_CFG_MEM_IFTYPE_STD, + SPINOR_OP_PP, HIFMC100_OP_CFG_MEM_IFTYPE_STD, + SPINOR_OP_READ_DUAL, HIFMC100_OP_CFG_MEM_IFTYPE_DUAL, + SPINOR_OP_READ_QUAD, HIFMC100_OP_CFG_MEM_IFTYPE_QUAD, + SPINOR_OP_PP_QUAD, HIFMC100_OP_CFG_MEM_IFTYPE_QUAD, + }; + + for (ix = 0; ix < ARRAY_SIZE(op_iftype); ix += 2) { + if (op_iftype[ix] == op) + return op_iftype[ix+1]; + } + + panic(DEVNAME "invalid spi-nor op cmd: 0x%02x\n", op); + + return 0; +} +/******************************************************************************/ + +static void hifmc100_spinor_setup(struct hifmc_spinor *spinor, + struct spinor_chip_xfer *chip_xfer) +{ + struct hifmc_reg *reg; + struct spiflash_xfer *xfer; + + /* setup erase config */ + xfer = chip_xfer->erase; + reg = &spinor->xfer.erase; + + spinor->erasesize = xfer->size; + reg->cmd = xfer->cmd; + reg->clock = xfer->clock * 1000000; + reg->dummy = xfer->dummy; + + /* setup read config */ + xfer = chip_xfer->read; + reg = &spinor->xfer.read; + + reg->clock = xfer->clock * 1000000; + reg->cmd = xfer->cmd; + reg->dummy = xfer->dummy; + + reg->op_cfg = HIFMC100_OP_CFG_ADDR_NUM(spinor->addr_cycle) | + HIFMC100_OP_CFG_DUMMY_NUM(reg->dummy) | + hifmc100_spinor_op_iftype(xfer->cmd); + + reg->op_ctrl = HIFMC100_OP_CTRL_DMA_OP_READY | + HIFMC100_OP_CTRL_RD_OPCODE(xfer->cmd); + + /* setup write config */ + xfer = chip_xfer->write; + reg = &spinor->xfer.write; + + reg->clock = xfer->clock * 1000000; + reg->cmd = xfer->cmd; + reg->dummy = xfer->dummy; + + reg->op_cfg = HIFMC100_OP_CFG_ADDR_NUM(spinor->addr_cycle) | + HIFMC100_OP_CFG_DUMMY_NUM(reg->dummy) | + hifmc100_spinor_op_iftype(xfer->cmd); + + reg->op_ctrl = HIFMC100_OP_CTRL_DMA_OP_READY | + HIFMC100_OP_CTRL_RW_OP_WRITE | + HIFMC100_OP_CTRL_WR_OPCODE(xfer->cmd); +} +/******************************************************************************/ + +static int hifmc100_spinor_probe_device(struct hifmc_spinor *spinor) +{ + int nrchip; + u8 id[FLASH_ID_LEN]; + char strblk[8]; + char strchip[8]; + struct flash_regop_info info; + struct spinor_chip_xfer *chip_xfer; + struct spinor_flash_dev *flash_dev = NULL; + + spinor->chipsize = 0; + spinor->nr_chips = 0; + spinor->erasesize = 0; + + clk_set_rate(spinor->host->clk, 12000000/* 12MHz */); + + for (nrchip = 0; nrchip < HIFMC100_OP_CFG_NUM_CS; nrchip++) { + memset(&info, 0, sizeof(info)); + + spinor->host->chipselect = nrchip; + + info.priv = spinor->host; + info.cmd = SPINOR_OP_RDID; + info.nr_cmd = 1; + info.buf = id; + info.sz_buf = sizeof(id); + spinor->regop->read_reg(&info); + + if (!id[0]) + continue; + + pr_info("id: 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X\n", + id[0], id[1], id[2], id[3], id[4], id[5]); + + spinor->chipselect[spinor->nr_chips] = nrchip; + + if (!spinor->nr_chips) { + flash_dev = spinor_match_id(id, sizeof(id)); + if (!flash_dev) { + pr_info("Can't recognize this chip(cs%d).\n", nrchip); + return -EINVAL; + } + + spinor->nr_chips = 1; + spinor->chipsize = flash_dev->chipsize; + spinor->chipsize_shift = ffs(spinor->chipsize) - 1; + spinor->chipsize_mask = spinor->chipsize - 1; + + spinor->drv = spinor_get_driver(id, sizeof(id)); + + if (spinor->chipsize >= SZ_32M) + spinor->addr_cycle = 4; + else + spinor->addr_cycle = 3; + + continue; + } + + if (memcmp(id, flash_dev->id, flash_dev->id_len)) + break; + + spinor->nr_chips++; + } + + if (!flash_dev) + return -EINVAL; + + /* anytime, there is a default value return. */ + chip_xfer = spinor_get_xfer(hifmc100_spinor_chip_xfer, + (char *)flash_dev->id, flash_dev->id_len); + + hifmc100_spinor_setup(spinor, chip_xfer); + + pr_info("Block:%sB Chip:%sB Name:\"%s\"\n", + ultohstr((u64)spinor->erasesize, strblk, sizeof(strblk)), + ultohstr((u64)spinor->chipsize, strchip, sizeof(strchip)), + flash_dev->name); + + return 0; +} +/******************************************************************************/ + +static void hifmc100_spinor_chip_init(struct hifmc_spinor *spinor) +{ + int nrchip; + + for (nrchip = 0; nrchip < spinor->nr_chips; nrchip++) { + hifmc100_spinor_select_chip(spinor, nrchip); + + if (spinor->drv->quad_enable(spinor->regop)) + pr_warn("quad enable fail!\n"); + + if (spinor->addr_cycle >= 4) + spinor->drv->entry_4addr(spinor->regop); + } +} +/******************************************************************************/ + +static int hifmc100_spinor_regop_open(void *priv) +{ + struct hifmc_spinor *spinor = (struct hifmc_spinor *)priv; + struct hifmc_host *hifmc = spinor->host; + + mutex_lock(&hifmc->lock); + hifmc->set_ifmode(hifmc, HIFMC_IFMODE_SPINOR); + clk_set_rate(hifmc->clk, 0); + hifmc100_spinor_select_chip(spinor, 0); + + return 0; +} +/******************************************************************************/ + +static int hifmc100_spinor_regop_release(void *priv) +{ + struct hifmc_spinor *spinor = (struct hifmc_spinor *)priv; + struct hifmc_host *hifmc = spinor->host; + + mutex_unlock(&hifmc->lock); + + return 0; +} +/******************************************************************************/ + +static void hifmc100_spinor_shutdown(struct hifmc_spinor *spinor) +{ + int nrchip; + struct hifmc_host *hifmc = spinor->host; + + mutex_lock(&hifmc->lock); + + hifmc->fmc_crg_value = readl(hifmc->fmc_crg_addr); + + hifmc->set_ifmode(hifmc, HIFMC_IFMODE_SPINOR); + clk_set_rate(hifmc->clk, 0); + + for (nrchip = 0; nrchip < spinor->nr_chips; nrchip++) { + hifmc100_spinor_select_chip(spinor, nrchip); + + spinor->drv->quad_disable(spinor->regop); + if (spinor->addr_cycle >= 4) + spinor->drv->exit_4addr(spinor->regop); + } + + mutex_unlock(&hifmc->lock); +} +/******************************************************************************/ + +static void hifmc100_spinor_suspend(struct hifmc_spinor *spinor) +{ + hifmc100_spinor_shutdown(spinor); +} +/******************************************************************************/ + +static void hifmc100_spinor_resume(struct hifmc_spinor *spinor) +{ + u32 regval; + struct hifmc_host *hifmc = spinor->host; + + mutex_lock(&hifmc->lock); + + regval = hifmc_read(hifmc, HIFMC100_CFG); + regval |= HIFMC100_CFG_OP_MODE_NORMAL; + hifmc_write(hifmc, regval, HIFMC100_CFG); + + hifmc_write(hifmc, 0x6F, HIFMC100_TIMING_SPI_CFG); + + hifmc->set_ifmode(hifmc, HIFMC_IFMODE_SPINOR); + clk_set_rate(hifmc->clk, 0); + + hifmc100_spinor_chip_init(spinor); + + writel(hifmc->fmc_crg_value, hifmc->fmc_crg_addr); + + mutex_unlock(&hifmc->lock); +} +/******************************************************************************/ + +int hifmc100_spinor_probe(struct platform_device *pdev, struct hifmc_host *host) +{ + int ret; + struct mtd_info *mtd; + struct hifmc_spinor *spinor; + struct flash_regop_intf *regop_intf; + + spinor = devm_kzalloc(&pdev->dev, sizeof(struct hifmc_spinor), GFP_KERNEL); + if (!spinor) { + pr_err("failed to allocate hifmc_spinor structure.\n"); + return -ENOMEM; + } + + spinor->name = "spinor"; + spinor->host = host; + spinor->dev = &pdev->dev; + spinor->regop->priv = host; + spinor->regop->read_reg = hifmc100_read_reg; + spinor->regop->write_reg = hifmc100_write_reg; + spinor->regop->read_sr = hifmc100_spinor_read_sr; + spinor->regop->wait_device_ready = hifmc100_spinor_wait_device_ready; + + spinor->shutdown = hifmc100_spinor_shutdown; + spinor->resume = hifmc100_spinor_resume; + spinor->suspend = hifmc100_spinor_suspend; + + host->spinor = spinor; + + mtd = spinor->mtd; + mtd->name = "hi_sfc"; + mtd->type = MTD_NORFLASH; + mtd->writesize = 1; + mtd->flags = MTD_CAP_NORFLASH; + mtd->owner = THIS_MODULE; + mtd->priv = spinor; + + mtd->_erase = hifmc100_spinor_erase; + mtd->_write = hifmc100_spinor_dma_write; + mtd->_read = hifmc100_spinor_dma_read; + + host->set_ifmode(host, HIFMC_IFMODE_SPINOR); + hifmc_write(host, 0x6F, HIFMC100_TIMING_SPI_CFG); + + ret = hifmc100_spinor_probe_device(spinor); + if (ret) + goto fail; + + hifmc100_spinor_chip_init(spinor); + + mtd->size = spinor->chipsize * spinor->nr_chips; + mtd->erasesize = spinor->erasesize; + + spinor->dma_vaddr = dma_alloc_coherent(spinor->dev, + HIFMC100_SPINOR_DMA_SIZE, &spinor->dma_paddr, GFP_KERNEL); + if (!spinor->dma_vaddr) { + pr_err("failed to allocate dma memory.\n"); + ret = -ENOMEM; + goto fail; + } + + ret = mtd_device_parse_register(mtd, NULL, NULL, NULL, 0); + if (ret) { + dma_free_coherent(spinor->dev, HIFMC100_SPINOR_DMA_SIZE, + spinor->dma_vaddr, spinor->dma_paddr); + goto fail; + } + + regop_intf = &spinor->regop_intf; + + strncpy(regop_intf->name, spinor->name, sizeof(regop_intf->name) - 1); + + regop_intf->sz_buf = host->sz_iobase; + regop_intf->args = spinor; + regop_intf->regop = spinor->regop; + regop_intf->open = hifmc100_spinor_regop_open; + regop_intf->release = hifmc100_spinor_regop_release; + + regop_intf_create(regop_intf); + + return 0; +fail: + host->spinor = NULL; + devm_kfree(spinor->dev, spinor); + + return ret; +} +/******************************************************************************/ + +int hifmc100_spinor_destory(struct hifmc_spinor *spinor) +{ + regop_intf_destory(&spinor->regop_intf); + + mtd_device_unregister(spinor->mtd); + + dma_free_coherent(spinor->dev, HIFMC100_SPINOR_DMA_SIZE, + spinor->dma_vaddr, spinor->dma_paddr); + + devm_kfree(spinor->dev, spinor); + + return 0; +} diff --git a/drivers/mtd/hisilicon/hifmc100/hifmc100_xnand.c b/drivers/mtd/hisilicon/hifmc100/hifmc100_xnand.c new file mode 100644 index 000000000..677476db4 --- /dev/null +++ b/drivers/mtd/hisilicon/hifmc100/hifmc100_xnand.c @@ -0,0 +1,2075 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.25 + * +******************************************************************************/ + +#define DEVNAME "hifmc100" +#define pr_fmt(fmt) "%s: " fmt + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "hifmc100_reg.h" +#include "hifmc100_host.h" + +struct page_info { + int page_addr; + + char *pagebuf; + dma_addr_t dma_pagebuf; + int pagesize; + + char *oobbuf; + dma_addr_t dma_oobbuf; + int oobsize; + + int status; +}; + +#define TO_XNAND_ADDR(_xnand) \ + ((u64)(_xnand)->cmdfunc->page_addr << (_xnand)->chip->page_shift) + +#define EPM(_oobbuf) (*(u16 *)((u8 *)_oobbuf + 30)) +#define BBM(_oobbuf) (*(u8 *)_oobbuf) + +/******************************************************************************/ + +static void __maybe_unused nand_register_dump(struct hifmc_host *host) +{ + int ix; + + printk("Register dump:"); + for (ix = 0; ix <= 0xF0; ix += 0x04) { + if (!(ix & 0x0F)) + printk("\n0x%08X: ", (0xf9950000 + ix)); + printk("%08X ", hifmc_read(host, ix)); + } + printk("\n"); +} +/******************************************************************************/ + +static int hifmc100_xnand_wait_device_ready(struct flash_regop *regop) +{ + int status; + ulong deadline; + + deadline = jiffies + 4 * HZ; + do { + status = regop->read_sr(regop); + if (status & NAND_STATUS_READY) + return 0; + + schedule_timeout_uninterruptible(1); + + } while (!time_after_eq(jiffies, deadline)); + + pr_err("wait device ready timeout.\n", DEVNAME); + + return -1; +} +/*****************************************************************************/ + +static u8 *hifmc100_spinand_read_raw_bbm(struct hifmc_xnand *xnand) +{ + struct hifmc_host *hifmc = xnand->host; + struct cmdfunc_data *cmdfunc = xnand->cmdfunc; + struct flash_regop_info info = {0}; + + info.priv = hifmc; + info.cmd = SPINAND_OP_PGRD; + info.nr_cmd = 1; + info.addrl = cmdfunc->page_addr; + info.addr_cycle = 3; + xnand->regop->read_reg(&info); + xnand->regop->wait_device_ready(xnand->regop); + + info.cmd = SPINAND_OP_READ; + info.nr_cmd = 1; + info.sz_buf = 2; + info.addrl = xnand->pagesize; + info.addr_cycle = 2; + info.dummy = 1; + xnand->regop->read_reg(&info); + + return (u8 *)hifmc->iobase; +} +/*****************************************************************************/ + +static u8 *hifmc100_nand_read_raw_bbm(struct hifmc_xnand *xnand) +{ + struct hifmc_host *hifmc = xnand->host; + struct cmdfunc_data *cmdfunc = xnand->cmdfunc; + struct flash_regop_info info = {0}; + + info.priv = hifmc; + info.cmd = (NAND_CMD_READSTART << 8) | NAND_CMD_READ0; + info.nr_cmd = 2; + + info.addrl = (cmdfunc->page_addr << 16) + xnand->pagesize; + info.addrh = cmdfunc->page_addr >> 16; + info.addr_cycle = xnand->read_addr_cycle; + + info.sz_buf = 2; + info.wait_ready = true; + xnand->regop->read_reg(&info); + + return (u8 *)hifmc->iobase; +} +/*****************************************************************************/ + +static int hifmc100_spinand_read_sr(struct flash_regop *drv) +{ + u8 retsr = 0; + u8 status = 0; + struct flash_regop_info info = {0}; + struct hifmc_xnand *xnand = container_of(drv, struct hifmc_xnand, regop[0]); + struct nand_chip *chip = xnand->chip; + + info.priv = drv->priv; + info.cmd = SPINAND_OP_RDSR; + info.nr_cmd = 1; + info.addr_cycle = 1; + info.buf = &status; + info.sz_buf = 1; + + info.addrl = 0xA0; + drv->read_reg(&info); + + if (!(status & 0x38)) + retsr = NAND_STATUS_WP; + + info.addrl = 0xC0; + drv->read_reg(&info); + + if (!(status & SPINAND_STATUS_OIP)) + retsr |= NAND_STATUS_READY; + + if (((chip->state == FL_WRITING) && (status & SPINAND_STATUS_P_FAIL)) + || ((chip->state == FL_ERASING) && (status & SPINAND_STATUS_E_FAIL))) { + retsr |= NAND_STATUS_FAIL; + } + + return retsr; +} +/*****************************************************************************/ + +static int hifmc100_nand_read_sr(struct flash_regop *drv) +{ + u8 status = 0; + struct flash_regop_info info = {0}; + + info.priv = drv->priv; + info.cmd = NAND_CMD_STATUS; + info.nr_cmd = 1; + info.buf = &status; + info.sz_buf = 1; + drv->read_reg(&info); + + return status; +} +/******************************************************************************/ + +static int hifmc100_xnand_dev_ready(struct mtd_info *mtd) +{ + u8 status; + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + + status = xnand->regop->read_sr(xnand->regop); + + return (status & NAND_STATUS_READY ? 1 : 0); +} +/******************************************************************************/ + +static bool hifmc100_xnand_is_page_empty(struct hifmc_xnand *xnand, + u8 oob_bitsflip) +{ + u16 epm = EPM(xnand->oobbuf); + + if (!epm) + return false; + + if (epm == 0xFFFF) + return true; + + /* ecc failed && bitflips < 4 bits */ + if (oob_bitsflip > xnand->ecc_strength && hweight16(epm) > 12) + return true; + + return false; +} +/******************************************************************************/ + +static bool hifmc100_xnand_is_bad_block(struct hifmc_xnand *xnand, + u8 oob_bitsflip) +{ + u8 bbm = BBM(xnand->oobbuf); + + if (!bbm) + return true; + + if (bbm == 0xFF) { + u16 epm = EPM(xnand->oobbuf); + + if (!epm) /* we have written this page, it is a good page. */ + return false; + + /* + * this is a empty page, maybe only bbm is 0x00, and corrected to + * 0xFF. only spansion nand meet this problem. + * other nand bad block page or oob is all zero. + */ + + if (oob_bitsflip >= 8 && xnand->manuf == NAND_MFR_AMD) { + bbm = *(u8 *)xnand->read_raw_bbm(xnand); + if (!bbm) + return true; + } + + return false; + } + + /* bbm != 0xFF && ecc success. */ + if (oob_bitsflip <= xnand->ecc_strength) + return true; + + /* bbm != 0xFF && ecc fail && bbm > 2 bits fliping */ + if (hweight8(bbm) < 6) + return true; + + /* bbm != 0xFF && ecc fail && bits fliping <= 2 */ + return false; +} +/******************************************************************************/ + +static inline int hifmc100_xnand_dma_map(struct hifmc_xnand *xnand, + struct page_info *page, u32 dmaaddr_reg, + enum dma_data_direction direction) +{ + struct hifmc_host *hifmc = xnand->host; + + page->dma_pagebuf = dma_map_single(xnand->dev, page->pagebuf, + page->pagesize, direction); + if (dma_mapping_error(xnand->dev, page->dma_pagebuf)) { + pr_err("dma_map_single fail.\n", DEVNAME); + return -ENOMEM; + } + + hifmc_write(hifmc, (u32)page->dma_pagebuf, dmaaddr_reg); + + if (xnand->pagesize >= SZ_8K) { + u32 phyaddr = (u32)page->dma_pagebuf + SZ_4K; + + hifmc_write(hifmc, phyaddr, dmaaddr_reg + 0x4); + + if (xnand->pagesize >= SZ_16K) { + hifmc_write(hifmc, phyaddr + SZ_4K, dmaaddr_reg + 0x8); + hifmc_write(hifmc, phyaddr + SZ_8K, dmaaddr_reg + 0xC); + } + } + + page->dma_oobbuf = dma_map_single(xnand->dev, page->oobbuf, + page->oobsize, direction); + if (dma_mapping_error(xnand->dev, page->dma_oobbuf)) { + pr_err("dma_map_single fail.\n", DEVNAME); + + dma_unmap_single(xnand->dev, page->dma_pagebuf, + page->pagesize, direction); + + return -ENOMEM; + } + hifmc_write(hifmc, (u32)page->dma_oobbuf, dmaaddr_reg + 0x10); + + return 0; +} +/******************************************************************************/ + +static int hifmc100_xnand_dma_transfer(struct hifmc_xnand *xnand, + enum dma_data_direction direction) +{ + int ret; + u32 regval; + struct hifmc_host *hifmc = xnand->host; + struct cmdfunc_data *cmdfunc = xnand->cmdfunc; + struct hifmc_reg *reg; + struct page_info page; + + if (direction == DMA_FROM_DEVICE) + reg = &xnand->reg.read; + else + reg = &xnand->reg.write; + + page.pagebuf = xnand->pagebuf; + page.pagesize = xnand->pagesize; + page.oobbuf = xnand->oobbuf; + page.oobsize = xnand->oobsize; + + ret = hifmc100_xnand_dma_map(xnand, &page, HIFMC100_DMA_SADDR_D0, + direction); + if (ret) + return ret; + + if (xnand->ecc_strength == 0) + hifmc_write(hifmc, HIFMC100_DMA_LEN_MASK(xnand->oobsize), + HIFMC100_DMA_LEN); + + regval = hifmc_read(hifmc, HIFMC100_CFG); + regval &= ~HIFMC100_CFG_ECC_TYPE_MASK; + if (xnand->ecc_strength) + regval |= xnand->reg.fmc_cfg_ecc_type; + hifmc_write(hifmc, regval, HIFMC100_CFG); + + /* set address cycle and chip select */ + regval = reg->op_cfg; + if (hifmc->chipselect) + regval |= HIFMC100_OP_CFG_FM_CS; + hifmc_write(hifmc, regval, HIFMC100_OP_CFG); + + /* set randomizer */ + regval = hifmc_read(hifmc, HIFMC100_GLOBAL_CFG); + if (xnand->randomizer_en) + regval |= HIFMC100_GLOBAL_CFG_RANDOMIZER_EN; + else + regval &= ~HIFMC100_GLOBAL_CFG_RANDOMIZER_EN; + hifmc_write(hifmc, regval, HIFMC100_GLOBAL_CFG); + + /* set address */ + hifmc_write(hifmc, cmdfunc->page_addr << 16, HIFMC100_ADDRL); + hifmc_write(hifmc, cmdfunc->page_addr >> 16, HIFMC100_ADDRH); + + /* set command */ + hifmc_write(hifmc, reg->cmd, HIFMC100_CMD); + + hifmc->irq_enable(hifmc); + + hifmc_write(hifmc, reg->op_ctrl, HIFMC100_OP_CTRL); + + hifmc->wait_dma_finish(hifmc); + + /* disable dma done interrupt */ + regval = hifmc_read(hifmc, HIFMC100_INT_EN); + regval &= ~HIFMC100_INT_EN_OP_DONE; + hifmc_write(hifmc, regval, HIFMC100_INT_EN); + + dma_unmap_single(xnand->dev, page.dma_pagebuf, page.pagesize, + direction); + dma_unmap_single(xnand->dev, page.dma_oobbuf, page.oobsize, + direction); + + return 0; +} +/******************************************************************************/ + +static int hifmc100_set_nand_fast_timing(struct hifmc_xnand *nand) +{ +#ifndef CONFIG_HI3798MV2X_FPGA +#ifndef CONFIG_HI3796MV2X_FPGA + u32 regval; + struct hifmc_host *hifmc = nand->host; + + hifmc_write(hifmc, nand->reg.fmc_pnd_pwidth_cfg, + HIFMC100_PND_PWIDTH_CFG); + + regval = hifmc_read(hifmc, HIFMC100_GLOBAL_CFG); + regval |= HIFMC100_GLOBAL_CFG_EDO_MODE; + hifmc_write(hifmc, regval, HIFMC100_GLOBAL_CFG); + + hifmc_write(hifmc, HIFMC100_READ_TIMING_TUNE_VALUE, + HIFMC100_READ_TIMING_TUNE); +#endif +#endif + return 0; +} +/******************************************************************************/ + +static int hifmc100_set_nand_slow_timing(struct hifmc_xnand *nand) +{ + u32 regval; + struct hifmc_host *hifmc = nand->host; + + hifmc_write(hifmc, 0xFFF, HIFMC100_PND_PWIDTH_CFG); + + regval = hifmc_read(hifmc, HIFMC100_GLOBAL_CFG); + regval &= ~HIFMC100_GLOBAL_CFG_EDO_MODE; + hifmc_write(hifmc, regval, HIFMC100_GLOBAL_CFG); + + hifmc_write(hifmc, 0, HIFMC100_READ_TIMING_TUNE); + + return 0; +} +/******************************************************************************/ + +static int hifmc100_xnand_do_read_retry(struct hifmc_xnand *xnand) +{ + int retry_mode = 1; + struct nand_read_retry_info info = {0}; + + info.drv = xnand->regop; + + /* + * 1. spinand not support read retry now + * 2. some NAND will failed when config read retry register in fast timing. + */ + hifmc100_set_nand_slow_timing(xnand); + + if (xnand->read_retry->entry) + xnand->read_retry->entry(&info); + + while (retry_mode < xnand->read_retry->count) { + u32 regval; + + xnand->read_retry->setup(&info, retry_mode); + + hifmc100_set_nand_fast_timing(xnand); + hifmc100_xnand_dma_transfer(xnand, DMA_FROM_DEVICE); + hifmc100_set_nand_slow_timing(xnand); + + /* ecc success */ + regval = hifmc_read(xnand->host, HIFMC100_INT); + if (!(regval & HIFMC100_INT_ERR_INVALID)) + break; + + retry_mode++; + } + + xnand->stats->read_retry(xnand->stats, TO_XNAND_ADDR(xnand), + retry_mode); + + if (xnand->read_retry->exit) + xnand->read_retry->exit(&info); + + hifmc100_set_nand_fast_timing(xnand); + + return 0; +} +/******************************************************************************/ + +static int hifmc100_xnand_fix_read(struct hifmc_xnand *xnand) +{ + u8 ecc[16] = {0}; + int max_bitsflip = 0; + + xnand->ctrl_info->dump(xnand, ecc, &max_bitsflip); + + if (xnand->cmdfunc->command == NAND_CMD_READOOB) { + xnand->is_bad_block = hifmc100_xnand_is_bad_block(xnand, + ecc[xnand->ctrl_info->nr_ecc_sect - 1]); + + BBM(xnand->oobbuf) = xnand->is_bad_block ? 0x00 : 0xFF; + + if (xnand->is_bad_block) + return 0; + } + + xnand->is_empty_page = hifmc100_xnand_is_page_empty(xnand, + ecc[xnand->ctrl_info->nr_ecc_sect - 1]); + if (xnand->is_empty_page) + return 0; + + if (max_bitsflip > xnand->ecc_strength && xnand->read_retry) { + hifmc100_xnand_do_read_retry(xnand); + xnand->ctrl_info->dump(xnand, ecc, &max_bitsflip); + } + + xnand->stats->read(xnand->stats, TO_XNAND_ADDR(xnand), + (u64)xnand->pagesize, ecc); + + if (max_bitsflip > xnand->ecc_strength) + xnand->is_uc_err = true; + + return 0; +} +/******************************************************************************/ + +static void hifmc100_spinand_cmd_readid(struct hifmc_xnand *xnand) +{ + u8 id[FLASH_ID_LEN]; + static int cs[2] = {0}; + struct flash_regop_info info = {0}; + + info.priv = xnand->host; + info.cmd = SPINAND_OP_RDID; + info.nr_cmd = 1; + info.addr_cycle = 1; + info.buf = id; + info.sz_buf = sizeof(id); + xnand->regop->read_reg(&info); + + /* + * only printf once each spi-nand chip, and support one spi-nand chip + */ + if (!cs[xnand->host->chipselect & 0x01] && id[0]) { + cs[xnand->host->chipselect & 0x01] = 1; + pr_info("id: 0x%02X 0x%02X 0x%02X 0x%02X\n", + xnand->name, id[0], id[1], id[2], id[3]); + + memcpy(xnand->id, id, sizeof(id)); + } +} +/******************************************************************************/ + +static void hifmc100_nand_cmd_readid(struct hifmc_xnand *xnand) +{ + u8 id[FLASH_ID_LEN]; + static int cs[2] = {0}; + struct flash_regop_info info = {0}; + + info.priv = xnand->host; + info.cmd = NAND_CMD_READID; + info.nr_cmd = 1; + info.addr_cycle = 1; + info.buf = id; + info.sz_buf = sizeof(id); + xnand->regop->read_reg(&info); + + /* only printk once each xnand chip */ + if (!cs[xnand->host->chipselect & 0x01] && id[0]) { + cs[xnand->host->chipselect & 0x01] = 1; + pr_info("id: 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X\n", + xnand->name, id[0], id[1], id[2], id[3], id[4], id[5], id[6], id[7]); + memcpy(xnand->id, id, sizeof(id)); + } +} +/******************************************************************************/ + +static void hifmc100_nand_cmd_reset(struct hifmc_xnand *xnand) +{ + struct flash_regop_info info = {0}; + + info.priv = xnand->host; + info.cmd = NAND_CMD_RESET; + info.nr_cmd = 1; + info.wait_ready = true; + xnand->regop->write_reg(&info); +} +/******************************************************************************/ + +static void hifmc100_spinand_cmd_reset(struct hifmc_xnand *xnand) +{ + struct flash_regop_info info = {0}; + + info.priv = xnand->host; + info.cmd = SPINAND_OP_RESET; + info.nr_cmd = 1; + xnand->regop->write_reg(&info); + + /* GigaDevice request after 300ns, read status register. */ + ndelay(300); + + xnand->regop->wait_device_ready(xnand->regop); + + /* before read id, there is no special spinand driver */ + if (xnand->spinand_drv) + xnand->spinand_drv->chip_prepare(xnand->regop); +} +/******************************************************************************/ + +static void hifmc100_nand_cmd_erase(struct hifmc_xnand *xnand) +{ + struct flash_regop_info info = {0}; + + info.priv = xnand->host; + info.cmd = (NAND_CMD_ERASE2 << 8) | NAND_CMD_ERASE1; + info.nr_cmd = 2; + info.addrl = xnand->cmdfunc->page_addr; + info.addr_cycle = xnand->erase_addr_cycle; + info.wait_ready = true; + xnand->regop->write_reg(&info); +} +/******************************************************************************/ + +static void hifmc100_spinand_cmd_erase(struct hifmc_xnand *xnand) +{ + struct flash_regop_info info = {0}; + + info.priv = xnand->host; + info.cmd = SPINAND_OP_WREN; + info.nr_cmd = 1; + xnand->regop->write_reg(&info); + + info.cmd = SPINAND_OP_BE; + info.nr_cmd = 1; + info.addrl = xnand->cmdfunc->page_addr; + info.addr_cycle = 3; + xnand->regop->write_reg(&info); + + xnand->regop->wait_device_ready(xnand->regop); +} +/******************************************************************************/ + +static void __maybe_unused hifmc100_spinand_reg_read(struct hifmc_xnand *xnand) +{ + u32 regval; + struct cmdfunc_data *cmdfunc = xnand->cmdfunc; + struct hifmc_host *hifmc = xnand->host; + struct flash_regop_info info = {0}; + + info.priv = xnand->host; + info.cmd = SPINAND_OP_PGRD; + info.nr_cmd = 1; + info.addrl = cmdfunc->page_addr; + info.addr_cycle = 3; + xnand->regop->write_reg(&info); + xnand->regop->wait_device_ready(xnand->regop); + + /* enable ecc and pagesize */ + regval = hifmc_read(hifmc, HIFMC100_CFG); + regval &= ~HIFMC100_CFG_ECC_TYPE_MASK; + regval |= xnand->reg.fmc_cfg_ecc_type; + regval &= ~HIFMC100_CFG_PAGE_SIZE_MASK; + regval |= xnand->reg.fmc_cfg_page_size; + hifmc_write(hifmc, regval, HIFMC100_CFG); + + /* disable randomizer */ + regval = hifmc_read(hifmc, HIFMC100_GLOBAL_CFG); + regval &= ~HIFMC100_GLOBAL_CFG_RANDOMIZER_EN; + hifmc_write(hifmc, regval, HIFMC100_GLOBAL_CFG); + + /* set address */ + hifmc_write(hifmc, 0, HIFMC100_ADDRH); + hifmc_write(hifmc, 0, HIFMC100_ADDRL); + + /* set chip select, address number, dummy */ + regval = HIFMC100_OP_CFG_ADDR_NUM(2); + regval |= HIFMC100_OP_CFG_DUMMY_NUM(1); + if (hifmc->chipselect) + regval |= HIFMC100_OP_CFG_FM_CS; + hifmc_write(hifmc, regval, HIFMC100_OP_CFG); + + hifmc_write(hifmc, 0, HIFMC100_OP_PARA); + + hifmc_write(hifmc, SPINAND_OP_READ, HIFMC100_CMD); + + regval = HIFMC100_OP_REG_OP_START | + HIFMC100_OP_DUMMY_EN | + HIFMC100_OP_CMD1_EN | + HIFMC100_OP_READ_DATA_EN | + HIFMC100_OP_ADDR_EN; + + hifmc_write(hifmc, regval, HIFMC100_OP); + hifmc->wait_host_ready(hifmc); +} +/******************************************************************************/ + +static void hifmc100_xnand_read_cache(struct hifmc_xnand *xnand, int page_addr) +{ + int ret; + char *pagebuf, *oobbuf; + struct flash_cache *cache = xnand->cache; + + xnand->is_empty_page = false; + xnand->is_bad_block = false; + xnand->is_uc_err = false; + + ret = cache->get_status_lock_read_page(cache, page_addr); + switch (ret) { + default: + case FLASHCACHE_PAGE_BADBLOCK: + case FLASHCACHE_DISABLE: + hifmc100_xnand_dma_transfer(xnand, DMA_FROM_DEVICE); + hifmc100_xnand_fix_read(xnand); + break; + + case FLASHCACHE_PAGE_CACHE: + cache->get_cache(cache, page_addr, &pagebuf, &oobbuf); + xnand->pagebuf = pagebuf; + memcpy(xnand->oobbuf, oobbuf, cache->oobsize); + break; + + case FLASHCACHE_PAGE_EMPTY: + xnand->is_empty_page = true; + break; + + case FLASHCACHE_PAGE_UNKNOWN: + ret = cache->new_cache(cache, page_addr, &pagebuf, &oobbuf); + if (!ret) + xnand->pagebuf = pagebuf; + + hifmc100_xnand_dma_transfer(xnand, DMA_FROM_DEVICE); + hifmc100_xnand_fix_read(xnand); + + if (ret) + break; + + if (xnand->is_empty_page) { + cache->discard_cache(cache, page_addr, 1, + FLASHCACHE_PAGE_EMPTY); + break; + } + + if (xnand->is_bad_block) { + cache->discard_cache(cache, page_addr, 1, + FLASHCACHE_PAGE_BADBLOCK); + break; + } + + if (xnand->is_uc_err) { + cache->discard_cache(cache, page_addr, 1, + FLASHCACHE_PAGE_UNKNOWN); + break; + } + + memcpy(oobbuf, xnand->oobbuf, cache->oobsize); + + break; + } +} +/******************************************************************************/ + +static void hifmc100_xnand_cmdfunc(struct mtd_info *mtd, unsigned int command, + int column, int page_addr) +{ + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + struct cmdfunc_data *cmdfunc = xnand->cmdfunc; + + cmdfunc->command = command; + + switch (command) { + case NAND_CMD_READOOB: + column += xnand->pagesize; + + case NAND_CMD_READ0: + cmdfunc->column = column; + cmdfunc->page_addr = page_addr; + cmdfunc->offset = 0; + + hifmc100_xnand_read_cache(xnand, cmdfunc->page_addr); + + if (xnand->is_uc_err) + mtd->ecc_stats.failed++; + + break; + + case NAND_CMD_ERASE1: + cmdfunc->page_addr = page_addr; + break; + + case NAND_CMD_ERASE2: + xnand->cmd_erase(xnand); + + xnand->stats->erase(xnand->stats, TO_XNAND_ADDR(xnand), + (u64)xnand->blocksize); + + xnand->cache->discard_cache(xnand->cache, cmdfunc->page_addr, + xnand->page_per_block, FLASHCACHE_PAGE_EMPTY); + + break; + + case NAND_CMD_SEQIN: + cmdfunc->column = column; + cmdfunc->offset = 0; + cmdfunc->page_addr = page_addr; + + break; + + case NAND_CMD_PAGEPROG: + EPM(xnand->oobbuf) = 0; + + hifmc100_xnand_dma_transfer(xnand, DMA_TO_DEVICE); + + xnand->cache->discard_cache(xnand->cache, cmdfunc->page_addr, + 1, FLASHCACHE_PAGE_UNKNOWN); + + xnand->stats->write(xnand->stats, TO_XNAND_ADDR(xnand), + (u64)xnand->pagesize); + + break; + + case NAND_CMD_STATUS: + /* deal in read_byte */ + break; + + case NAND_CMD_READID: + xnand->cmd_readid(xnand); + cmdfunc->offset = 0; + break; + + case NAND_CMD_RESET: + xnand->cmd_reset(xnand); + break; + + case NAND_CMD_RNDIN: + case NAND_CMD_PARAM: + case NAND_CMD_RNDOUT: + default: + cmdfunc->offset = 0; + pr_err("not support command 0x%08x:\n", xnand->name, command); + break; + } +} +/*****************************************************************************/ + +static void hifmc100_xnand_select_chip(struct mtd_info *mtd, int chipselect) +{ + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + xnand->host->chipselect = chipselect; +} +/*****************************************************************************/ + +static uint8_t hifmc100_xnand_read_byte(struct mtd_info *mtd) +{ + u8 retval; + int offset; + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + struct cmdfunc_data *cmdfunc = xnand->cmdfunc; + + if (cmdfunc->command == NAND_CMD_STATUS) + return xnand->regop->read_sr(xnand->regop); + + cmdfunc->offset++; + + if (cmdfunc->command == NAND_CMD_READID) + return readb(xnand->host->iobase + cmdfunc->offset - 1); + + if (xnand->is_empty_page) { + retval = 0xFF; + goto exit; + } + + offset = cmdfunc->column + cmdfunc->offset - 1; + + if (offset < mtd->writesize) + retval = readb(xnand->pagebuf + offset); + else + retval = readb(xnand->oobbuf + offset - mtd->writesize); + +exit: + if (cmdfunc->command == NAND_CMD_READOOB) { + xnand->cache->unlock_read_page(xnand->cache, xnand->cmdfunc->page_addr); + xnand->pagebuf = xnand->org_pagebuf; + } + + return retval; +} +/*****************************************************************************/ + +static void hifmc100_xnand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len) +{ + int offset; + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + struct cmdfunc_data *cmdfunc = xnand->cmdfunc; + + if (xnand->is_empty_page) { + memset(buf, 0xFF, len); + goto exit; + } + + offset = cmdfunc->column + cmdfunc->offset; + + if (offset >= xnand->pagesize) + memcpy(buf, xnand->oobbuf + offset - xnand->pagesize, len); + else if (offset + len <= xnand->pagesize) + memcpy(buf, xnand->pagebuf + offset, len); + else { + int nr_copy = xnand->pagesize - offset; + memcpy(buf, xnand->pagebuf + offset, nr_copy); + memcpy(buf + nr_copy, xnand->oobbuf, len - nr_copy); + } +exit: + cmdfunc->offset += len; + + if (cmdfunc->command == NAND_CMD_READOOB) { + xnand->cache->unlock_read_page(xnand->cache, xnand->cmdfunc->page_addr); + xnand->pagebuf = xnand->org_pagebuf; + } +} +/******************************************************************************/ + +static int hifmc100_xnand_read_page(struct mtd_info *mtd, struct nand_chip *chip, + uint8_t *buf, int oob_required, int page) +{ + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + + if (xnand->is_empty_page) { + memset(buf, 0xFF, xnand->pagesize); + if (oob_required) + memset(chip->oob_poi, 0xFF, xnand->oobsize); + } else { + memcpy(buf, xnand->pagebuf, xnand->pagesize); + if (oob_required) + memcpy(chip->oob_poi, xnand->oobbuf, xnand->oobsize); + } + + xnand->cache->unlock_read_page(xnand->cache, xnand->cmdfunc->page_addr); + xnand->pagebuf = xnand->org_pagebuf; + + return 0; +} +/******************************************************************************/ + +static void hifmc100_xnand_write_buf(struct mtd_info *mtd, const uint8_t *buf, + int len) +{ + int offset; + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + struct cmdfunc_data *cmdfunc = xnand->cmdfunc; + + offset = cmdfunc->column + cmdfunc->offset; + + if (offset >= xnand->pagesize) + memcpy(xnand->oobbuf + offset - xnand->pagesize, buf, len); + else if (offset + len <= xnand->pagesize) + memcpy(xnand->pagebuf + offset, buf, len); + else { + int nr_copy = xnand->pagesize - offset; + memcpy(xnand->pagebuf + offset, buf, nr_copy); + memcpy(xnand->oobbuf, buf + nr_copy, len - nr_copy); + } + + cmdfunc->offset += len; +} +/******************************************************************************/ + +static int hifmc100_xnand_write_page(struct mtd_info *mtd, struct nand_chip *chip, + const uint8_t *buf, int oob_required) +{ + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + + memcpy(xnand->pagebuf, buf, xnand->pagesize); + if (oob_required) + memcpy(xnand->oobbuf, chip->oob_poi, xnand->oobsize); + + return 0; +} +/******************************************************************************/ + +static u32 hifmc100_ecc_strength_reg(u32 value, bool _to_reg) +{ + int ix; + u32 ecc_strength_reg[] = { + 0, HIFMC100_CFG_ECC_TYPE_NONE, + 8, HIFMC100_CFG_ECC_TYPE_8BIT, + 16, HIFMC100_CFG_ECC_TYPE_16BIT, + 24, HIFMC100_CFG_ECC_TYPE_24BIT, + 28, HIFMC100_CFG_ECC_TYPE_28BIT, + 40, HIFMC100_CFG_ECC_TYPE_40BIT, + 64, HIFMC100_CFG_ECC_TYPE_64BIT, + }; + + if (_to_reg) { + for (ix = 0; ix < ARRAY_SIZE(ecc_strength_reg); ix += 2) + if (ecc_strength_reg[ix] == value) + return ecc_strength_reg[ix+1]; + } else { + for (ix = 0; ix < ARRAY_SIZE(ecc_strength_reg); ix += 2) + if (ecc_strength_reg[ix+1] == value) + return ecc_strength_reg[ix]; + } + + panic(DEVNAME ": invalid ecc strength or register. value:0x%08x\n", value); + + return 0; +} +/******************************************************************************/ + +static u32 hifmc100_pagesize_reg(u32 value, bool _to_reg) +{ + int ix; + u32 pagesize_reg[] = { + SZ_2K, HIFMC100_CFG_PAGE_SIZE_2K, + SZ_4K, HIFMC100_CFG_PAGE_SIZE_4K, + SZ_8K, HIFMC100_CFG_PAGE_SIZE_8K, + SZ_16K, HIFMC100_CFG_PAGE_SIZE_16K, + }; + + if (_to_reg) { + for (ix = 0; ix < ARRAY_SIZE(pagesize_reg); ix += 2) + if (pagesize_reg[ix] == value) + return pagesize_reg[ix+1]; + } else { + for (ix = 0; ix < ARRAY_SIZE(pagesize_reg); ix += 2) + if (pagesize_reg[ix+1] == value) + return pagesize_reg[ix]; + } + + panic(DEVNAME ": invalid pagesize or register. value:0x%08x\n", value); + + return 0; +} +/******************************************************************************/ + +static void hifmc100_dump_bitflip(void *host, u8 ecc[16], int *max_bitsflip) +{ + u32 *e = (u32 *)ecc; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)host; + struct hifmc_host *hifmc = xnand->host; + + e[0] = hifmc_read(hifmc, HIFMC100_FMC_ERR_NUM0_BUF0); + + if (xnand->pagesize >= SZ_8K) { + e[1] = hifmc_read(hifmc, HIFMC100_FMC_ERR_NUM0_BUF0 + 0x4); + + if (xnand->pagesize >= SZ_16K) { + e[2] = hifmc_read(hifmc, HIFMC100_FMC_ERR_NUM0_BUF0 + 0x8); + e[3] = hifmc_read(hifmc, HIFMC100_FMC_ERR_NUM0_BUF0 + 0xC); + } + } + + if (max_bitsflip) { + int ix; + *max_bitsflip = 0; + + for (ix = 0; ix < xnand->ctrl_info->nr_ecc_sect; ix++) { + if (*max_bitsflip < ecc[ix]) + *max_bitsflip = ecc[ix]; + } + } +} +/******************************************************************************/ + +static struct nand_ecclayout hifmc100_xnand_ecclayout = { + .oobfree = {{2, 30}}, +}; +/******************************************************************************/ + +#define SET_CTRL_INFO(_pagesize, _ecc_strength, _sz_data, _sz_ecc, _threshold) { \ + .pagesize = (_pagesize), \ + .ecc = { .strength = (_ecc_strength), .step = SZ_1K, }, \ + .section = { .sz_data = (_sz_data), .sz_ecc = (_sz_ecc), }, \ + .threshold = (_threshold), \ + .ecclayout = &hifmc100_xnand_ecclayout, \ + .dump = hifmc100_dump_bitflip, \ + .nr_ecc_sect = 0, } + +/******************************************************************************/ + +static struct nand_ctrl_info hifmc100_nand_ctrl_info[] = { + SET_CTRL_INFO(SZ_2K, 8, 1040, 14, 7), + SET_CTRL_INFO(SZ_2K, 16, 1028, 28, 14), + SET_CTRL_INFO(SZ_2K, 24, 1040, 42, 21), + SET_CTRL_INFO(SZ_2K, 28, 1040, 50, 25), + + SET_CTRL_INFO(SZ_4K, 8, 1032, 14, 7), + SET_CTRL_INFO(SZ_4K, 16, 1028, 28, 14), + SET_CTRL_INFO(SZ_4K, 24, 1032, 42, 21), + SET_CTRL_INFO(SZ_4K, 28, 1032, 50, 25), + + SET_CTRL_INFO(SZ_8K, 24, 1028, 42, 21), + SET_CTRL_INFO(SZ_8K, 28, 1028, 50, 25), + SET_CTRL_INFO(SZ_8K, 40, 1028, 70, 34), + SET_CTRL_INFO(SZ_8K, 64, 1028, 112, 58), + + SET_CTRL_INFO(SZ_16K, 40, 1026, 70, 34), + SET_CTRL_INFO(SZ_16K, 64, 1026, 112, 58), + + {0}, +}; +/******************************************************************************/ + +static struct nand_ctrl_info hifmc100_spinand_ctrl_info[] = { + SET_CTRL_INFO(SZ_2K, 8, 1040, 14, 7), + SET_CTRL_INFO(SZ_2K, 24, 1040, 42, 21), + + SET_CTRL_INFO(SZ_4K, 8, 1032, 14, 7), + SET_CTRL_INFO(SZ_4K, 24, 1032, 42, 21), + + {0}, +}; +/******************************************************************************/ + +static int hifmc100_xnand_sanely_check(struct mtd_info *mtd, struct nand_chip *chip, + struct hifmc_xnand *xnand) +{ + char blockstr[8]; + char pagestr[8]; + char chipstr[8]; + + if (mtd->writesize != xnand->pagesize) { + panic(DEVNAME ": xnand chip pagesize:%d, controller pagesize:%d, conflic.\n", + mtd->writesize, xnand->pagesize); + } + + pr_info("Block:%sB Page:%sB OOB:%dB ", + xnand->name, + ultohstr(mtd->erasesize, blockstr, sizeof(blockstr)), + ultohstr(mtd->writesize, pagestr, sizeof(pagestr)), + mtd->oobsize); + + if (xnand->pagesize == SZ_2K && xnand->ecc_strength <= 8) + printk("ECC:%dbits/512 ", xnand->ecc_strength >> 1); + else + printk("ECC:%dbits/1K ", xnand->ecc_strength); + + printk("Chip:%sB ", ultohstr(mtd->size, chipstr, sizeof(chipstr))); + + if (xnand->ifmode == HIFMC_IFMODE_SPINAND) + printk("maxclk:%luM ", xnand->clk_rate / 1000000); + + if (xnand->read_retry) + printk("read-retry "); + + printk("\n"); + + return 0; +} +/******************************************************************************/ + +static int hifmc100_xnand_mtd_erase(struct mtd_info *mtd, struct erase_info *instr) +{ + int ret; + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + struct hifmc_host *host = xnand->host; + void (*callback) (struct erase_info *) = instr->callback; + + mutex_lock(&host->lock); + host->set_ifmode(host, xnand->ifmode); + + instr->callback = NULL; + ret = xnand->mtd_func->_erase(mtd, instr); + instr->callback = callback; + + mutex_unlock(&host->lock); + + if (!ret && instr->callback) + instr->callback(instr); + + return ret; +} +/******************************************************************************/ + +static int hifmc100_xnand_mtd_read(struct mtd_info *mtd, loff_t from, size_t len, + size_t *retlen, u_char *buf) +{ + int ret; + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + struct hifmc_host *host = xnand->host; + + mutex_lock(&host->lock); + host->set_ifmode(host, xnand->ifmode); + + ret = xnand->mtd_func->_read(mtd, from, len, retlen, buf); + + mutex_unlock(&host->lock); + + return ret; +} +/******************************************************************************/ + +static int hifmc100_xnand_mtd_write(struct mtd_info *mtd, loff_t to, size_t len, + size_t *retlen, const u_char *buf) +{ + int ret; + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + struct hifmc_host *host = xnand->host; + + mutex_lock(&host->lock); + host->set_ifmode(host, xnand->ifmode); + + ret = xnand->mtd_func->_write(mtd, to, len, retlen, buf); + + mutex_unlock(&host->lock); + + return ret; +} +/******************************************************************************/ + +static int hifmc100_xnand_mtd_panic_write(struct mtd_info *mtd, loff_t to, + size_t len, size_t *retlen, + const u_char *buf) +{ + int ret; + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + struct hifmc_host *host = xnand->host; + + mutex_lock(&host->lock); + host->set_ifmode(host, xnand->ifmode); + + ret = xnand->mtd_func->_panic_write(mtd, to, len, retlen, buf); + + mutex_unlock(&host->lock); + + return ret; +} +/******************************************************************************/ + +static int hifmc100_xnand_mtd_read_oob(struct mtd_info *mtd, loff_t from, + struct mtd_oob_ops *ops) +{ + int ret; + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + struct hifmc_host *host = xnand->host; + + mutex_lock(&host->lock); + host->set_ifmode(host, xnand->ifmode); + + ret = xnand->mtd_func->_read_oob(mtd, from, ops); + + mutex_unlock(&host->lock); + + return ret; +} +/******************************************************************************/ + +static int hifmc100_xnand_mtd_write_oob(struct mtd_info *mtd, loff_t to, + struct mtd_oob_ops *ops) +{ + int ret; + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + struct hifmc_host *host = xnand->host; + + mutex_lock(&host->lock); + host->set_ifmode(host, xnand->ifmode); + + ret = xnand->mtd_func->_write_oob(mtd, to, ops); + + mutex_unlock(&host->lock); + + return ret; +} +/******************************************************************************/ + +static int hifmc100_xnand_mtd_block_isbad(struct mtd_info *mtd, loff_t ofs) +{ + int ret; + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + struct hifmc_host *host = xnand->host; + + mutex_lock(&host->lock); + host->set_ifmode(host, xnand->ifmode); + + ret = xnand->mtd_func->_block_isbad(mtd, ofs); + + mutex_unlock(&host->lock); + + return ret; +} +/******************************************************************************/ + +static int hifmc100_xnand_mtd_block_markbad(struct mtd_info *mtd, loff_t ofs) +{ + int ret; + struct nand_chip *chip = (struct nand_chip *)mtd->priv; + struct hifmc_xnand *xnand = (struct hifmc_xnand *)chip->priv; + struct hifmc_host *host = xnand->host; + + mutex_lock(&host->lock); + host->set_ifmode(host, xnand->ifmode); + + ret = xnand->mtd_func->_block_markbad(mtd, ofs); + + mutex_unlock(&host->lock); + + return ret; +} +/******************************************************************************/ + +static int hifmc100_xnand_regop_open(void *priv) +{ + struct hifmc_xnand *xnand = (struct hifmc_xnand *)priv; + struct hifmc_host *hifmc = xnand->host; + + mutex_lock(&hifmc->lock); + hifmc->set_ifmode(hifmc, xnand->ifmode); + xnand->chip->select_chip(xnand->mtd, 0); + + return 0; +} +/******************************************************************************/ + +static int hifmc100_xnand_regop_release(void *priv) +{ + struct hifmc_xnand *xnand = (struct hifmc_xnand *)priv; + struct hifmc_host *hifmc = xnand->host; + + mutex_unlock(&hifmc->lock); + + return 0; +} +/******************************************************************************/ + +static int hifmc100_nand_read_mp_start(struct hifmc_xnand *nand, int page_addr, + int nr_pages) +{ + u32 regval; + int fail_addr; + struct hifmc_host *hifmc = nand->host; + struct hifmc_reg *reg = &nand->reg.read; + + regval = hifmc_read(hifmc, HIFMC100_CFG); + regval &= ~HIFMC100_CFG_ECC_TYPE_MASK; + if (nand->ecc_strength) + regval |= nand->reg.fmc_cfg_ecc_type; + hifmc_write(hifmc, regval, HIFMC100_CFG); + + /* set address cycle and chip select */ + regval = reg->op_cfg; + if (hifmc->chipselect) + regval |= HIFMC100_OP_CFG_FM_CS; + hifmc_write(hifmc, regval, HIFMC100_OP_CFG); + + /* set randomizer */ + regval = hifmc_read(hifmc, HIFMC100_GLOBAL_CFG); + if (nand->randomizer_en) + regval |= HIFMC100_GLOBAL_CFG_RANDOMIZER_EN; + else + regval &= ~HIFMC100_GLOBAL_CFG_RANDOMIZER_EN; + hifmc_write(hifmc, regval, HIFMC100_GLOBAL_CFG); + + /* set address */ + hifmc_write(hifmc, page_addr << 16, HIFMC100_ADDRL); + hifmc_write(hifmc, page_addr >> 16, HIFMC100_ADDRH); + + regval = (HIFMC100_FMC_CACHE_PAGE_NUM_MASK & nr_pages) | + HIFMC100_FMC_CACHE_EXIT_OP_EN; + hifmc_write(hifmc, regval, HIFMC100_FMC_CACHE_CTRL); + + hifmc->irq_enable(hifmc); + + regval = HIFMC100_OP_CTRL_DMA_OP_READY | + HIFMC100_OP_CTRL_RD_OP_SEL_CACHE; + hifmc_write(hifmc, regval, HIFMC100_OP_CTRL); + + hifmc->wait_dma_finish(hifmc); + + /* disable dma done interrupt */ + regval = hifmc_read(hifmc, HIFMC100_INT_EN); + regval &= ~HIFMC100_INT_EN_OP_DONE; + hifmc_write(hifmc, regval, HIFMC100_INT_EN); + + regval = hifmc_read(hifmc, HIFMC100_FMC_ECC_INVALID_ADDRL); + fail_addr = ((regval & 0xFFFF0000) >> 16); + + regval = hifmc_read(hifmc, HIFMC100_FMC_ECC_INVALID_ADDRH); + fail_addr |= ((regval & 0xFF) << 16); + + return fail_addr; +} +/******************************************************************************/ + +static int hifmc100_nand_read_mp_prepare(struct hifmc_xnand *nand, + int page_addr, struct page_info *pages) +{ + int ix; + struct flash_cache *cache = nand->cache; + + for (ix = 0; ix < 8; ix++) { + int ret; + int reg_addr; + struct page_info *page = &pages[ix]; + + page->page_addr = page_addr++; + + if (page->page_addr >= cache->max_pages) { + page->status = FLASHCACHE_PAGE_UNKNOWN; + break; + } + + page->status = cache->get_status_lock_read_page(cache, + page->page_addr); + if (page->status != FLASHCACHE_PAGE_UNKNOWN) { + cache->unlock_read_page(cache, page->page_addr); + break; + } + + ret = cache->new_cache(cache, page->page_addr, &page->pagebuf, + &page->oobbuf); + if (ret) { + cache->unlock_read_page(cache, page->page_addr); + break; + } + + if (!ix) + reg_addr = HIFMC100_DMA_SADDR_D0; + else + reg_addr = HIFMC100_FMC_DMA_SADDR_D0_P1 + + (ix - 1) * 0x14; + + page->pagesize = nand->pagesize; + page->oobsize = 32; + + ret = hifmc100_xnand_dma_map(nand, page, reg_addr, + DMA_FROM_DEVICE); + if (ret) { + cache->discard_cache(cache, page->page_addr, 1, + FLASHCACHE_PAGE_UNKNOWN); + cache->unlock_read_page(cache, page->page_addr); + break; + } + } + + if (ix == 8) { + pages[8].status = FLASHCACHE_PAGE_UNKNOWN; + pages[8].page_addr = page_addr; + } + + return ix; +} +/******************************************************************************/ + +static int hifmc100_nand_read_mp_finish(struct hifmc_xnand *nand, + int fail_addr, struct page_info *pages, + int count) +{ + int ix; + int discard; + struct page_info *page; + struct flash_cache *cache = nand->cache; + u32 blockmask = cache->pages_per_block - 1; + + discard = nand->host->intr_status & HIFMC100_INT_ERR_INVALID; + + for (ix = 0; ix < count; ix++) { + page = &pages[ix]; + + dma_unmap_single(nand->dev, page->dma_pagebuf, page->pagesize, + DMA_FROM_DEVICE); + dma_unmap_single(nand->dev, page->dma_oobbuf, page->oobsize, + DMA_FROM_DEVICE); + } + + for (ix = 0; ix < count; ix++) { + page = &pages[ix]; + + if (!(page->page_addr & blockmask) && + BBM(page->oobbuf) == 0x00) { + cache->discard_cache(cache, page->page_addr, count - ix, + FLASHCACHE_PAGE_BADBLOCK); + + pages[count].status = FLASHCACHE_PAGE_BADBLOCK; + + break; + } + + if (EPM(page->oobbuf) == 0xFFFF) { + int remainder = cache->pages_per_block - + (page->page_addr & blockmask); + + if (remainder > (count - ix)) + remainder = count - ix; + + cache->discard_cache(cache, page->page_addr, remainder, + FLASHCACHE_PAGE_EMPTY); + + ix += remainder - 1; + + pages[ix].status = FLASHCACHE_PAGE_EMPTY; + + continue; + } + + if (discard && page->page_addr <= fail_addr) { + int num = fail_addr - page->page_addr + 1; + + cache->discard_cache(cache, page->page_addr, + num, FLASHCACHE_PAGE_UNKNOWN); + + ix += num - 1; + + continue; + } + } + + for (ix = 0; ix < count; ix++) { + page = &pages[ix]; + cache->unlock_read_page(cache, page->page_addr); + } + + return 0; +} +/******************************************************************************/ + +static int hifmc100_nand_read_ahead(void *arg, int pageindex, int *skip_pages) +{ + int count; + int status; + struct page_info pages[9]; + + struct hifmc_xnand *nand = (struct hifmc_xnand *)arg; + struct hifmc_host *hifmc = nand->host; + struct flash_cache *cache = nand->cache; + + mutex_lock(&hifmc->lock); + hifmc->set_ifmode(hifmc, nand->ifmode); + nand->chip->select_chip(nand->mtd, 0); + + count = hifmc100_nand_read_mp_prepare(nand, pageindex, pages); + if (count) { + int fail_addr = hifmc100_nand_read_mp_start(nand, pageindex, + count); + hifmc100_nand_read_mp_finish(nand, fail_addr, pages, count); + } + + mutex_unlock(&hifmc->lock); + + status = pages[count].status; + + if (status == FLASHCACHE_PAGE_EMPTY || + status == FLASHCACHE_PAGE_BADBLOCK) { + u32 blockmask = cache->pages_per_block - 1; + int next_block_start = (pages[count].page_addr + + cache->pages_per_block) & ~blockmask; + + *skip_pages = next_block_start - pageindex; + } else { + *skip_pages = count; + + if (!*skip_pages) + *skip_pages = 1; + + while (status == FLASHCACHE_PAGE_CACHE && + (pageindex + (*skip_pages) + 1) < cache->max_pages) + status = cache->peek_status(cache, + pageindex + (++(*skip_pages))); + } + + return 0; +} +/******************************************************************************/ + +static void hifmc100_spinand_set_xfer(struct hifmc_xnand *xnand) +{ + struct spinand_chip_xfer *xfer; + struct hifmc_reg *read, *write; + + xfer = spinand_get_xfer(hifmc100_spinand_chip_xfer, + xnand->id, sizeof(xnand->id)); + + xnand->clk_rate = xfer->clock; + + read = &xnand->reg.read; + write = &xnand->reg.write; + + if (xfer->datapin == 1) { + read->op_cfg = HIFMC100_OP_CFG_MEM_IFTYPE_STD | + HIFMC100_OP_CFG_DUMMY_NUM(1); + read->op_ctrl = HIFMC100_OP_CTRL_DMA_OP_READY | + HIFMC100_OP_CTRL_RD_OPCODE(SPINAND_OP_READ); + + write->op_cfg = HIFMC100_OP_CFG_MEM_IFTYPE_STD; + write->op_ctrl = HIFMC100_OP_CTRL_DMA_OP_READY | + HIFMC100_OP_CTRL_RW_OP_WRITE | + HIFMC100_OP_CTRL_WR_OPCODE(SPINAND_OP_PLD); + } else if (xfer->datapin == 2) { + read->op_cfg = HIFMC100_OP_CFG_MEM_IFTYPE_DUAL | + HIFMC100_OP_CFG_DUMMY_NUM(1); + read->op_ctrl = HIFMC100_OP_CTRL_DMA_OP_READY | + HIFMC100_OP_CTRL_RD_OPCODE(SPINAND_OP_READ_2); + + write->op_cfg = HIFMC100_OP_CFG_MEM_IFTYPE_DUAL; + write->op_ctrl = HIFMC100_OP_CTRL_DMA_OP_READY | + HIFMC100_OP_CTRL_RW_OP_WRITE | + HIFMC100_OP_CTRL_WR_OPCODE(SPINAND_OP_PLD); + + } else { /* default xfer->datapin == 4 */ + read->op_cfg = HIFMC100_OP_CFG_MEM_IFTYPE_QUAD | + HIFMC100_OP_CFG_DUMMY_NUM(1); + read->op_ctrl = HIFMC100_OP_CTRL_DMA_OP_READY | + HIFMC100_OP_CTRL_RD_OPCODE(SPINAND_OP_READ_4); + + write->op_cfg = HIFMC100_OP_CFG_MEM_IFTYPE_QUAD; + write->op_ctrl = HIFMC100_OP_CTRL_DMA_OP_READY | + HIFMC100_OP_CTRL_RW_OP_WRITE | + HIFMC100_OP_CTRL_WR_OPCODE(SPINAND_OP_PLD_4); + } +} +/******************************************************************************/ + +static int hifmc100_xnand_probe_device(struct platform_device *pdev, + struct hifmc_xnand *xnand) +{ + int ret; + int devid = xnand->id[1]; + struct mtd_info *mtd = xnand->mtd; + struct nand_chip *chip = xnand->chip; + struct nand_ecc_ctrl *ecc = &chip->ecc; + struct nand_flash_dev *nand_id_table; + struct nand_flash_dev *nand_dev; + + chip->options = NAND_SKIP_BBTSCAN | NAND_NO_SUBPAGE_WRITE; + chip->cmdfunc = hifmc100_xnand_cmdfunc; + chip->dev_ready = hifmc100_xnand_dev_ready; + chip->select_chip = hifmc100_xnand_select_chip; + chip->read_byte = hifmc100_xnand_read_byte; + chip->read_buf = hifmc100_xnand_read_buf; + chip->write_buf = hifmc100_xnand_write_buf; + + if (xnand->ifmode == HIFMC_IFMODE_NAND) + nand_id_table = nand_flash_ids_hisi; + else + nand_id_table = spinand_flash_ids_hisi; + + for (nand_dev = nand_id_table; nand_dev->name; nand_dev++) { + if (nand_dev->id_len) { + if (memcmp(xnand->id, nand_dev->id, nand_dev->id_len)) + continue; + } else { + if (nand_dev->ids.dev_id != devid) + continue; + } + + break; + } + + if (!nand_dev->name) + return -ENODEV; + + ret = nand_scan_ident(mtd, HIFMC100_OP_CFG_NUM_CS, nand_id_table); + if (ret) + return ret; + + if (xnand->ifmode == HIFMC_IFMODE_SPINAND) { + hifmc100_spinand_set_xfer(xnand); + } else { + xnand->reg.fmc_pnd_pwidth_cfg = nand_get_clock( + hifmc100_nand_rwlatch, + xnand->id, sizeof(xnand->id)); + + hifmc100_set_nand_fast_timing(xnand); + } + + if (chip->read_retry_type) { + xnand->read_retry = nand_get_read_retry(chip->read_retry_type); + if (!xnand->read_retry) + panic(DEVNAME ": not support read retry type: %d\n", chip->read_retry_type); + } + + if (xnand->ifmode == HIFMC_IFMODE_SPINAND) { + int ix; + + xnand->spinand_drv = spinand_get_drvier(xnand->id, + sizeof(xnand->id)); + + for (ix = 0; ix < chip->numchips; ix++) { + chip->select_chip(mtd, ix); + xnand->spinand_drv->chip_prepare(xnand->regop); + } + chip->select_chip(mtd, -1); + } + + xnand->blocksize = mtd->erasesize; + xnand->page_per_block = (xnand->blocksize >> chip->page_shift); + + hifmc100_xnand_sanely_check(mtd, chip, xnand); + + if (xnand->ecc_strength && xnand->pagesize >= SZ_8K) + xnand->randomizer_en = true; + else + xnand->randomizer_en = false; + + /* One more address cycle for devices > 128MiB */ + if (chip->chipsize > (128 << 20)) + xnand->erase_addr_cycle = 3; + else + xnand->erase_addr_cycle = 2; + + xnand->read_addr_cycle = xnand->erase_addr_cycle + 2; + + ecc->mode = NAND_ECC_HW; + ecc->layout = xnand->ctrl_info->ecclayout; + + /* nothing. only eliminate kernel ecc check warning */ + ecc->size = xnand->ctrl_info->ecc.step; + ecc->strength = 60; + + ecc->read_page_raw = hifmc100_xnand_read_page; + ecc->read_page = hifmc100_xnand_read_page; + ecc->write_page = hifmc100_xnand_write_page; + ecc->write_page_raw = hifmc100_xnand_write_page; + + xnand->pagebuf = devm_kmalloc(&pdev->dev, mtd->writesize, GFP_KERNEL); + if (!xnand->pagebuf) { + pr_err("out of memory.\n", DEVNAME); + return -EIO; + } + xnand->org_pagebuf = xnand->pagebuf; + + xnand->oobbuf = devm_kmalloc(&pdev->dev, mtd->oobsize, GFP_KERNEL); + if (!xnand->oobbuf) { + devm_kfree(&pdev->dev, xnand->pagebuf); + pr_err("out of memory.\n", DEVNAME); + return -EIO; + } + + xnand->dev = &pdev->dev; + xnand->oobsize = mtd->oobsize; + memset(xnand->oobbuf, 0xFF, xnand->oobsize); + + ret = nand_scan_tail(mtd); + if (ret) { + devm_kfree(&pdev->dev, xnand->pagebuf); + devm_kfree(&pdev->dev, xnand->oobbuf); + return ret; + } + +#define _SET_FUNC(_func) \ + xnand->mtd_func->_func = mtd->_func, \ + mtd->_func = hifmc100_xnand_mtd##_func; + + /* + * mtd->_erase = nand_erase; { + * nand_erase_nand(); { + * nand_check_wp(); + * nand_block_checkbad(); + * chip->erase() = single_erase(); { + * chip->cmdfunc(mtd, NAND_CMD_ERASE1, -1, page); + * chip->cmdfunc(mtd, NAND_CMD_ERASE2, -1, -1); + * chip->waitfunc(mtd, chip); + * } + * } + * } + */ + _SET_FUNC(_erase); + + /* + * mtd->_read = nand_read(); { + * nand_do_read_ops(); { + * chip->cmdfunc(mtd, NAND_CMD_READ0, 0x00, page) = hifmc100_xnand_cmdfunc(); + * chip->ecc.read_page = hifmc100_xnand_read_page(); + * nand_wait_ready(); { + * chip->dev_ready = hifmc100_xnand_dev_ready(); + * } + * } + * } + */ + _SET_FUNC(_read); + + /* + * mtd->_write = nand_write(); { + * nand_do_write_ops(); { + * nand_check_wp(); + * chip->write_page = nand_write_page(); { + * chip->cmdfunc(mtd, NAND_CMD_SEQIN, 0x00, page); + * chip->ecc.write_page = hifmc100_xnand_write_page(); + * chip->cmdfunc(mtd, NAND_CMD_PAGEPROG, -1, -1); + * chip->waitfunc(mtd, chip) = nand_wait(); { + * chip->dev_ready(); + * chip->read_byte() = hifmc100_xnand_read_byte(); + * } + * } + * } + * } + */ + _SET_FUNC(_write); + _SET_FUNC(_panic_write); + + /* + * mtd->_read_oob = nand_read_oob() { + * nand_do_read_oob(); { + * chip->ecc.read_oob() = nand_read_oob_std(); { + * chip->cmdfunc(mtd, NAND_CMD_READOOB, 0, page); + * chip->read_buf(mtd, chip->oob_poi, mtd->oobsize) = hifmc100_xnand_read_buf(); + * } + * nand_transfer_oob(); + * nand_wait_ready(); + * } + * } + */ + _SET_FUNC(_read_oob); + + + /* + * mtd->_write_oob = nand_write_oob(); { + * nand_do_write_oob(); { + * chip->cmdfunc(mtd, NAND_CMD_RESET, -1, -1); + * nand_fill_oob(); + * chip->ecc.write_oob() = nand_write_oob_std(); { + * chip->cmdfunc(mtd, NAND_CMD_SEQIN, mtd->writesize, page); + * chip->write_buf(mtd, buf, length); + * chip->cmdfunc(mtd, NAND_CMD_PAGEPROG, -1, -1); + * chip->waitfunc(mtd, chip); + * } + * } + * } + */ + _SET_FUNC(_write_oob); + + /* + * mtd->_block_isbad = nand_block_isbad(); { + * nand_block_checkbad(); { + * chip->block_bad() = nand_block_bad(); { + * chip->cmdfunc(mtd, NAND_CMD_READOOB, chip->badblockpos, page); + * chip->read_byte(); + * } + * } + * } + */ + _SET_FUNC(_block_isbad); + + /* + * mtd->_block_markbad = nand_block_markbad(); { + * nand_block_isbad(); { + * nand_block_checkbad(); + * } + * nand_block_markbad_lowlevel(); { + * nand_erase_nand(); + * chip->block_markbad = nand_default_block_markbad(); { + * nand_do_write_oob(); + * } + * } + * } + */ + _SET_FUNC(_block_markbad); + +#undef _SET_FUNC + + return 0; +} +/******************************************************************************/ + +static void hifmc100_spinand_resume(struct hifmc_xnand *xnand) +{ + int nrchip; + u32 regval; + struct hifmc_host *hifmc = xnand->host; + struct nand_chip *chip = xnand->chip; + + mutex_lock(&hifmc->lock); + + regval = hifmc_read(hifmc, HIFMC100_CFG); + regval |= HIFMC100_CFG_OP_MODE_NORMAL; + hifmc_write(hifmc, regval, HIFMC100_CFG); + + hifmc_write(hifmc, 0x6F, HIFMC100_TIMING_SPI_CFG); + + hifmc->set_ifmode(hifmc, HIFMC_IFMODE_SPINAND); + clk_set_rate(hifmc->clk, hifmc->spinand->clk_rate); + + for (nrchip = 0; nrchip < chip->numchips; nrchip++) { + chip->select_chip(xnand->mtd, nrchip); + xnand->cmd_reset(xnand); + xnand->spinand_drv->chip_prepare(xnand->regop); + } + + writel(hifmc->fmc_crg_value, hifmc->fmc_crg_addr); + mutex_unlock(&hifmc->lock); +} +/******************************************************************************/ + +static void hifmc100_nand_resume(struct hifmc_xnand *xnand) +{ + int nrchip; + u32 regval; + struct hifmc_host *hifmc = xnand->host; + struct nand_chip *chip = xnand->chip; + + mutex_lock(&hifmc->lock); + + regval = hifmc_read(hifmc, HIFMC100_CFG); + regval |= HIFMC100_CFG_OP_MODE_NORMAL; + hifmc_write(hifmc, regval, HIFMC100_CFG); + + hifmc_write(hifmc, xnand->reg.fmc_pnd_pwidth_cfg, + HIFMC100_PND_PWIDTH_CFG); + + hifmc->set_ifmode(hifmc, HIFMC_IFMODE_NAND); + clk_set_rate(hifmc->clk, hifmc->nand->clk_rate); + + for (nrchip = 0; nrchip < chip->numchips; nrchip++) { + chip->select_chip(xnand->mtd, nrchip); + xnand->cmd_reset(xnand); + } + + writel(hifmc->fmc_crg_value, hifmc->fmc_crg_addr); + hifmc100_set_nand_fast_timing(xnand); + + mutex_unlock(&hifmc->lock); +} +/******************************************************************************/ + +static void hifmc100_spinand_setup(struct hifmc_xnand *xnand) +{ + xnand->regop->read_sr = hifmc100_spinand_read_sr; + xnand->read_raw_bbm = hifmc100_spinand_read_raw_bbm; + xnand->cmd_readid = hifmc100_spinand_cmd_readid; + xnand->cmd_reset = hifmc100_spinand_cmd_reset; + xnand->cmd_erase = hifmc100_spinand_cmd_erase; + + xnand->resume = hifmc100_spinand_resume; + + xnand->clk_rate = 0; /* min clock do read id, reset.*/ +} +/******************************************************************************/ + +static void hifmc100_nand_setup(struct hifmc_xnand *xnand) +{ + struct hifmc_reg *reg; + + reg = &xnand->reg.read; + + reg->op_cfg = HIFMC100_OP_CFG_ADDR_NUM(xnand->read_addr_cycle); + + reg->cmd = (NAND_CMD_READSTART << 8) | NAND_CMD_READ0; + + reg->op_ctrl = HIFMC100_OP_CTRL_DMA_OP_READY; + + reg = &xnand->reg.write; + + reg->op_cfg = HIFMC100_OP_CFG_ADDR_NUM(xnand->read_addr_cycle); + + reg->cmd = (NAND_CMD_PAGEPROG << 8) | NAND_CMD_SEQIN; + + reg->op_ctrl = HIFMC100_OP_CTRL_DMA_OP_READY | + HIFMC100_OP_CTRL_RW_OP_WRITE; + + xnand->regop->read_sr = hifmc100_nand_read_sr; + xnand->read_raw_bbm = hifmc100_nand_read_raw_bbm; + xnand->cmd_readid = hifmc100_nand_cmd_readid; + xnand->cmd_reset = hifmc100_nand_cmd_reset; + xnand->cmd_erase = hifmc100_nand_cmd_erase; + + xnand->resume = hifmc100_nand_resume; + + xnand->clk_rate = (ulong)(-1); /* max clock do read id, reset */ +} +/******************************************************************************/ + +int hifmc100_xnand_probe(struct platform_device *pdev, struct hifmc_host *host, + int ifmode) +{ + int ret; + struct hifmc_xnand *xnand; + struct nand_ctrl_info *ctrl_info; + struct flash_regop_intf *regop_intf; + int (*read_ahead)(void *, int, int *) = NULL; + + xnand = devm_kzalloc(&pdev->dev, sizeof(struct hifmc_xnand), GFP_KERNEL); + if (!xnand) { + pr_err("failed to allocate hifmc_xnand structure.\n", DEVNAME); + return -ENOMEM; + } + + xnand->host = host; + xnand->chip->priv = xnand; + xnand->mtd->priv = xnand->chip; + xnand->chip->IO_ADDR_R = xnand->chip->IO_ADDR_W = host->iobase; + xnand->mtd->name = "hinand"; + xnand->mtd->owner = THIS_MODULE; + + xnand->ifmode = ifmode; + xnand->regop->priv = host; + xnand->regop->read_reg = hifmc100_read_reg; + xnand->regop->write_reg = hifmc100_write_reg; + xnand->regop->wait_device_ready = hifmc100_xnand_wait_device_ready; + + if (ifmode == HIFMC_IFMODE_NAND) { + ctrl_info = hifmc100_nand_ctrl_info; + + host->nand = xnand; + xnand->name = "nand"; + + hifmc100_nand_setup(xnand); + } else if (ifmode == HIFMC_IFMODE_SPINAND) { + ctrl_info = hifmc100_spinand_ctrl_info; + + host->spinand = xnand; + xnand->name = "spinand"; + + hifmc100_spinand_setup(xnand); + } else + panic(DEVNAME ": invalid ifmode:%d\n", ifmode); + + host->set_ifmode(host, ifmode); + + /* force change clock rate when it call set_ifmode next time. */ + host->set_ifmode(host, HIFMC_IFMODE_INVALID); + + hifmc100_xnand_select_chip(xnand->mtd, 0); + xnand->cmd_reset(xnand); + xnand->cmd_readid(xnand); + if (!xnand->id[0] || (xnand->id[0] == 0xff) || (xnand->id[0] == xnand->id[1])) + goto fail; + + xnand->ecc_strength = + hifmc100_ecc_strength_reg(host->reg.fmc_cfg_ecc_type, false); + xnand->pagesize = hifmc100_pagesize_reg(host->reg.fmc_cfg_page_size, false); + + xnand->reg.fmc_cfg_ecc_type = host->reg.fmc_cfg_ecc_type; + xnand->reg.fmc_cfg_page_size = host->reg.fmc_cfg_page_size; + + xnand->ctrl_info = nand_get_ctrl_info(ctrl_info, xnand->pagesize, + xnand->ecc_strength); + if (!xnand->ctrl_info) { + /* + * when spi-nor on board, host will find a invalid spi-nand, and goto here + * we ignore this error. + */ + printk(DEVNAME ": invalid pagesize(%d) or ecc_strength(%d).\n", + xnand->pagesize, xnand->ecc_strength); + goto fail; + } + + if (hifmc100_xnand_probe_device(pdev, xnand)) + goto fail; + + if (ifmode == HIFMC_IFMODE_NAND && xnand->manuf != NAND_MFR_AMD) + read_ahead = hifmc100_nand_read_ahead; + + xnand->cache = flash_cache_create(xnand->name, xnand->mtd->size, + xnand->blocksize, xnand->pagesize, 32, 0, + read_ahead, (void *)xnand); + if (!xnand->cache) + goto fail; + + xnand->stats = flash_stats_create(xnand->name, xnand->pagesize, + xnand->mtd->erasesize, xnand->mtd->size, + xnand->ctrl_info->nr_ecc_sect, + (xnand->read_retry ? xnand->read_retry->count : 0)); + if (!xnand->stats) { + flash_cache_destory(xnand->cache); + goto fail; + } + + ret = mtd_device_parse_register(xnand->mtd, NULL, NULL, NULL, 0); + if (ret) { + flash_cache_destory(xnand->cache); + flash_stats_destory(xnand->stats); + goto fail; + } + + regop_intf = &xnand->regop_intf; + + strncpy(regop_intf->name, xnand->name, sizeof(regop_intf->name) - 1); + + regop_intf->sz_buf = host->sz_iobase; + regop_intf->args = xnand; + regop_intf->regop = xnand->regop; + regop_intf->open = hifmc100_xnand_regop_open; + regop_intf->release = hifmc100_xnand_regop_release; + regop_intf_create(regop_intf); + + return 0; + +fail: + devm_kfree(&pdev->dev, xnand); + + if (ifmode == HIFMC_IFMODE_NAND) + host->nand = NULL; + else if (ifmode == HIFMC_IFMODE_SPINAND) + host->spinand = NULL; + + return -ENODEV; +} diff --git a/drivers/mtd/hisilicon/nand_ids.c b/drivers/mtd/hisilicon/nand_ids.c new file mode 100644 index 000000000..8e1a2e338 --- /dev/null +++ b/drivers/mtd/hisilicon/nand_ids.c @@ -0,0 +1,597 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.28 + * +******************************************************************************/ + +#include +#include +#include + +#define LP_OPTIONS NAND_SAMSUNG_LP_OPTIONS +#define LP_OPTIONS16 (LP_OPTIONS | NAND_BUSWIDTH_16) + +#define SP_OPTIONS NAND_NEED_READRDY +#define SP_OPTIONS16 (SP_OPTIONS | NAND_BUSWIDTH_16) + +/******************************************************************************/ + +struct nand_flash_dev nand_flash_ids_hisi[] = { + { + .name = "S34ML04G2 3.3V 8-bit", + .id = {0x01, 0xdc, 0x90, 0x95, 0x56, 0x00, 0x00, 0x00}, + .id_len = 5, + .pagesize = SZ_2K, + .chipsize = SZ_512, + .erasesize = SZ_128K, + .oobsize = 128, + .options = 0, + .ecc = NAND_ECC_INFO(4, SZ_512), + }, { + .name = "S34ML02G200TFI000", + .id = {0x01, 0xda, 0x90, 0x95, 0x46, 0x00, 0x00, 0x00}, + .id_len = 5, + .pagesize = SZ_2K, + .chipsize = SZ_256, + .erasesize = SZ_128K, + .oobsize = 128, + .options = 0, + .ecc = NAND_ECC_INFO(4, SZ_512), + }, { + .name = "TC58NVG5D2 32G 3.3V 8-bit", + .id = {0x98, 0xD7, 0x94, 0x32, 0x76, 0x56, 0x09, 0x00}, + .id_len = 8, + .pagesize = SZ_8K, + .chipsize = SZ_4K, + .erasesize = SZ_1M, + .oobsize = 640, + .options = 0, + .ecc = NAND_ECC_INFO(40, SZ_1K), + }, { + .name = "TC58NVG6D2 64G 3.3V 8-bit", + .id = {0x98, 0xDE, 0x94, 0x82, 0x76, 0x56, 0x04, 0x20}, + .id_len = 8, + .pagesize = SZ_8K, + .chipsize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 640, + .options = 0, + .ecc = NAND_ECC_INFO(40, SZ_1K), + }, { + .name = "TC58NVG2S0HBAI4", + .id = {0x98, 0xDC, 0x90, 0x26, 0x76, 0x16, 0x08, 0x00}, + .id_len = 8, + .pagesize = SZ_4K, + .chipsize = SZ_512, + .erasesize = SZ_256K, + .oobsize = 256, + .options = 0, + .ecc = NAND_ECC_INFO(8, SZ_512), + },{ + .name = "SDTNRGAMA 64G 3.3V 8-bit", + .id = {0x45, 0xDE, 0x94, 0x93, 0x76, 0x50}, + .id_len = 6, + .pagesize = SZ_16K, + .chipsize = SZ_8K, + .erasesize = SZ_4M, + .oobsize = 1280, + .options = 0, + .ecc = NAND_ECC_INFO(40, SZ_1K), + }, { + .name = "H27UCG8T2ATR-BC 64G 3.3V 8-bit", + .id = {0xAD, 0xDE, 0x94, 0xDA, 0x74, 0xC4}, + .id_len = 6, + .pagesize = SZ_8K, + .chipsize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 640, + .options = 0, + .ecc = NAND_ECC_INFO(40, SZ_1K), + .onfi_timing_mode_default = 4, + .read_retry_type = NAND_RR_HYNIX_CG_ADIE, + }, { + .name = "TC58NVG3S0F 8G 3.3V 8-bit", + .id = {0x98, 0xD3, 0x90, 0x26, 0x76, 0x15, 0x02, 0x08}, + .id_len = 8, + .pagesize = SZ_4K, + .chipsize = SZ_1K, + .erasesize = SZ_256K, + .oobsize = 232, + .options = 0, + .ecc = NAND_ECC_INFO(4, SZ_512), + }, { + .name = "TC58NVG2S0F 4G 3.3V 8-bit", + .id = {0x98, 0xDC, 0x90, 0x26, 0x76, 0x15, 0x01, 0x08}, + .id_len = 8, + .pagesize = SZ_4K, + .chipsize = SZ_512, + .erasesize = SZ_256K, + .oobsize = 224, + .options = 0, + .ecc = NAND_ECC_INFO(4, SZ_512), + }, { + .name = "MT29F32G08CBADA", + .id = {0x2C, 0x44, 0x44, 0x4B, 0xA9, 0x00, 0x00, 0x00}, + .id_len = 8, + .chipsize = SZ_4K, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 744, + .options = 0, + .ecc = NAND_ECC_INFO(40, SZ_1K), + .read_retry_type = NAND_RR_MICRON, + }, { + .name = "MT29F8G08ABxBA", + .id = {0x2C, 0x38, 0x00, 0x26, 0x85, 0x00, 0x00, 0x00}, + .id_len = 8, + .chipsize = SZ_1K, + .pagesize = SZ_4K, + .erasesize = SZ_512K, + .oobsize = 224, + .options = 0, + .ecc = NAND_ECC_INFO(4, SZ_512), + }, { + .name = "MT29F16G08CBABx", + .id = {0x2C, 0x48, 0x04, 0x46, 0x85, 0x00, 0x00, 0x00}, + .id_len = 8, + .chipsize = SZ_2K, + .pagesize = SZ_4K, + .erasesize = SZ_1M, + .oobsize = 224, + .options = 0, + .ecc = NAND_ECC_INFO(12, SZ_512), + }, { + .name = "MT29F16G08CBACA", + .id = {0x2C, 0x48, 0x04, 0x4A, 0xA5, 0x00, 0x00, 0x00}, + .id_len = 8, + .chipsize = SZ_2K, + .pagesize = SZ_4K, + .erasesize = SZ_1M, + .oobsize = 224, + .options = 0, + .ecc = NAND_ECC_INFO(24, SZ_1K), + }, { + .name = "MT29F32G08CBACA", + .id = {0x2C, 0x68, 0x04, 0x4A, 0xA9, 0x00, 0x00, 0x00}, + .id_len = 8, + .chipsize = SZ_4K, + .pagesize = SZ_4K, + .erasesize = SZ_1M, + .oobsize = 224, + .options = 0, + .ecc = NAND_ECC_INFO(24, SZ_1K), + }, { + .name = "MT29F64G08CxxAA", + .id = {0x2C, 0x88, 0x04, 0x4B, 0xA9, 0x00, 0x00, 0x00}, + .id_len = 8, + .chipsize = SZ_8K, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 448, + .options = 0, + .ecc = NAND_ECC_INFO(24, SZ_1K), + }, { + .name = "MT29F256G08CJAAA", + .id = {0x2C, 0xA8, 0x05, 0xCB, 0xA9, 0x00, 0x00, 0x00}, + .id_len = 8, + .chipsize = SZ_16K, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 448, + .options = 0, + .ecc = NAND_ECC_INFO(24, SZ_1K), + }, { + .name = "MT29F256G08CMCBB", + .id = {0x2C, 0x64, 0x44, 0x4B, 0xA9, 0x00, 0x00, 0x00}, + .id_len = 8, + .chipsize = SZ_8K, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 744, + .options = 0, + .ecc = NAND_ECC_INFO(40, SZ_1K), + .read_retry_type = NAND_RR_MICRON, + }, { + .name = "MT29F8G08ABACA", + .id = {0x2C, 0xD3, 0x90, 0xA6, 0x64, 0x00, 0x00, 0x00}, + .id_len = 5, + .chipsize = SZ_1K, + .pagesize = SZ_4K, + .erasesize = SZ_256K, + .oobsize = 224, + .options = 0, + .ecc = NAND_ECC_INFO(8, SZ_512), + }, { + .name = "MT29F4G08ABAEA", + .id = {0x2C, 0xDC, 0x90, 0xA6, 0x54, 0x00, 0x00, 0x00}, + .id_len = 5, + .chipsize = SZ_512, + .pagesize = SZ_4K, + .erasesize = SZ_256K, + .oobsize = 224, + .options = 0, + .ecc = NAND_ECC_INFO(8, SZ_512), + }, { + .name = "MT29F2G08ABAFA", + .id = {0x2C, 0xDA, 0x90, 0x95, 0x04, 0x00, 0x00, 0x00}, + .id_len = 5, + .chipsize = SZ_256, + .pagesize = SZ_2K, + .erasesize = SZ_128K, + .oobsize = 224, + .options = 0, + .ecc = NAND_ECC_INFO(8, SZ_512), + }, { + .name = "MT29F16G08ABACA", + .id = {0x2C, 0x48, 0x00, 0x26, 0xA9, 0x00, 0x00, 0x00}, + .id_len = 5, + .chipsize = SZ_2K, + .pagesize = SZ_4K, + .erasesize = SZ_512K, + .oobsize = 224, + .options = 0, + .ecc = NAND_ECC_INFO(8, SZ_512), + }, { + .name = "TC58NVG4D2FTA00", + .id = {0x98, 0xD5, 0x94, 0x32, 0x76, 0x55, 0x00, 0x00}, + .id_len = 6, + .chipsize = SZ_2K, + .pagesize = SZ_8K, + .erasesize = SZ_1M, + .oobsize = 448, + .options = 0, + .ecc = NAND_ECC_INFO(24, SZ_1K), + }, { + .name = "TH58NVG6D2FTA20", + .id = {0x98, 0xD7, 0x94, 0x32, 0x76, 0x55, 0x00, 0x00}, + .id_len = 6, + .chipsize = SZ_4K, + .pagesize = SZ_8K, + .erasesize = SZ_1M, + .oobsize = 448, + .options = 0, + .ecc = NAND_ECC_INFO(24, SZ_1K), + }, { + .name = "TC58NVG5D2HTA00", + .id = {0x98, 0xD7, 0x94, 0x32, 0x76, 0x56, 0x08, 0x00}, + .id_len = 6, + .chipsize = SZ_4K, + .pagesize = SZ_8K, + .erasesize = SZ_1M, + .oobsize = 640, + .options = 0, + .ecc = NAND_ECC_INFO(40, SZ_1K), + .read_retry_type = NAND_RR_TOSHIBA_V2012, + }, { + .name = "TC58NVG6D2GTA00", + .id = {0x98, 0xDE, 0x94, 0x82, 0x76, 0x00, 0x00, 0x00}, + .id_len = 5, + .chipsize = SZ_8K, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 640, + .options = 0, + .ecc = NAND_ECC_INFO(40, SZ_1K), + }, { + .name = "TC58NVG6DCJTA00", + .id = {0x98, 0xDE, 0x84, 0x93, 0x72, 0x57, 0x08, 0x04}, + .id_len = 8, + .chipsize = SZ_8K, + .pagesize = SZ_16K, + .erasesize = SZ_4M, + .oobsize = 1280, + .ecc = NAND_ECC_INFO(60, SZ_1K), + .options = 0, + .read_retry_type = NAND_RR_TOSHIBA_V2012, + }, { + .name = "TC58TEG5DCJTA00", + .id = {0x98, 0xD7, 0x84, 0x93, 0x72, 0x57, 0x08, 0x04}, + .id_len = 6, + .chipsize = SZ_4K, + .pagesize = SZ_16K, + .erasesize = SZ_4M, + .oobsize = 1280, + .options = 0, + .ecc = NAND_ECC_INFO(60, SZ_1K), + .read_retry_type = NAND_RR_TOSHIBA_V2012, + }, { + .name = "TC58NVG0S3HTA00", + .id = {0x98, 0xF1, 0x80, 0x15, 0x72, 0x00, 0x00, 0x00}, + .id_len = 5, + .chipsize = SZ_128, + .pagesize = SZ_2K, + .erasesize = SZ_128K, + .oobsize = 128, + .options = 0, + .ecc = NAND_ECC_INFO(8, SZ_512), + }, { + .name = "TC58NVG1S3HTA00/QSV256M3THE", + .id = {0x98, 0xDA, 0x90, 0x15, 0x76, 0x16, 0x08, 0x00}, + .id_len = 8, + .chipsize = SZ_256, + .pagesize = SZ_2K, + .erasesize = SZ_128K, + .oobsize = 128, + .options = 0, + .ecc = NAND_ECC_INFO(8, SZ_512), + }, { + .name = "TC58NVG1S3ETA00", + .id = {0x98, 0xDA, 0x90, 0x15, 0x76, 0x14, 0x03, 0x00}, + .id_len = 8, + .chipsize = SZ_256, + .pagesize = SZ_2K, + .erasesize = SZ_128K, + .oobsize = 64, + .options = 0, + .ecc = NAND_ECC_INFO(1, SZ_512), + }, { + .name = "TC58NVG5T2JTA00", + .id = {0x98, 0xD7, 0x98, 0x92, 0x72, 0x57, 0x08, 0x10}, + .id_len = 6, + .chipsize = SZ_4K, + .pagesize = SZ_8K, + .erasesize = SZ_4M, + .oobsize = 1024, + .ecc = NAND_ECC_INFO(60, SZ_1K), + .options = 0, + .read_retry_type = NAND_RR_TOSHIBA_V2012, + }, { + .name = "TC58TEG5DCKTAx0", + .id = {0x98, 0xD7, 0x84, 0x93, 0x72, 0x50, 0x08, 0x04}, + .id_len = 6, + .chipsize = SZ_4K, + .pagesize = SZ_16K, + .erasesize = SZ_4M, + .oobsize = 1280, + .options = 0, + .ecc = NAND_ECC_INFO(60, SZ_1K), + .read_retry_type = NAND_RR_TOSHIBA_V2013, + }, { + .name = "Tx58TEGxDDKTAx0", + .id = {0x98, 0xDE, 0x94, 0x93, 0x76, 0x50}, + .id_len = 6, + .chipsize = SZ_4K, + .pagesize = SZ_16K, + .erasesize = SZ_4M, + .oobsize = 1280, + .options = 0, + .ecc = NAND_ECC_INFO(60, SZ_1K), + .read_retry_type = NAND_RR_TOSHIBA_V2013, + }, { + .name = "K9GAG08U0F", + .id = {0xEC, 0xD5, 0x94, 0x76, 0x54, 0x43, 0x00, 0x00}, + .id_len = 6, + .chipsize = SZ_2K, + .pagesize = SZ_8K, + .erasesize = SZ_1M, + .oobsize = 512, + .ecc = NAND_ECC_INFO(24, SZ_1K), + .options = 0, + }, { /* MLC 8bit/512B */ + .name = "K9LB(HC/PD/MD)G08U0(1)D", + .id = {0xEC, 0xD7, 0xD5, 0x29, 0x38, 0x41, 0x00, 0x00}, + .id_len = 6, + .chipsize = SZ_4K, + .erasesize = SZ_512K, + .oobsize = 218, + .options = 0, + .ecc = NAND_ECC_INFO(24, SZ_1K), + }, { + .name = "K9LBG08U0M", + .id = {0xEC, 0xD7, 0x55, 0xB6, 0x78, 0x00, 0x00, 0x00}, + .id_len = 5, + .chipsize = SZ_4K, + .pagesize = SZ_4K, + .erasesize = SZ_512K, + .oobsize = 128, + .options = 0, + .ecc = NAND_ECC_INFO(24, SZ_1K), + }, { + .name = "K9GBG08U0A", + .id = {0xEC, 0xD7, 0x94, 0x7A, 0x54, 0x43, 0x00, 0x00}, + .id_len = 6, + .chipsize = SZ_4K, + .pagesize = SZ_8K, + .erasesize = SZ_1M, + .oobsize = 640, + .options = 0, + .ecc = NAND_ECC_INFO(24, SZ_1K), + .read_retry_type = NAND_RR_SAMSUNG, + }, { /* MLC 24bit/1KB */ + .name = "K9GAG08U0E", + .id = {0xEC, 0xD5, 0x84, 0x72, 0x50, 0x42, 0x00, 0x00}, + .id_len = 6, + .chipsize = SZ_2K, + .pagesize = SZ_8K, + .erasesize = SZ_1M, + .oobsize = 436, + .options = 0, + .ecc = NAND_ECC_INFO(24, SZ_1K), + }, { + .name = "K9GBG08U0B", + .id = {0xEC, 0xD7, 0x94, 0x7E, 0x64, 0x44, 0x00, 0x00}, + .id_len = 6, + .chipsize = SZ_4K, + .pagesize = SZ_8K, + .erasesize = SZ_1M, + .oobsize = 1024, + .options = 0, + .ecc = NAND_ECC_INFO(40, SZ_1K), + .read_retry_type = NAND_RR_SAMSUNG, + }, { + .name = "H27UBG8T2C", + .id = {0xAD, 0xD7, 0x94, 0x91, 0x60, 0x44, }, + .id_len = 6, + .chipsize = SZ_4K, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 640, + .ecc = NAND_ECC_INFO(40, SZ_1K), + .options = 0, + .read_retry_type = NAND_RR_HYNIX_BG_CDIE, + }, { + .name = "P1UAGA30AT-GCA", + .id = {0xC8, 0xD5, 0x14, 0x29, 0x34, 0x01, }, + .id_len = 6, + .chipsize = SZ_2K, + .pagesize = SZ_4K, + .erasesize = SZ_512K, + .oobsize = 218, + .options = 0, + .ecc = NAND_ECC_INFO(8, SZ_512), + }, { + .name = "PSU8GA30AT-GIA/ASU8GA30IT-G30CA", + .id = {0xC8, 0xD3, 0x90, 0x19, 0x34, 0x01, }, + .id_len = 6, + .chipsize = SZ_1K, + .pagesize = SZ_4K, + .erasesize = SZ_256K, + .oobsize = 218, + .options = 0, + .ecc = NAND_ECC_INFO(4, SZ_512), + }, { /* SLC 4bit/512 */ + .name = "FMND1G08U3B", + .id = {0xF8, 0xF1, 0x80, 0x91, }, + .id_len = 4, + .chipsize = SZ_128, + .pagesize = SZ_2K, + .erasesize = SZ_128K, + .oobsize = 64, + .options = 0, + .ecc = NAND_ECC_INFO(4, SZ_512), + }, { /* SLC 1bit/512 */ + .name = "PSU2GA30AT", + .id = {0x7F, 0x7F, 0x7F, 0x7F, 0xC8, 0xDA, 0x00, 0x15, }, + .id_len = 8, + .chipsize = SZ_256, + .pagesize = SZ_2K, + .erasesize = SZ_128K, + .oobsize = 64, + .options = 0, + .ecc = NAND_ECC_INFO(1, SZ_512), + }, + + LEGACY_ID_NAND("NAND 4MiB 5V 8-bit", 0x6B, 4, SZ_8K, SP_OPTIONS), + LEGACY_ID_NAND("NAND 4MiB 3,3V 8-bit", 0xE3, 4, SZ_8K, SP_OPTIONS), + LEGACY_ID_NAND("NAND 4MiB 3,3V 8-bit", 0xE5, 4, SZ_8K, SP_OPTIONS), + LEGACY_ID_NAND("NAND 8MiB 3,3V 8-bit", 0xD6, 8, SZ_8K, SP_OPTIONS), + LEGACY_ID_NAND("NAND 8MiB 3,3V 8-bit", 0xE6, 8, SZ_8K, SP_OPTIONS), + + LEGACY_ID_NAND("NAND 16MiB 1,8V 8-bit", 0x33, 16, SZ_16K, SP_OPTIONS), + LEGACY_ID_NAND("NAND 16MiB 3,3V 8-bit", 0x73, 16, SZ_16K, SP_OPTIONS), + LEGACY_ID_NAND("NAND 16MiB 1,8V 16-bit", 0x43, 16, SZ_16K, SP_OPTIONS16), + LEGACY_ID_NAND("NAND 16MiB 3,3V 16-bit", 0x53, 16, SZ_16K, SP_OPTIONS16), + + LEGACY_ID_NAND("NAND 32MiB 1,8V 8-bit", 0x35, 32, SZ_16K, SP_OPTIONS), + LEGACY_ID_NAND("NAND 32MiB 3,3V 8-bit", 0x75, 32, SZ_16K, SP_OPTIONS), + LEGACY_ID_NAND("NAND 32MiB 1,8V 16-bit", 0x45, 32, SZ_16K, SP_OPTIONS16), + LEGACY_ID_NAND("NAND 32MiB 3,3V 16-bit", 0x55, 32, SZ_16K, SP_OPTIONS16), + + LEGACY_ID_NAND("NAND 64MiB 1,8V 8-bit", 0x36, 64, SZ_16K, SP_OPTIONS), + LEGACY_ID_NAND("NAND 64MiB 3,3V 8-bit", 0x76, 64, SZ_16K, SP_OPTIONS), + LEGACY_ID_NAND("NAND 64MiB 1,8V 16-bit", 0x46, 64, SZ_16K, SP_OPTIONS16), + LEGACY_ID_NAND("NAND 64MiB 3,3V 16-bit", 0x56, 64, SZ_16K, SP_OPTIONS16), + + LEGACY_ID_NAND("NAND 128MiB 1,8V 8-bit", 0x78, 128, SZ_16K, SP_OPTIONS), + LEGACY_ID_NAND("NAND 128MiB 1,8V 8-bit", 0x39, 128, SZ_16K, SP_OPTIONS), + LEGACY_ID_NAND("NAND 128MiB 3,3V 8-bit", 0x79, 128, SZ_16K, SP_OPTIONS), + LEGACY_ID_NAND("NAND 128MiB 1,8V 16-bit", 0x72, 128, SZ_16K, SP_OPTIONS16), + LEGACY_ID_NAND("NAND 128MiB 1,8V 16-bit", 0x49, 128, SZ_16K, SP_OPTIONS16), + LEGACY_ID_NAND("NAND 128MiB 3,3V 16-bit", 0x74, 128, SZ_16K, SP_OPTIONS16), + LEGACY_ID_NAND("NAND 128MiB 3,3V 16-bit", 0x59, 128, SZ_16K, SP_OPTIONS16), + + LEGACY_ID_NAND("NAND 256MiB 3,3V 8-bit", 0x71, 256, SZ_16K, SP_OPTIONS), + + /* + * These are the new chips with large page size. Their page size and + * eraseblock size are determined from the extended ID bytes. + */ + + /* 512 Megabit */ + EXTENDED_ID_NAND("NAND 64MiB 1,8V 8-bit", 0xA2, 64, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 64MiB 1,8V 8-bit", 0xA0, 64, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 64MiB 3,3V 8-bit", 0xF2, 64, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 64MiB 3,3V 8-bit", 0xD0, 64, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 64MiB 3,3V 8-bit", 0xF0, 64, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 64MiB 1,8V 16-bit", 0xB2, 64, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 64MiB 1,8V 16-bit", 0xB0, 64, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 64MiB 3,3V 16-bit", 0xC2, 64, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 64MiB 3,3V 16-bit", 0xC0, 64, LP_OPTIONS16), + + /* 1 Gigabit */ + EXTENDED_ID_NAND("NAND 128MiB 1,8V 8-bit", 0xA1, 128, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 128MiB 3,3V 8-bit", 0xF1, 128, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 128MiB 3,3V 8-bit", 0xD1, 128, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 128MiB 1,8V 16-bit", 0xB1, 128, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 128MiB 3,3V 16-bit", 0xC1, 128, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 128MiB 1,8V 16-bit", 0xAD, 128, LP_OPTIONS16), + + /* 2 Gigabit */ + EXTENDED_ID_NAND("NAND 256MiB 1,8V 8-bit", 0xAA, 256, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 256MiB 3,3V 8-bit", 0xDA, 256, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 256MiB 1,8V 16-bit", 0xBA, 256, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 256MiB 3,3V 16-bit", 0xCA, 256, LP_OPTIONS16), + + /* 4 Gigabit */ + EXTENDED_ID_NAND("NAND 512MiB 1,8V 8-bit", 0xAC, 512, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 512MiB 3,3V 8-bit", 0xDC, 512, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 512MiB 1,8V 16-bit", 0xBC, 512, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 512MiB 3,3V 16-bit", 0xCC, 512, LP_OPTIONS16), + + /* 8 Gigabit */ + EXTENDED_ID_NAND("NAND 1GiB 1,8V 8-bit", 0xA3, 1024, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 1GiB 3,3V 8-bit", 0xD3, 1024, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 1GiB 1,8V 16-bit", 0xB3, 1024, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 1GiB 3,3V 16-bit", 0xC3, 1024, LP_OPTIONS16), + + /* 16 Gigabit */ + EXTENDED_ID_NAND("NAND 2GiB 1,8V 8-bit", 0xA5, 2048, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 2GiB 3,3V 8-bit", 0xD5, 2048, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 2GiB 1,8V 16-bit", 0xB5, 2048, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 2GiB 3,3V 16-bit", 0xC5, 2048, LP_OPTIONS16), + + /* 32 Gigabit */ + EXTENDED_ID_NAND("NAND 4GiB 1,8V 8-bit", 0xA7, 4096, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 4GiB 3,3V 8-bit", 0xD7, 4096, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 4GiB 1,8V 16-bit", 0xB7, 4096, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 4GiB 3,3V 16-bit", 0xC7, 4096, LP_OPTIONS16), + + /* 64 Gigabit */ + EXTENDED_ID_NAND("NAND 8GiB 1,8V 8-bit", 0xAE, 8192, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 8GiB 3,3V 8-bit", 0xDE, 8192, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 8GiB 1,8V 16-bit", 0xBE, 8192, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 8GiB 3,3V 16-bit", 0xCE, 8192, LP_OPTIONS16), + + /* 128 Gigabit */ + EXTENDED_ID_NAND("NAND 16GiB 1,8V 8-bit", 0x1A, 16384, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 16GiB 3,3V 8-bit", 0x3A, 16384, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 16GiB 1,8V 16-bit", 0x2A, 16384, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 16GiB 3,3V 16-bit", 0x4A, 16384, LP_OPTIONS16), + + /* 256 Gigabit */ + EXTENDED_ID_NAND("NAND 32GiB 1,8V 8-bit", 0x1C, 32768, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 32GiB 3,3V 8-bit", 0x3C, 32768, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 32GiB 1,8V 16-bit", 0x2C, 32768, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 32GiB 3,3V 16-bit", 0x4C, 32768, LP_OPTIONS16), + + /* 512 Gigabit */ + EXTENDED_ID_NAND("NAND 64GiB 1,8V 8-bit", 0x1E, 65536, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 64GiB 3,3V 8-bit", 0x3E, 65536, LP_OPTIONS), + EXTENDED_ID_NAND("NAND 64GiB 1,8V 16-bit", 0x2E, 65536, LP_OPTIONS16), + EXTENDED_ID_NAND("NAND 64GiB 3,3V 16-bit", 0x4E, 65536, LP_OPTIONS16), + + {NULL} +}; diff --git a/drivers/mtd/hisilicon/readretry/Makefile b/drivers/mtd/hisilicon/readretry/Makefile new file mode 100644 index 000000000..c25b27a4a --- /dev/null +++ b/drivers/mtd/hisilicon/readretry/Makefile @@ -0,0 +1,6 @@ + +obj-y += read_retry.o read_retry_micron.o read_retry_samsung.o \ + read_retry_toshiba_v2012.o read_retry_toshiba_v2013.o \ + read_retry_hynix.o + +ccflags-y += -I./drivers/mtd/hisilicon diff --git a/drivers/mtd/hisilicon/readretry/read_retry.c b/drivers/mtd/hisilicon/readretry/read_retry.c new file mode 100644 index 000000000..508abd9eb --- /dev/null +++ b/drivers/mtd/hisilicon/readretry/read_retry.c @@ -0,0 +1,47 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.27 + * +******************************************************************************/ + +#include + +#include "read_retry.h" + +/******************************************************************************/ + +static struct nand_read_retry *nand_read_retry[] = { + &nand_read_retry_micron, + &nand_read_retry_samsung, + &nand_read_retry_toshiba_v2012, + &nand_read_retry_toshiba_v2013, + &nand_read_retry_hynix_cg_adie, + &nand_read_retry_hynix_bc_cdie, + NULL, +}; +/******************************************************************************/ + +struct nand_read_retry *nand_get_read_retry(int read_retry_type) +{ + int ix; + + for (ix = 0; nand_read_retry[ix]; ix++) { + if (nand_read_retry[ix]->type == read_retry_type) + return nand_read_retry[ix]; + } + + return NULL; +} diff --git a/drivers/mtd/hisilicon/readretry/read_retry.h b/drivers/mtd/hisilicon/readretry/read_retry.h new file mode 100644 index 000000000..20047fc93 --- /dev/null +++ b/drivers/mtd/hisilicon/readretry/read_retry.h @@ -0,0 +1,30 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.27 + * +******************************************************************************/ + +#ifndef READ_RETRY_H +#define READ_RETRY_H + +extern struct nand_read_retry nand_read_retry_micron; +extern struct nand_read_retry nand_read_retry_samsung; +extern struct nand_read_retry nand_read_retry_toshiba_v2012; +extern struct nand_read_retry nand_read_retry_toshiba_v2013; +extern struct nand_read_retry nand_read_retry_hynix_cg_adie; +extern struct nand_read_retry nand_read_retry_hynix_bc_cdie; + +#endif /* READ_RETRY_H*/ diff --git a/drivers/mtd/hisilicon/readretry/read_retry_hynix.c b/drivers/mtd/hisilicon/readretry/read_retry_hynix.c new file mode 100644 index 000000000..8161efd3d --- /dev/null +++ b/drivers/mtd/hisilicon/readretry/read_retry_hynix.c @@ -0,0 +1,103 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.27 + * +******************************************************************************/ + +#include +#include + +/******************************************************************************/ + +#define MAX_RR_HYNIX_READ_RETRIES 8 +/******************************************************************************/ + +static int __read_retry_hynix_cg_adie(struct nand_read_retry_info *info, u8 *rr_data, + int retry_mode) +{ + int ix; + u8 *ptr; + struct flash_regop_info regop_info = {0}; + + pr_warn("hynix nand read retry TBD.\n"); + dump_stack(); // NO CHIP, NOT TEST. + + if (retry_mode >= MAX_RR_HYNIX_READ_RETRIES) { + pr_err("read retry out of range\n"); + return -1; + } + + ptr = &info->buf[retry_mode << 3]; + + regop_info.priv = info->drv->priv; + regop_info.sz_buf = 1; + regop_info.addr_cycle = 1; + + regop_info.cmd = 0x36; + regop_info.nr_cmd = 1; + regop_info.buf = &ptr[0]; + regop_info.addrl = rr_data[0]; + info->drv->write_reg(®op_info); + + regop_info.nr_cmd = 0; + for (ix = 1; ix < 8; ix++) { + regop_info.buf = &ptr[ix]; + regop_info.addrl = rr_data[ix]; + info->drv->write_reg(®op_info); + } + + regop_info.cmd = 0x16; + regop_info.nr_cmd = 1; + regop_info.sz_buf = 0; + regop_info.addr_cycle = 0; + info->drv->write_reg(®op_info); + + return 0; +} +/******************************************************************************/ + +static int setup_hynix_cg_adie(struct nand_read_retry_info *info, int retry_mode) +{ + u8 rr_data[MAX_RR_HYNIX_READ_RETRIES] = { + 0xCC, 0xBF, 0xAA, 0xAB, 0xCD, 0xAD, 0xAE, 0xAF, + }; + + return __read_retry_hynix_cg_adie(info, rr_data, retry_mode); +} +/******************************************************************************/ + +static int setup_hynix_bc_cdie(struct nand_read_retry_info *info, int retry_mode) +{ + u8 rr_data[MAX_RR_HYNIX_READ_RETRIES] = { + 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, + }; + + return __read_retry_hynix_cg_adie(info, rr_data, retry_mode); +} +/******************************************************************************/ + +struct nand_read_retry nand_read_retry_hynix_cg_adie = { + .type = NAND_RR_HYNIX_CG_ADIE, + .count = MAX_RR_HYNIX_READ_RETRIES, + .setup = setup_hynix_cg_adie, +}; +/******************************************************************************/ + +struct nand_read_retry nand_read_retry_hynix_bc_cdie = { + .type = NAND_RR_HYNIX_BG_CDIE, + .count = MAX_RR_HYNIX_READ_RETRIES, + .setup = setup_hynix_bc_cdie, +}; diff --git a/drivers/mtd/hisilicon/readretry/read_retry_micron.c b/drivers/mtd/hisilicon/readretry/read_retry_micron.c new file mode 100644 index 000000000..363d113bf --- /dev/null +++ b/drivers/mtd/hisilicon/readretry/read_retry_micron.c @@ -0,0 +1,63 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.27 + * +******************************************************************************/ + +#include +#include + +/******************************************************************************/ + +#define MAX_MICRON_READ_RETRIES 8 +/*****************************************************************************/ + +static int setup_micron(struct nand_read_retry_info *info, int retry_mode) +{ + struct flash_regop_info regop_info = {0}; + + if (retry_mode >= MAX_MICRON_READ_RETRIES) { + pr_err("out of range\n"); + return -1; + } + + regop_info.priv = info->drv->priv; + regop_info.cmd = 0xEF; + regop_info.nr_cmd = 1; + regop_info.addrl = 0x89; + regop_info.addr_cycle = 1; + regop_info.buf = (u8*)&retry_mode; + regop_info.sz_buf = 4; + regop_info.wait_ready = true; + + info->drv->write_reg(®op_info); + + return 0; +} +/******************************************************************************/ + +static int exit_micron(struct nand_read_retry_info *info) +{ + return setup_micron(info, 0); +} +/******************************************************************************/ + +struct nand_read_retry nand_read_retry_micron = { + .type = NAND_RR_MICRON, + .count = MAX_MICRON_READ_RETRIES, + .setup = setup_micron, + .exit = exit_micron, +}; diff --git a/drivers/mtd/hisilicon/readretry/read_retry_samsung.c b/drivers/mtd/hisilicon/readretry/read_retry_samsung.c new file mode 100644 index 000000000..d6fd95564 --- /dev/null +++ b/drivers/mtd/hisilicon/readretry/read_retry_samsung.c @@ -0,0 +1,95 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.27 + * +******************************************************************************/ + +#include +#include + +/*****************************************************************************/ + +#define MAX_SAMSUNG_READ_RETRIES 15 + +static u8 rr_data[MAX_SAMSUNG_READ_RETRIES][4] = { + {0x00, 0x00, 0x00, 0x00}, + {0x05, 0x0A, 0x00, 0x00}, + {0x28, 0x00, 0xEC, 0xD8}, + {0xED, 0xF5, 0xED, 0xE6}, + {0x0A, 0x0F, 0x05, 0x00}, + {0x0F, 0x0A, 0xFB, 0xEC}, + {0xE8, 0xEF, 0xE8, 0xDC}, + {0xF1, 0xFB, 0xFE, 0xF0}, + {0x0A, 0x00, 0xFB, 0xEC}, + {0xD0, 0xE2, 0xD0, 0xC2}, + {0x14, 0x0F, 0xFB, 0xEC}, + {0xE8, 0xFB, 0xE8, 0xDC}, + {0x1E, 0x14, 0xFB, 0xEC}, + {0xFB, 0xFF, 0xFB, 0xF8}, + {0x07, 0x0C, 0x02, 0x00} +}; +/******************************************************************************/ + +static int setup_samsung(struct nand_read_retry_info *info, int retry_mode) +{ + struct flash_regop_info regop_info = {0}; + + pr_warn("samsung nand read retry TBD.\n"); + dump_stack(); // NO CHIP, NOT TEST! + + if (retry_mode >= MAX_SAMSUNG_READ_RETRIES) { + pr_err("read retry out of range\n"); + return -1; + } + + regop_info.priv = info->drv->priv; + regop_info.cmd = 0xA1; + regop_info.nr_cmd = 1; + regop_info.addr_cycle = 2; + regop_info.sz_buf = 1; + + regop_info.addrl = 0xA700; + regop_info.buf = &rr_data[retry_mode][0]; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0xA400; + regop_info.buf = &rr_data[retry_mode][1]; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0xA500; + regop_info.buf = &rr_data[retry_mode][2]; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0xA600; + regop_info.buf = &rr_data[retry_mode][3]; + info->drv->write_reg(®op_info); + + return 0; +} +/******************************************************************************/ + +static int exit_samsung(struct nand_read_retry_info *info) +{ + return setup_samsung(info, 0); +} +/******************************************************************************/ + +struct nand_read_retry nand_read_retry_samsung = { + .type = NAND_RR_SAMSUNG, + .count = MAX_SAMSUNG_READ_RETRIES, + .setup = setup_samsung, + .exit = exit_samsung, +}; diff --git a/drivers/mtd/hisilicon/readretry/read_retry_toshiba_v2012.c b/drivers/mtd/hisilicon/readretry/read_retry_toshiba_v2012.c new file mode 100644 index 000000000..fa7eb202e --- /dev/null +++ b/drivers/mtd/hisilicon/readretry/read_retry_toshiba_v2012.c @@ -0,0 +1,115 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.27 + * +******************************************************************************/ + +#include +#include + +/******************************************************************************/ + +#define MAX_TOSHIBA2012_READ_RETRIES 6 + +static u8 rr_data[MAX_TOSHIBA2012_READ_RETRIES] = { + 0x00, 0x04, 0x7c, 0x78, 0x74, 0x08, +}; +/******************************************************************************/ + +static int setup_toshiba_v2012(struct nand_read_retry_info *info, + int retry_mode) +{ + struct flash_regop_info regop_info = {0}; + + pr_warn("toshiba nand read retry TBD.\n"); + dump_stack(); // NO CHIP, NOT TEST + + if (retry_mode >= MAX_TOSHIBA2012_READ_RETRIES) { + pr_err("read retry out of range\n"); + return -1; + } + + regop_info.priv = info->drv->priv; + + regop_info.cmd = 0x55; + regop_info.nr_cmd = 1; + regop_info.buf = &rr_data[retry_mode]; + regop_info.sz_buf = 1; + regop_info.wait_ready = false; + regop_info.addr_cycle = 1; + + regop_info.addrl = 0x04; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0x05; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0x06; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0x07; + info->drv->write_reg(®op_info); + + regop_info.cmd = 0x5d26; + regop_info.nr_cmd = 2; + regop_info.addr_cycle = 0; + regop_info.sz_buf = 0; + info->drv->write_reg(®op_info); + + return 0; +} +/******************************************************************************/ + +static int entry_toshiba_v2012(struct nand_read_retry_info *info) +{ + struct flash_regop_info regop_info = {0}; + + regop_info.priv = info->drv->priv; + + regop_info.cmd = 0xc55c; + regop_info.nr_cmd = 2; + regop_info.addr_cycle = 0; + regop_info.sz_buf = 0; + info->drv->write_reg(®op_info); + + return 0; +} +/******************************************************************************/ + +static int exit_toshiba_v2012(struct nand_read_retry_info *info) +{ + struct flash_regop_info regop_info = {0}; + + regop_info.priv = info->drv->priv; + + regop_info.cmd = NAND_CMD_RESET; + regop_info.nr_cmd = 1; + regop_info.addr_cycle = 0; + regop_info.sz_buf = 0; + regop_info.wait_ready = true; + info->drv->write_reg(®op_info); + + return 0; +} +/******************************************************************************/ + +struct nand_read_retry nand_read_retry_toshiba_v2012 = { + .type = NAND_RR_TOSHIBA_V2012, + .count = MAX_TOSHIBA2012_READ_RETRIES, + .setup = setup_toshiba_v2012, + .entry = entry_toshiba_v2012, + .exit = exit_toshiba_v2012, +}; diff --git a/drivers/mtd/hisilicon/readretry/read_retry_toshiba_v2013.c b/drivers/mtd/hisilicon/readretry/read_retry_toshiba_v2013.c new file mode 100644 index 000000000..b15b8a3a4 --- /dev/null +++ b/drivers/mtd/hisilicon/readretry/read_retry_toshiba_v2013.c @@ -0,0 +1,159 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.27 + * +******************************************************************************/ + +#include +#include + +/******************************************************************************/ + +#define MAX_TOSHIBA2013_READ_RETRIES 8 +#define TOSHIBA_RR_CMD 0x55 + +static u8 rr_data[MAX_TOSHIBA2013_READ_RETRIES][5] = { + {0x00, 0x00, 0x00, 0x00, 0x00}, + {0x04, 0x04, 0x7c, 0x7e, 0x00}, + {0x00, 0x7c, 0x78, 0x78, 0x00}, + {0x7c, 0x76, 0x74, 0x72, 0x00}, + {0x08, 0x08, 0x00, 0x00, 0x00}, + {0x0b, 0x7e, 0x76, 0x74, 0x00}, + {0x10, 0x76, 0x72, 0x70, 0x00}, + {0x02, 0x7c, 0x7e, 0x70, 0x00}, +}; +/******************************************************************************/ + +static int setup_toshiba_v2013(struct nand_read_retry_info *info, int retry_mode) +{ + struct flash_regop_info regop_info = {0}; + + if (retry_mode >= MAX_TOSHIBA2013_READ_RETRIES) { + pr_err("read retry out of range\n"); + return -1; + } + + regop_info.priv = info->drv->priv; + + regop_info.cmd = TOSHIBA_RR_CMD; + regop_info.nr_cmd = 1; + regop_info.sz_buf = 1; + regop_info.addr_cycle = 1; + + regop_info.addrl = 0x04; + regop_info.buf = &rr_data[retry_mode][0]; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0x05; + regop_info.buf = &rr_data[retry_mode][1]; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0x06; + regop_info.buf = &rr_data[retry_mode][2]; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0x07; + regop_info.buf = &rr_data[retry_mode][3]; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0x0d; + regop_info.buf = &rr_data[retry_mode][4]; + info->drv->write_reg(®op_info); + + if (retry_mode == 4) { + regop_info.cmd = 0xb3; + regop_info.nr_cmd = 1; + regop_info.addr_cycle = 0; + regop_info.sz_buf = 0; + info->drv->write_reg(®op_info); + } + + regop_info.cmd = 0x5d26; + regop_info.nr_cmd = 2; + regop_info.addr_cycle = 0; + regop_info.sz_buf = 0; + info->drv->write_reg(®op_info); + + return 0; +} +/******************************************************************************/ + +static int entry_toshiba_v2013(struct nand_read_retry_info *info) +{ + struct flash_regop_info regop_info = {0}; + + regop_info.priv = info->drv->priv; + + regop_info.cmd = 0xc55c; + regop_info.nr_cmd = 2; + regop_info.addr_cycle = 0; + regop_info.sz_buf = 0; + info->drv->write_reg(®op_info); + + return 0; +} +/******************************************************************************/ + +static int exit_toshiba_v2013(struct nand_read_retry_info *info) +{ + int retry_mode = 0; + struct flash_regop_info regop_info = {0}; + + regop_info.priv = info->drv->priv; + + regop_info.cmd = TOSHIBA_RR_CMD; + regop_info.nr_cmd = 1; + regop_info.sz_buf = 1; + regop_info.addr_cycle = 1; + + regop_info.addrl = 0x04; + regop_info.buf = &rr_data[retry_mode][0]; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0x05; + regop_info.buf = &rr_data[retry_mode][1]; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0x06; + regop_info.buf = &rr_data[retry_mode][2]; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0x07; + regop_info.buf = &rr_data[retry_mode][3]; + info->drv->write_reg(®op_info); + + regop_info.addrl = 0x0d; + regop_info.buf = &rr_data[retry_mode][4]; + info->drv->write_reg(®op_info); + + regop_info.cmd = NAND_CMD_RESET; + regop_info.nr_cmd = 1; + regop_info.addr_cycle = 0; + regop_info.sz_buf = 0; + regop_info.wait_ready = true; + info->drv->write_reg(®op_info); + + return 0; +} +/******************************************************************************/ + +struct nand_read_retry nand_read_retry_toshiba_v2013 = { + .type = NAND_RR_TOSHIBA_V2013, + .count = MAX_TOSHIBA2013_READ_RETRIES, + .setup = setup_toshiba_v2013, + .exit = exit_toshiba_v2013, + .entry = entry_toshiba_v2013, +}; diff --git a/drivers/mtd/hisilicon/regop_intf.c b/drivers/mtd/hisilicon/regop_intf.c new file mode 100644 index 000000000..3de6f2d33 --- /dev/null +++ b/drivers/mtd/hisilicon/regop_intf.c @@ -0,0 +1,414 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.25 + * +******************************************************************************/ + +#define pr_fmt(fmt) "mtd-regop: " fmt + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "hiflash.h" + +struct regop_intf_data { + struct flash_regop_info regop_info; + + struct proc_dir_entry *dentry_regop; + struct proc_dir_entry *dentry_data; + + char *buf; + u32 sz_buf; + + /* The lately writing operation data size */ + int sz_buf_lately; + + /* + * The proc read/write buffer is invalid, it needs be updated before + * the next reading operation. + */ + int need_update; + char prbuf[2048]; + int sz_prbuf; +}; + +struct cmd_val_t { + const char *key; + int sz_key; + char *buf; + int sz_buf; +}; + +static int init = 0; +/******************************************************************************/ + +static void regop_proc_init(void) +{ + struct proc_dir_entry *root; + if (init) + return; + + init++; + root = proc_mkdir("flash", NULL); + if (root) + proc_mkdir("regop", root); +} +/******************************************************************************/ + +static void regop_dump_help(struct regop_intf_data *data) +{ + int count; + char *ptr = data->prbuf; + int sz_buf = sizeof(data->prbuf); + struct flash_regop_info *info = &data->regop_info; + + count = snprintf(ptr, sz_buf, "The lately regop:\n"); + sz_buf -= count; + ptr += count; + + count = flash_regop_info_dump(info, ptr, sz_buf); + if (!count) + count = snprintf(ptr, sz_buf, "NULL"); + sz_buf -= count; + ptr += count; + + count = snprintf(ptr, sz_buf, "\n\n" + "example:\n" + " read spi-nor id:\n" + " echo \"cmd=0x9f,nr_cmd=1,sz_buf=8,read\" > /proc/flash/regop/spinor \n" + " hexdump -v -C /proc/flash/regop/spinor.data\n" + "\n" + " read spi-nand id:\n" + " echo \"cmd=0x9f,nr_cmd=1,addr_cycle=1,sz_buf=4,read\" > /proc/flash/regop/spinand\n" + " hexdump -v -C /proc/flash/regop/spinand.data\n" + "\n" + " read nand id:\n" + " echo \"cmd=0x90,nr_cmd=1,addr_cycle=1,sz_buf=8,read\" > /proc/flash/regop/nand\n" + " hexdump -v -C /proc/flash/regop/nand.data\n" + " read/write nand (no ecc): addr(h/l) = (addr/pagesize) << 16\n" + " addr=1M,pagesize=2K,addrl=0x2000000\n" + " echo \"cmd=0x3000,nr_cmd=2,addrl=0x2000000,addr_cycle=5,sz_buf=2048,rb,read\" > /proc/flash/regop/nand\n" + " hexdump -v -C /proc/flash/regop/nand.data\n" + "\n" + " echo \"sz_buf=2048\" > /proc/flash/regop/nand\n" + " dd if=/data_will_be_written of=/proc/flash/regop/nand.data bs=2048 count=1\n" + " echo \"cmd=0x1080,nr_cmd=2,addrl=0x2000000,addr_cycle=5,sz_buf=2048,rb,write\" > /proc/flash/regop/nand\n" + " erase nand: addr(h/l) = addr/pagesize\n" + " addr=1M,pagesize=2K,addrl=0x200\n" + " echo \"cmd=0xd060,nr_cmd=2,addrl=0x200,addr_cycle=3,rb,write\" > /proc/flash/regop/nand\n" + " " + "\n"); + + sz_buf -= count; + ptr += count; + + count = snprintf(ptr, sz_buf, "Key Word: cmd=0xNNNN,nr_cmd=N,addrh=0xNN,addrl=0xNNNNNNNN,addr_cycle=N,dummy=N,sz_buf=N,rb,msleep=N,read/write,\n"); + sz_buf -= count; + ptr += count; + + data->sz_prbuf = ptr - data->prbuf; + + data->need_update = false; +} +/******************************************************************************/ + +static ssize_t regop_read(struct file *filp, char __user *ubuf, + size_t sz_ubuf, loff_t *ppos) +{ + struct flash_regop_intf *intf = PDE_DATA(file_inode(filp)); + struct regop_intf_data *data = intf->priv; + + if (!*ppos && data->need_update) + regop_dump_help(data); + + return simple_read_from_buffer(ubuf, sz_ubuf, ppos, data->prbuf, + data->sz_prbuf); +} +/******************************************************************************/ + +static char *regop_resolve(char *buf, char *ptail, struct flash_regop_info *info, + char *op, int *msecs) +{ + int ix; + int _msecs = 0; + +#define _SCMD(_cmd, _val) \ + ((void *)&(struct cmd_val_t){ \ + .key = _cmd, \ + .sz_key = sizeof(_cmd) - 1, \ + .buf = (char *)&_val, \ + .sz_buf = sizeof(_val), \ +}) + + struct cmd_val_t *cmd_val[] = { + _SCMD("write", ix), + _SCMD("read", ix), + _SCMD("rb", ix), + _SCMD("cmd=", info->cmd), + _SCMD("nr_cmd=", info->nr_cmd), + _SCMD("addrl=", info->addrl), + _SCMD("addrh=", info->addrh), + _SCMD("addr_cycle=", info->addr_cycle), + _SCMD("dummy=", info->dummy), + _SCMD("sz_buf=", info->sz_buf), + _SCMD("msleep=", _msecs), + }; + + *op = 0; + memset(info, 0, sizeof(struct flash_regop_info)); + + while (buf < ptail) { + if (!isalpha(*buf)) { + buf++; + continue; + } + + for (ix = 0; ix < ARRAY_SIZE(cmd_val); ix++) { + ulong value; + struct cmd_val_t *val = cmd_val[ix]; + + if (buf + val->sz_key > ptail) + continue; + + if (memcmp(buf, val->key, val->sz_key)) + continue; + + if (ix == 0 || ix == 1) { + if (isalpha(buf[val->sz_key])) + continue; + + *op = val->key[0]; + buf += val->sz_key; + + goto out; + } + + buf += val->sz_key; + + if (ix == 2) { + info->wait_ready = true; + } else { + value = (ulong)memparse(buf, &buf); + memcpy(val->buf, &value, + min_t(ulong, val->sz_buf, sizeof(value))); + } + + break; + } + + if (ix == ARRAY_SIZE(cmd_val)) { + char chr; + char *nextbuf = buf; + + while (nextbuf < ptail && isalpha(*nextbuf)) + nextbuf++; + + chr = *nextbuf; + *nextbuf = '\0'; + pr_err("Invalid key word: \"%s\"\n", buf); + *nextbuf = chr; + buf = nextbuf; + } + } +out: + *msecs = _msecs; + + while (buf < ptail && !isalpha(*buf)) + buf++; + + return buf; +} +/******************************************************************************/ + +static ssize_t regop_write(struct file *filp, const char __user *ubuf, + size_t sz_ubuf, loff_t *ppos) +{ + char op; + int msecs = 0; + char *ptr, *kbuf, *ptail; + + struct flash_regop_intf *intf = PDE_DATA(file_inode(filp)); + struct regop_intf_data *data = intf->priv; + struct flash_regop_info *info = &data->regop_info; + + ptr = kbuf = (char *)vmalloc(sz_ubuf + 1); + if (!kbuf) + return -ENOMEM; + + if (copy_from_user(kbuf, ubuf, sz_ubuf)) { + vfree(kbuf); + return -EFAULT; + } + + ptail = kbuf + sz_ubuf; + *ptail = '\0'; + + while (ptr < ptail) { + ptr = regop_resolve(ptr, ptail, info, &op, &msecs); + + info->priv = intf->regop->priv; + + if (info->sz_buf > data->sz_buf) + info->sz_buf = data->sz_buf; + + if (info->sz_buf) + info->buf = data->buf; + + data->sz_buf_lately = info->sz_buf; + + if (op == 'r') + intf->regop->read_reg(info); + else if (op == 'w') + intf->regop->write_reg(info); + + if (msecs) { + if (msecs > 10000) + msecs = 10000; + msleep(msecs); + } + } + + vfree(kbuf); + + data->need_update = true; + + return sz_ubuf; +} +/******************************************************************************/ + +static int regop_open(struct inode *inode, struct file *file) +{ + struct flash_regop_intf *intf = PDE_DATA(inode); + + /* lock driver read/write/erase operation when do regop */ + if (FMODE_WRITE & file->f_mode) + intf->open(intf->args); + + return nonseekable_open(inode, file); +} +/******************************************************************************/ + +static int regop_release(struct inode *inode, struct file *file) +{ + struct flash_regop_intf *intf = PDE_DATA(inode); + + if (FMODE_WRITE & file->f_mode) + intf->release(intf->args); + + return 0; +} +/******************************************************************************/ + +static struct file_operations regop_fops = { + .read = regop_read, + .write = regop_write, + .open = regop_open, + .release = regop_release, + .llseek = no_llseek, +}; +/******************************************************************************/ + +static ssize_t regop_data_read(struct file *filp, char __user *ubuf, + size_t sz_ubuf, loff_t *ppos) +{ + struct regop_intf_data *data = PDE_DATA(file_inode(filp)); + + return simple_read_from_buffer(ubuf, sz_ubuf, ppos, data->buf, + data->sz_buf_lately); +} +/******************************************************************************/ + +static ssize_t regop_data_write(struct file *filp, const char __user *ubuf, + size_t sz_ubuf, loff_t *ppos) +{ + struct regop_intf_data *data = PDE_DATA(file_inode(filp)); + + return simple_write_to_buffer(data->buf, data->sz_buf, ppos, ubuf, + sz_ubuf); +} +/******************************************************************************/ + +static struct file_operations regop_data_fops = { + .read = regop_data_read, + .write = regop_data_write, +}; +/******************************************************************************/ + +int regop_intf_create(struct flash_regop_intf *intf) +{ + char buf[64]; + struct proc_dir_entry *dentry_regop; + struct proc_dir_entry *dentry_data; + struct regop_intf_data *data; + + regop_proc_init(); + + pr_info("Create %s register operation interface, buffer size:%d\n", + intf->name, intf->sz_buf); + + data = kzalloc(sizeof(struct regop_intf_data) + intf->sz_buf, GFP_KERNEL); + if (!data) { + pr_err("failed to allocate memory for %s.\n", intf->name); + return -ENOMEM; + } + + intf->priv = data; + + snprintf(buf, sizeof(buf), "flash/regop/%s", intf->name); + + dentry_regop = proc_create_data(buf, 0644, NULL, ®op_fops, intf); + if (!dentry_regop) { + pr_err("create proc file failed.\n"); + kfree(data); + return -ENOMEM; + } + data->dentry_regop = dentry_regop; + + snprintf(buf, sizeof(buf), "flash/regop/%s.data", intf->name); + + dentry_data = proc_create_data(buf, 0644, NULL, ®op_data_fops, data); + if (!dentry_data) { + pr_err("create proc file failed.\n"); + proc_remove(dentry_regop); + kfree(data); + return -ENOMEM; + } + data->dentry_data = dentry_data; + + data->need_update = true; + data->sz_buf = intf->sz_buf; + data->buf = (char *)&data[1]; + data->sz_buf_lately = 0; + + return 0; +} +/******************************************************************************/ + +void regop_intf_destory(struct flash_regop_intf *regop_intf) +{ + struct regop_intf_data *data = regop_intf->priv; + + proc_remove(data->dentry_data); + proc_remove(data->dentry_regop); + + kfree(data); +} diff --git a/drivers/mtd/hisilicon/spinand_driver.c b/drivers/mtd/hisilicon/spinand_driver.c new file mode 100644 index 000000000..219bf6f50 --- /dev/null +++ b/drivers/mtd/hisilicon/spinand_driver.c @@ -0,0 +1,238 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.28 + * +******************************************************************************/ + +#include +#include +#include + +#include "hiflash.h" + +/******************************************************************************/ + +static int spinand_get_feature(struct flash_regop *regop, int addr) +{ + u8 status = 0; + struct flash_regop_info info = {0}; + + info.priv = regop->priv; + info.cmd = SPINAND_OP_RDSR; + info.nr_cmd = 1; + info.addrl = addr; + info.addr_cycle = 1; + info.buf = &status; + info.sz_buf = 1; + regop->read_reg(&info); + + return status; +} +/******************************************************************************/ + +static int spinand_set_feature(struct flash_regop *regop, int addr, u8 value) +{ + struct flash_regop_info info = {0}; + + info.priv = regop->priv; + info.cmd = SPINAND_OP_WREN; + info.nr_cmd = 1; + regop->write_reg(&info); + + info.priv = regop->priv; + info.cmd = SPINAND_OP_WRSR; + info.nr_cmd = 1; + info.addrl = addr; + info.addr_cycle = 1; + info.buf = &value; + info.sz_buf = 1; + regop->write_reg(&info); + + return value; +} +/******************************************************************************/ + +static void spinand_chip_prepare(struct flash_regop *regop) +{ + //nothing to do. +} +/******************************************************************************/ + +static void winbond_chip_prepare_w25n01gv(struct flash_regop *regop) +{ + u8 stat, new_stat; + + /* disable block protect */ + new_stat = stat = (u8)spinand_get_feature(regop, 0xa0); + if (new_stat & SPINAND_BLOCK_PROT_WINBOND) + new_stat &= ~SPINAND_BLOCK_PROT_WINBOND; + + if (stat != new_stat) + spinand_set_feature(regop, 0xa0, new_stat); + + new_stat = stat = (u8)spinand_get_feature(regop, 0xb0); + + /* disable w25n01gv continuous read feature if it is enable. */ + if (!(new_stat & SPINAND_STATUS_BUF)) + new_stat |= SPINAND_STATUS_BUF; + + /* disable chip internal ecc */ + if (new_stat & SPINAND_STATUS_ECC_EN) + new_stat &= ~SPINAND_STATUS_ECC_EN; + + if (stat != new_stat) + spinand_set_feature(regop, 0xb0, new_stat); +} +/******************************************************************************/ + +static void giga_chip_prepare_default(struct flash_regop *regop) +{ + u8 stat, new_stat; + + /* disable block protect */ + new_stat = stat = (u8)spinand_get_feature(regop, 0xa0); + if (new_stat & SPINAND_BLOCK_PROT_GIGA) + new_stat &= ~SPINAND_BLOCK_PROT_GIGA; + + if (stat != new_stat) + spinand_set_feature(regop, 0xa0, new_stat); + + new_stat = stat = (u8)spinand_get_feature(regop, 0xb0); + + /* disable chip internal ecc */ + if (new_stat & SPINAND_STATUS_ECC_EN) + new_stat &= ~(SPINAND_STATUS_ECC_EN); + + /* enable quad command mode */ + if (!(new_stat & SPINAND_STATUS_EQ)) + new_stat |= SPINAND_STATUS_EQ; + + if (stat != new_stat) + spinand_set_feature(regop, 0xb0, new_stat); +} +/******************************************************************************/ + +static void mira_chip_prepare_default(struct flash_regop *regop) +{ + u8 stat, new_stat; + + /* disable block protect */ + new_stat = stat = (u8)spinand_get_feature(regop, 0xa0); + if (new_stat & SPINAND_BLOCK_PROT_GIGA) + new_stat &= ~SPINAND_BLOCK_PROT_GIGA; + + if (stat != new_stat) + spinand_set_feature(regop, 0xa0, new_stat); + + new_stat = stat = (u8)spinand_get_feature(regop, 0xb0); + + /* disable chip internal ecc */ + if (new_stat & SPINAND_STATUS_ECC_EN) + new_stat &= ~SPINAND_STATUS_ECC_EN; + + if (stat != new_stat) + spinand_set_feature(regop, 0xb0, new_stat); +} +/******************************************************************************/ + +static void ato_chip_prepare_default(struct flash_regop *regop) +{ + u8 stat, new_stat; + + /* disable block protect */ + new_stat = stat = (u8)spinand_get_feature(regop, 0xa0); + if (new_stat & SPINAND_BLOCK_PROT_GIGA) + new_stat &= ~SPINAND_BLOCK_PROT_GIGA; + + if (stat != new_stat) + spinand_set_feature(regop, 0xa0, new_stat); + + new_stat = stat = (u8)spinand_get_feature(regop, 0xb0); + + /* enable quad command mode */ + if (!(new_stat & SPINAND_STATUS_EQ)) + new_stat |= SPINAND_STATUS_EQ; + + if (stat != new_stat) + spinand_set_feature(regop, 0xb0, new_stat); +} +/******************************************************************************/ + +static struct spinand_driver spinand_driver_table[] = { + { + .id = {0xef, 0xaa, 0x21}, + .id_len = 3, + .chip_prepare = winbond_chip_prepare_w25n01gv, + }, { + .id = {0xc8}, + .id_len = 1, + .chip_prepare = giga_chip_prepare_default, + }, { + .id = {0x9b, 0x12}, + .id_len = 2, + .chip_prepare = ato_chip_prepare_default, + }, { + .id = {0xc2}, + .id_len = 1, + .chip_prepare = giga_chip_prepare_default, + }, { + .id = {0xc1}, + .id_len = 1, + .chip_prepare = giga_chip_prepare_default, + }, { + .id = {0xa1}, + .id_len = 1, + .chip_prepare = giga_chip_prepare_default, + }, { + .id = {0xc8, 0x21}, + .id_len = 2, + .chip_prepare = mira_chip_prepare_default, + }, { + .id = {0xc9}, + .id_len = 1, + .chip_prepare = giga_chip_prepare_default, + }, { + .id = {0x98}, + .id_len = 1, + .chip_prepare = mira_chip_prepare_default, + }, { + .id = {0}, + .id_len = 0, + } +}; +/******************************************************************************/ +/* + * get some spi-nand special operation interface. + */ +struct spinand_driver *spinand_get_drvier(u8 *id, int id_len) +{ + struct spinand_driver *drv = spinand_driver_table; + + while (drv->id_len) { + if (drv->id_len <= id_len && !memcmp(drv->id, id, drv->id_len)) + break; + drv++; + } + + if (!drv->get_feature) + drv->get_feature = spinand_get_feature; + if (!drv->set_feature) + drv->set_feature = spinand_set_feature; + if (!drv->chip_prepare) + drv->chip_prepare = spinand_chip_prepare; + + return drv; +} diff --git a/drivers/mtd/hisilicon/spinand_ids.c b/drivers/mtd/hisilicon/spinand_ids.c new file mode 100644 index 000000000..1d8c5aa24 --- /dev/null +++ b/drivers/mtd/hisilicon/spinand_ids.c @@ -0,0 +1,194 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.28 + * +******************************************************************************/ + +#include +#include +#include + +/******************************************************************************/ + +struct nand_flash_dev spinand_flash_ids_hisi[] = { + { + .name = "ATO25D1GA", /* 24MHz */ + .id = {0x9B, 0x12}, + .id_len = 2, + .chipsize = SZ_128, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 64, + }, { + .name = "PN26G01WSIUG", /* 120MHz */ + .id = {0xA1, 0xF1}, + .id_len = 2, + .chipsize = SZ_128, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 64, + }, { + .name = "FM25G01A", /* 120MHz */ + .id = {0xA1, 0xE1}, + .id_len = 2, + .chipsize = SZ_128, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 128, + }, { + .name = "HYF1GQ4UAACAE", /* 24MHz */ + .id = {0xc9, 0x51}, + .id_len = 2, + .chipsize = SZ_128, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 128, + + }, { + .name = "HYF1GQ4UAACA6-C", + .id = {0xc9, 0x31}, + .id_len = 2, + .chipsize = SZ_128, + .erasesize = SZ_256K, + .pagesize = SZ_2K, + .oobsize = 64, + + }, { + .name = "AFS4GQ4UAGWC4", /* 60MHz */ + .id = {0xc2, 0xd4}, + .id_len = 2, + .chipsize = SZ_512, + .erasesize = SZ_256K, + .pagesize = SZ_4K, + .oobsize = 256, + }, { + .name = "AFS2GQ4UADWC2", /* 60MHz */ + .id = {0xc1, 0x52}, + .id_len = 2, + .chipsize = SZ_256, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 128, + }, { + .name = "AFS1GQ4UACWC2", /* 60MHz */ + .id = {0xc1, 0x51}, + .id_len = 2, + .chipsize = SZ_128, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 128, + }, { + .name = "AFS1GQ4UAAWC2", /* 60MHz */ + .id = {0xc8, 0x31}, + .id_len = 2, + .chipsize = SZ_128, + .erasesize = SZ_256K, + .pagesize = SZ_2K, + .oobsize = 64, + }, { + .name = "F50L512M41A", + .id = {0xC8, 0x20, 0x7F, 0x7F, 0x7F}, + .id_len = 5, + .chipsize = SZ_64, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 64, + }, { + .name = "F50L1G41A/PSU1GS20BN", /* 104MHz */ + .id = {0xC8, 0x21, 0x7F, 0x7F, 0x7F}, + .id_len = 5, + .chipsize = SZ_128, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 64, + }, { + .name = "GD5F1GQ4UAYIG", + .id = {0xc8, 0xf1}, + .id_len = 2, + .chipsize = SZ_128, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 64, + }, { + .name = "MX35LF1GE4AB-Z2I", + .id = {0xC2, 0x12}, + .id_len = 2, + .chipsize = SZ_128, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 64, + }, { + .name = "GD5F1GQ4UBYIG 3.3V", /* 120MHz */ + .id = {0xc8, 0xd1}, + .id_len = 2, + .chipsize = SZ_128, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 128, + }, { + .name = "GD5F2GQ4UAYIG", + .id = {0xc8, 0xf2}, + .id_len = 2, + .chipsize = SZ_256, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 64, + }, { + .name = "GD5F2GQ4UBYIG 3.3V", /* 120MHz */ + .id = {0xc8, 0xd2}, + .id_len = 2, + .chipsize = SZ_256, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 128, + }, { + .name = "5F4GQ4UAYIG", + .id = {0xc8, 0xf4}, + .id_len = 2, + .chipsize = SZ_512, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 64, + }, { + .name = "5F4GQ4UBYIG", + .id = {0xc8, 0xd4}, + .id_len = 2, + .chipsize = SZ_512, + .erasesize = SZ_256K, + .pagesize = SZ_4K, + .oobsize = 256, + }, { + .name = "W25N01GV", + .id = {0xef, 0xaa, 0x21}, + .id_len = 3, + .chipsize = SZ_128, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 64, + }, { + .name = "TC58CVG0S3HRAIF", + .id = {0x98, 0xC2}, + .id_len = 2, + .chipsize = SZ_128, + .erasesize = SZ_128K, + .pagesize = SZ_2K, + .oobsize = 128, + }, + + { NULL } +}; + + diff --git a/drivers/mtd/hisilicon/spinor_driver.c b/drivers/mtd/hisilicon/spinor_driver.c new file mode 100644 index 000000000..cf8294aec --- /dev/null +++ b/drivers/mtd/hisilicon/spinor_driver.c @@ -0,0 +1,282 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.7.2 + * +******************************************************************************/ + +#define pr_fmt(fmt) "spinor: " fmt + +#include +#include "hiflash.h" + +struct spinor_drvier_table { + u8 id[FLASH_ID_LEN]; + int id_len; + struct spinor_driver *drv; +}; + +extern struct spinor_flash_dev spinor_flash_ids_hisi[]; +/******************************************************************************/ + +static int spinor_write_buf_reg(struct flash_regop *regop, u8 cmd, u8 *buf, + int sz_buf) +{ + struct flash_regop_info info = {0}; + + info.priv = regop->priv; + info.cmd = cmd; + info.nr_cmd = 1; + info.buf = buf; + info.sz_buf = sz_buf; + return regop->write_reg(&info); +} +/******************************************************************************/ + +static int spinor_read_buf_reg(struct flash_regop *regop, u8 cmd, u8 *buf, + int sz_buf) +{ + struct flash_regop_info info = {0}; + + info.priv = regop->priv; + info.cmd = cmd; + info.nr_cmd = 1; + info.buf = buf; + info.sz_buf = sz_buf; + return regop->read_reg(&info); +} +/******************************************************************************/ + +static int spinor_quad_enable_null(struct flash_regop *regop) +{ + /* do nothing */ + return 0; +} +/******************************************************************************/ + +static int spinor_quad_disable_null(struct flash_regop *regop) +{ + /* do nothing */ + return 0; +} +/******************************************************************************/ + +static int spinor_write_enable(struct flash_regop *regop) +{ + return spinor_write_buf_reg(regop, SPINOR_OP_WREN, NULL, 0); +} +/******************************************************************************/ + +static int spinor_entry_4addr(struct flash_regop *regop) +{ + return spinor_write_buf_reg(regop, SPINOR_OP_EN4B, NULL, 0); +} +/******************************************************************************/ + +static int spinor_exit_4addr(struct flash_regop *regop) +{ + return spinor_write_buf_reg(regop, SPINOR_OP_EX4B, NULL, 0); +} +/******************************************************************************/ + +static int spinor_quad_enable_mxic(struct flash_regop *regop) +{ + int status; + + status = regop->read_sr(regop); + if (status & SPINOR_STATUS_EQ) + return 0; + + spinor_write_enable(regop); + + status |= SPINOR_STATUS_EQ; + + spinor_write_buf_reg(regop, SPINOR_OP_WRSR, (u8 *)&status, 1); + + regop->wait_device_ready(regop); + + /* chip not support quad mode */ + status = regop->read_sr(regop); + if (!(status & SPINOR_STATUS_EQ)) + return -EINVAL; + + return 0; +} +/******************************************************************************/ + +static int spinor_quad_disable_mxic(struct flash_regop *regop) +{ + int status; + + status = regop->read_sr(regop); + if (!(status & SPINOR_STATUS_EQ)) + return 0; + + spinor_write_enable(regop); + + status &= ~SPINOR_STATUS_EQ; + + spinor_write_buf_reg(regop, SPINOR_OP_WRSR, (u8 *)&status, 1); + + regop->wait_device_ready(regop); + + /* chip disable quad mode failed. */ + status = regop->read_sr(regop); + if ((status & SPINOR_STATUS_EQ)) + return -EINVAL; + + return 0; +} +/******************************************************************************/ + +static struct spinor_driver spinor_drv_mxic = { + .quad_enable = spinor_quad_enable_mxic, + .quad_disable = spinor_quad_disable_mxic, +}; +/******************************************************************************/ + +static int spinor_quad_enable_spansion(struct flash_regop *regop) +{ + u8 sr[2]; + + spinor_read_buf_reg(regop, SPINOR_OP_RDSR2, &sr[1], 1); + if (sr[1] & SPINOR_STATUS2_EQ) + return 0; + + spinor_read_buf_reg(regop, SPINOR_OP_RDSR, &sr[0], 1); + + sr[1] |= SPINOR_STATUS2_EQ; + + spinor_write_enable(regop); + + spinor_write_buf_reg(regop, SPINOR_OP_WRSR, sr, 2); + + regop->wait_device_ready(regop); + + spinor_read_buf_reg(regop, SPINOR_OP_RDSR2, &sr[1], 1); + + /* chip not support quad mode */ + if (!(sr[1] & SPINOR_STATUS2_EQ)) + return -EINVAL; + + return 0; +} +/******************************************************************************/ + +static int spinor_quad_disable_spansion(struct flash_regop *regop) +{ + u8 sr[2]; + + spinor_read_buf_reg(regop, SPINOR_OP_RDSR2, &sr[1], 1); + if (!(sr[1] & SPINOR_STATUS2_EQ)) + return 0; + + spinor_read_buf_reg(regop, SPINOR_OP_RDSR, &sr[0], 1); + + sr[1] &= ~SPINOR_STATUS2_EQ; + + spinor_write_enable(regop); + + spinor_write_buf_reg(regop, SPINOR_OP_WRSR, sr, 2); + + regop->wait_device_ready(regop); + + spinor_read_buf_reg(regop, SPINOR_OP_RDSR2, &sr[1], 1); + + /* chip disable quad mode failed. */ + if ((sr[1] & SPINOR_STATUS2_EQ)) + return -EINVAL; + + return 0; +} +/******************************************************************************/ + +static struct spinor_driver spinor_drv_spansion = { + .quad_enable = spinor_quad_enable_spansion, + .quad_disable = spinor_quad_disable_spansion, +}; +/******************************************************************************/ + +static struct spinor_drvier_table spinor_drv_table[] = { + /* MXIC */ + {{ 0xc2, 0x20, 0x18 }, 3, &spinor_drv_mxic }, + {{ 0xc2, 0x26 }, 2, &spinor_drv_mxic }, + /* Spansion */ + {{ 0x01, 0x02 }, 2, &spinor_drv_spansion }, + {{ 0x01, 0x20 }, 2, &spinor_drv_spansion }, + /* GigaDevice */ + {{ 0xC8, 0x40 }, 2, &spinor_drv_spansion }, + /* Winbond */ + {{ 0xef, 0x40 }, 2, &spinor_drv_spansion }, + + {{0},0,0}, +}; +/******************************************************************************/ + +struct spinor_flash_dev *spinor_match_id(u8 *id, int id_len) +{ + struct spinor_flash_dev *spinor; + struct spinor_flash_dev *best = NULL; + + for (spinor = spinor_flash_ids_hisi; spinor->name; spinor++) { + if (spinor->id_len > id_len || + memcmp(id, spinor->id, spinor->id_len)) + continue; + + if (!best || best->id_len < spinor->id_len) + best = spinor; + } + + /* best == NULL means find an unknown chip id */ + return best; +} +/******************************************************************************/ + +static struct spinor_driver spinor_drv_general = { + .quad_enable = spinor_quad_enable_null, + .quad_disable = spinor_quad_disable_null, + .write_enable = spinor_write_enable, + .entry_4addr = spinor_entry_4addr, + .exit_4addr = spinor_exit_4addr, +}; +/******************************************************************************/ + +struct spinor_driver *spinor_get_driver(u8 *id, int id_len) +{ + struct spinor_drvier_table *drv; + + for (drv = spinor_drv_table; drv->id_len; drv++) { + if (drv->id_len <= id_len && + !memcmp(drv->id, id, drv->id_len)) + goto found; + } + + return &spinor_drv_general; + +found: + if (!drv->drv->quad_enable) + drv->drv->quad_enable = spinor_quad_enable_null; + + if (!drv->drv->write_enable) + drv->drv->write_enable = spinor_write_enable; + + if (!drv->drv->entry_4addr) + drv->drv->entry_4addr = spinor_entry_4addr; + + if (!drv->drv->exit_4addr) + drv->drv->exit_4addr = spinor_exit_4addr; + + return drv->drv; +} diff --git a/drivers/mtd/hisilicon/spinor_ids.c b/drivers/mtd/hisilicon/spinor_ids.c new file mode 100644 index 000000000..84a6fc925 --- /dev/null +++ b/drivers/mtd/hisilicon/spinor_ids.c @@ -0,0 +1,122 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.7.28 + * +******************************************************************************/ + +#include + +#include "hiflash.h" + +/******************************************************************************/ + +struct spinor_flash_dev spinor_flash_ids_hisi[] = { + {"at25fs010", {0x1f, 0x66, 0x01}, 3, SZ_128K, SZ_32K}, + {"at25fs040", {0x1f, 0x66, 0x04}, 3, SZ_512K, SZ_64K}, + {"at25df041a", {0x1f, 0x44, 0x01}, 3, SZ_512K, SZ_64K}, + {"at25df641", {0x1f, 0x48, 0x00}, 3, SZ_8M, SZ_64K}, + {"at26f004", {0x1f, 0x04, 0x00}, 3, SZ_512K, SZ_64K}, + {"at26df081a", {0x1f, 0x45, 0x01}, 3, SZ_1M, SZ_64K}, + {"at26df161a", {0x1f, 0x46, 0x01}, 3, SZ_2M, SZ_64K}, + {"at26df321", {0x1f, 0x47, 0x01}, 3, SZ_4M, SZ_64K}, + + /* MXIC QE = bit6 */ + {"MX25L4005A", {0xc2, 0x20, 0x13}, 3, SZ_512K, SZ_64K}, + {"MX25L8006E", {0xc2, 0x20, 0x14}, 3, SZ_1M, SZ_64K}, + {"MX25L1606E", {0xc2, 0x20, 0x15}, 3, SZ_2M, SZ_64K}, + {"MX25L3205D", {0xc2, 0x20, 0x16}, 3, SZ_4M, SZ_64K}, + {"KH25L3255E", {0xc2, 0x9E, 0x16}, 3, SZ_4M, SZ_64K}, + {"MX25L6406E", {0xc2, 0x20, 0x17}, 3, SZ_8M, SZ_64K}, + {"MX25L6456F", {0xc2, 0x26, 0x17}, 3, SZ_8M, SZ_64K}, + {"MX25L128xx", {0xc2, 0x20, 0x18}, 3, SZ_16M, SZ_64K}, + {"MX25L1655D", {0xc2, 0x26, 0x15}, 3, SZ_2M, SZ_64K}, + {"MX25L12855E", {0xc2, 0x26, 0x18}, 3, SZ_16M, SZ_64K}, + {"MX25L25x35x", {0xc2, 0x20, 0x19}, 3, SZ_32M, SZ_64K}, + + /* SPANSION QE=bit2, CMD=35h */ + {"S25SL004A", {0x01, 0x02, 0x12}, 3, SZ_512K, SZ_64K}, + {"S25SL008A", {0x01, 0x02, 0x13}, 3, SZ_1M, SZ_64K}, + {"S25SL016A", {0x01, 0x02, 0x14}, 3, SZ_2M, SZ_64K}, + {"S25FL032A", {0x01, 0x02, 0x15}, 3, SZ_4M, SZ_64K}, + {"S25SL064A", {0x01, 0x02, 0x16}, 3, SZ_8M, SZ_64K}, + {"S25FL032P", {0x01, 0x02, 0x15, 0x4d}, 4, SZ_4M, SZ_64K}, + {"S25FL064P", {0x01, 0x02, 0x16, 0x4d}, 4, SZ_8M, SZ_64K}, + {"S25FL128P0", {0x01, 0x20, 0x18, 0x03, 0x00}, 5, SZ_16M, SZ_256K}, /* NO EQ 8bits I/O */ + {"S25FL128P1", {0x01, 0x20, 0x18, 0x03, 0x01}, 5, SZ_16M, SZ_64K }, /* NO EQ 8bits I/O */ + {"S25FL129P0", {0x01, 0x20, 0x18, 0x4d, 0x00}, 5, SZ_16M, SZ_256K}, + {"S25FL129P1", {0x01, 0x20, 0x18, 0x4d, 0x01}, 5, SZ_16M, SZ_64K}, + + {"sst25wf512", {0xbf, 0x25, 0x01}, 3, SZ_64K, SZ_64K}, + {"sst25wf010", {0xbf, 0x25, 0x02}, 3, SZ_128K, SZ_64K}, + {"sst25wf020", {0xbf, 0x25, 0x03}, 3, SZ_256K, SZ_64K}, + {"sst25wf040", {0xbf, 0x25, 0x04}, 3, SZ_512K, SZ_64K}, + {"sst25vf040b", {0xbf, 0x25, 0x8d}, 3, SZ_512K, SZ_64K}, + {"sst25vf080b", {0xbf, 0x25, 0x8e}, 3, SZ_1M, SZ_64K}, + {"sst25vf016b", {0xbf, 0x25, 0x41}, 3, SZ_2M, SZ_64K}, + {"sst25vf032b", {0xbf, 0x25, 0x4a}, 3, SZ_4M, SZ_64K}, + + {"M25P05", {0x20, 0x20, 0x10}, 3, SZ_64K, SZ_32K}, + {"M25P10", {0x20, 0x20, 0x11}, 3, SZ_128K, SZ_32K}, + {"M25P20", {0x20, 0x20, 0x12}, 3, SZ_256K, SZ_64K}, + {"M25P40", {0x20, 0x20, 0x13}, 3, SZ_512K, SZ_64K}, + {"M25P80", {0x20, 0x20, 0x14}, 3, SZ_1M, SZ_64K}, + {"M25P16", {0x20, 0x20, 0x15}, 3, SZ_2M, SZ_64K}, + {"M25P32", {0x20, 0x20, 0x16, 0x10}, 4, SZ_4M, SZ_64K}, + {"M25P64", {0x20, 0x20, 0x17}, 3, SZ_8M, SZ_64K}, + {"M25P128", {0x20, 0x20, 0x18}, 3, SZ_16M, SZ_256K}, + {"M45PE10", {0x20, 0x40, 0x11}, 3, SZ_128K, SZ_64K}, + {"M45PE80", {0x20, 0x40, 0x14}, 3, SZ_1M, SZ_64K}, + {"M45PE16", {0x20, 0x40, 0x15}, 3, SZ_2M, SZ_64K}, + {"M25PE80", {0x20, 0x80, 0x14}, 3, SZ_1M, SZ_64K}, + {"M25PE16", {0x20, 0x80, 0x15}, 3, SZ_2M, SZ_64K}, + {"N25Q032", {0x20, 0xba, 0x16}, 3, SZ_4M, SZ_64K}, + {"N25Q128", {0x20, 0xba, 0x18}, 3, SZ_16M, SZ_64K}, + {"M25PX16", {0x20, 0x71, 0x15}, 3, SZ_2M, SZ_64K}, + {"M25PX32", {0x20, 0x71, 0x16}, 3, SZ_4M, SZ_64K}, + {"M25PX64", {0x20, 0x71, 0x17}, 3, SZ_8M, SZ_64K}, + + /* Winbond no QE */ + {"w25x10", {0xef, 0x30, 0x11}, 3, SZ_128K, SZ_64K}, + {"w25x20", {0xef, 0x30, 0x12}, 3, SZ_256K, SZ_64K}, + {"w25x40", {0xef, 0x30, 0x13}, 3, SZ_512K, SZ_64K}, + {"w25x80", {0xef, 0x30, 0x14}, 3, SZ_1M, SZ_64K}, + {"w25x16", {0xef, 0x30, 0x15}, 3, SZ_2M, SZ_64K}, + {"w25x32", {0xef, 0x30, 0x16}, 3, SZ_4M, SZ_64K}, + {"w25x64", {0xef, 0x30, 0x17}, 3, SZ_8M, SZ_64K}, + + /* Winbond QE=bit2, CMD=35h, the sample as spansion */ + {"W25Q80BV", {0xef, 0x40, 0x14}, 3, SZ_1M, SZ_64K}, + {"W25Q16xV", {0xef, 0x40, 0x15}, 3, SZ_2M, SZ_64K}, + {"W25Q32BV", {0xef, 0x40, 0x16}, 3, SZ_4M, SZ_64K}, + {"W25Q64FV", {0xef, 0x40, 0x17}, 3, SZ_8M, SZ_64K}, + {"W25Q128BV", {0xef, 0x40, 0x18}, 3, SZ_16M, SZ_64K}, + {"W25Q256FV", {0xef, 0x40, 0x19}, 3, SZ_32M, SZ_64K}, + + /* EoN Not support QE */ + {"EN25F80", {0x1c, 0x31, 0x14}, 3, SZ_1M, SZ_64K}, + {"EN25F16", {0x1c, 0x31, 0x15}, 3, SZ_2M, SZ_64K}, + {"EN25Q32B", {0x1c, 0x30, 0x16}, 3, SZ_4M, SZ_64K}, + {"EN25Q64", {0x1c, 0x30, 0x17}, 3, SZ_8M, SZ_64K}, + {"EN25Q128", {0x1c, 0x30, 0x18}, 3, SZ_16M, SZ_64K}, + + /* GIGA QE=bit2, CMD=35h, the sample as spansion */ + {"GD25Q128", {0xC8, 0x40, 0x18}, 3, SZ_16M, SZ_64K}, + {"GD25Q64B", {0xC8, 0x40, 0x17}, 3, SZ_8M, SZ_64K}, + {"GD25Q32B", {0xC8, 0x40, 0x16}, 3, SZ_4M, SZ_64K}, + + { NULL, }, +}; + diff --git a/drivers/mtd/nand/hinfc610/Kconfig b/drivers/mtd/nand/hinfc610/Kconfig new file mode 100644 index 000000000..f8c673a09 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/Kconfig @@ -0,0 +1,93 @@ +# +# drivers/mtd/nand/hinfc610/Kconfig +# add by caizhiyong 2010.11.04 +# + +menuconfig MTD_NAND_HINFC610 + tristate "Hisilicon NAND Controller v610 device Support" + depends on MTD_NAND + default y if (ARCH_S40) || (ARCH_GODBOX) || (ARCH_HI3798MX) || (ARCH_HIFONE) || (ARCH_HI3716MV420N) + select MISC_FILESYSTEMS + select MTD_BLOCK + help + Hisilicon NAND Controller v610 device Support + +if MTD_NAND_HINFC610 + +config HINFC610_MAX_CHIP + int "number of nand flash chip (1,4)" + default 1 + help + nand controller v610 device only support 1 or 2 nand flash chip, + your should not config other value. + +config HINFC610_CACHE_ENABLE + bool "enable nand cache feature" + default n + help + enable cache feature may improve nand startup speed on some file system + +config HINFC610_DBG_NAND_DEBUG + bool "Debug: create debug file to control debug type" + default y + help + Create "debug" file to control debug type. + +config HINFC610_DBG_NAND_DUMP + bool "Debug: display read/write/erase process nand data" + depends on HINFC610_DBG_NAND_DEBUG + default y + help + Create "dump" file dump to display all nand operation and data. + +config HINFC610_DBG_NAND_ERASE_COUNT + bool "Debug: display last erase count" + depends on HINFC610_DBG_NAND_DEBUG + default y + help + Create "erase_count" file to display last erase count. + +config HINFC610_DBG_NAND_READ_COUNT + bool "Debug: display last read count" + depends on HINFC610_DBG_NAND_DEBUG + default y + help + Create "read_count" file to display last read count. + +config HINFC610_DBG_NAND_ECC_COUNT + bool "Debug: display last ecc count." + depends on HINFC610_DBG_NAND_DEBUG + default y + help + Create "ecc_count" to display last ecc count. + +config HINFC610_DBG_NAND_READ_RETRY + bool "Debug: display read_retry process" + depends on HINFC610_DBG_NAND_DEBUG + default y + help + Create read_retry file to display read_retry process. + +config CONFIG_HINFC610_DBG_NAND_CACHE + bool "Debug: display cache information" + depends on HINFC610_DBG_NAND_DEBUG && HINFC610_CACHE_ENABLE + default y + help + Create data file to display cache information. + +choice + prompt "Pagesize and Ecc Type Select" + +config HINFC610_AUTO_PAGESIZE_ECC + bool "Auto" + help + pagesize and ecc type use hardware config + +config HINFC610_PAGESIZE_AUTO_ECC_NONE + bool "Pagesize Auto, Ecc None" + help + select pagesize 2K, ecc none. + +endchoice + +endif # MTD_NAND_HINFC610 diff --git a/drivers/mtd/nand/hinfc610/Makefile b/drivers/mtd/nand/hinfc610/Makefile new file mode 100644 index 000000000..48d8a3d59 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/Makefile @@ -0,0 +1,33 @@ +ccflags-y += -Idrivers/mtd/nand + +obj-$(CONFIG_MTD_NAND_HINFC610) += hinfc610.o hinfc610_os.o hinfc610_gen.o hinfc610_dbg_inf.o \ + hinfc610_ecc_info.o hinfc610_rw_latch.o \ + hinfc610_read_retry_hynix_bg_cdie.o \ + hinfc610_read_retry_hynix_bg_bdie.o \ + hinfc610_read_retry_hynix_cg_adie.o \ + hinfc610_read_retry_micron.o \ + hinfc610_read_retry_samsung.o \ + hinfc610_read_retry_toshiba_v2012.o \ + hinfc610_read_retry_toshiba_v2013.o \ + hinfc610_read_retry.o \ + hinfc610_sync.o \ + hinfc610_sync_onfi_23.o \ + hinfc610_sync_toggle.o \ + hinfc620_gen.o + + +obj-$(CONFIG_ARCH_HI3798MX) += hinfc610_rw_latch_hi3798mv100.o +obj-$(CONFIG_ARCH_S40) += hinfc610_rw_latch_s40.o +obj-$(CONFIG_ARCH_HI3716MV420N) += hinfc610_rw_latch_s40.o +obj-$(CONFIG_ARCH_HIFONE) += hinfc610_rw_latch_hifone.o +obj-$(CONFIG_ARCH_HI3716MV310) += hinfc610_rw_latch_hi3716mv310.o + +obj-$(CONFIG_HINFC610_CACHE_ENABLE) += hinfc610_cache.o +obj-$(CONFIG_HINFC610_DBG_NAND_DEBUG) += hinfc610_dbg.o +obj-$(CONFIG_HINFC610_DBG_NAND_DUMP) += hinfc610_dbg_dump.o +obj-$(CONFIG_HINFC610_DBG_NAND_ERASE_COUNT) += hinfc610_dbg_erase_count.o +obj-$(CONFIG_HINFC610_DBG_NAND_READ_COUNT) += hinfc610_dbg_read_count.o +obj-$(CONFIG_HINFC610_DBG_NAND_ECC_COUNT) += hinfc610_dbg_ecc_count.o +obj-$(CONFIG_HINFC610_DBG_NAND_READ_RETRY) += hinfc610_dbg_read_retry.o +obj-$(CONFIG_HINFC610_DBG_NAND_CACHE) += hinfc610_dbg_cache.o + diff --git a/drivers/mtd/nand/hinfc610/hinfc610.c b/drivers/mtd/nand/hinfc610/hinfc610.c new file mode 100644 index 000000000..a9c40a618 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610.c @@ -0,0 +1,1358 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-02-07 + * +******************************************************************************/ + +#define pr_fmt(fmt) "hinfc610: " fmt + +#include "hinfc610_os.h" +#include "hinfc610.h" +#include "hinfc610_dbg_inf.h" +#include "hinfc610_gen.h" +#include "hinfc620_gen.h" +#include "hinfc610_rw_latch.h" +#include "hinfc610_sync.h" +#include "hinfc610_read_retry.h" +#include "hinfc610_ecc_info.h" +#include "hinfc610_cache.h" + +/*****************************************************************************/ +#ifdef CONFIG_ARCH_HI3716MV310 +#include "hinfc610_hi3716mv310.c" +#endif + +#ifdef CONFIG_ARCH_HIFONE +#include "hinfc610_hifone.c" +#endif + +#if defined (CONFIG_ARCH_S40) || defined (CONFIG_ARCH_HI3798MX) || defined (CONFIG_ARCH_HI3716MV420N) +#include "hinfc610_s40.c" +#endif + +extern int nand_get_device(struct mtd_info *mtd, int new_state); +extern void nand_release_device(struct mtd_info *mtd); + +/******************************************************************************/ + +static void hinfc610_dma_transfer(struct hinfc_host *host, int todev) +{ + unsigned long reg_val; + unsigned int phyaddr; + unsigned int phy_pageaddr; + unsigned int phy_oobaddr; + enum dma_data_direction direction = + todev ? DMA_TO_DEVICE : DMA_FROM_DEVICE; + + phy_oobaddr = dma_map_single(host->dev, host->oobbuf, + host->oobsize, direction); + if (unlikely(dma_mapping_error(host->dev, phy_oobaddr))) { + hinfc_pr_bug("dma mapping failed.\n"); + return; + } + + hinfc_write(host, phy_oobaddr, HINFC610_DMA_ADDR_OOB); + + phyaddr = phy_pageaddr = dma_map_single(host->dev, host->pagebuf, + host->pagesize, direction); + if (unlikely(dma_mapping_error(host->dev, phy_pageaddr))) { + hinfc_pr_bug("dma mapping failed.\n"); + return; + } + + hinfc_write(host, phyaddr, HINFC610_DMA_ADDR_DATA); + + if (host->pagesize >= SZ_8K) { + phyaddr += HINFC610_DMA_ADDR_OFFSET; + hinfc_write(host, phyaddr, HINFC610_DMA_ADDR_DATA1); + } + + if (host->pagesize >= SZ_16K) { + phyaddr += HINFC610_DMA_ADDR_OFFSET; + hinfc_write(host, phyaddr, HINFC610_DMA_ADDR_DATA2); + + phyaddr += HINFC610_DMA_ADDR_OFFSET; + hinfc_write(host, phyaddr, HINFC610_DMA_ADDR_DATA3); + } + + if (host->pagesize >= SZ_32K) { + phyaddr += HINFC610_DMA_ADDR_OFFSET; + hinfc_write(host, phyaddr, HINFC610_DMA_ADDR_DATA4); + + phyaddr += HINFC610_DMA_ADDR_OFFSET; + hinfc_write(host, phyaddr, HINFC610_DMA_ADDR_DATA5); + + phyaddr += HINFC610_DMA_ADDR_OFFSET; + hinfc_write(host, phyaddr, HINFC610_DMA_ADDR_DATA6); + + phyaddr += HINFC610_DMA_ADDR_OFFSET; + hinfc_write(host, phyaddr, HINFC610_DMA_ADDR_DATA7); + } + + if (host->ecctype == NAND_ECC_NONE) { + hinfc_write(host, + ((host->oobsize & HINFC610_DMA_LEN_OOB_MASK) + << HINFC610_DMA_LEN_OOB_SHIFT), + HINFC610_DMA_LEN); + + hinfc_write(host, + HINFC610_DMA_PARA_DATA_RW_EN + | HINFC610_DMA_PARA_OOB_RW_EN, + HINFC610_DMA_PARA); + } else + hinfc_write(host, + HINFC610_DMA_PARA_DATA_RW_EN + | HINFC610_DMA_PARA_OOB_RW_EN + | HINFC610_DMA_PARA_DATA_EDC_EN + | HINFC610_DMA_PARA_OOB_EDC_EN, + HINFC610_DMA_PARA); + + reg_val = (HINFC610_DMA_CTRL_DMA_START + | HINFC610_DMA_CTRL_BURST4_EN + | HINFC610_DMA_CTRL_BURST8_EN + | HINFC610_DMA_CTRL_BURST16_EN + | ((host->addr_cycle == 4 ? 1 : 0) + << HINFC610_DMA_CTRL_ADDR_NUM_SHIFT) + | ((host->chipselect & HINFC610_DMA_CTRL_CS_MASK) + << HINFC610_DMA_CTRL_CS_SHIFT)); + + if (todev) + reg_val |= HINFC610_DMA_CTRL_WE; + + hinfc_write(host, reg_val, HINFC610_DMA_CTRL); + + do { + unsigned int timeout = 0xF0000000; + while ((hinfc_read(host, HINFC610_DMA_CTRL)) + & HINFC610_DMA_CTRL_DMA_START && timeout) { + _cond_resched(); + timeout--; + } + if (!timeout) + hinfc_pr_bug("Wait DMA finish timeout.\n"); + } while (0); + + dma_unmap_single(host->dev, phy_pageaddr, host->pagesize, direction); + dma_unmap_single(host->dev, phy_oobaddr, host->oobsize, direction); +} +/*****************************************************************************/ + +static void hinfc610_sync_entry(struct hinfc_host *host) +{ + struct nand_sync *sync = host->sync; + struct nand_chip *chip = host->chip; + + if (!sync) { + hinfc_pr_bug("this NAND not support sync feature.\n"); + return; + } + + if (HINFC610_IS_SYNC(host)) { + hinfc_pr_bug("this NAND not support sync feature.\n"); + return; + } + + if (sync->enable) + sync->enable(chip); + + hinfc610_sync_clock(host, ENABLE); + + switch (sync->type) { + case NAND_TYPE_TOGGLE_10: + host->NFC_CON |= HINFC610_CON_NF_MODE_TOGGLE; + host->NFC_CON_ECC_NONE |= HINFC610_CON_NF_MODE_TOGGLE; + break; + + case NAND_TYPE_ONFI_23: + host->NFC_CON |= HINFC610_CON_NF_MODE_ONFI_23; + host->NFC_CON_ECC_NONE |= HINFC610_CON_NF_MODE_ONFI_23; + break; + + case NAND_TYPE_ONFI_30: + host->NFC_CON |= HINFC610_CON_NF_MODE_ONFI_30; + host->NFC_CON_ECC_NONE |= HINFC610_CON_NF_MODE_ONFI_30; + break; + + default: + hinfc_pr_bug("Unsupport sync type 0x%08X.\n", sync->type); + break; + } +} +/*****************************************************************************/ + +static void hinfc610_sync_exit(struct hinfc_host *host) +{ + struct nand_sync *sync = host->sync; + struct nand_chip *chip = host->chip; + + if (!HINFC610_IS_SYNC(host)) { + hinfc_pr_bug("Current already exit from sync feature.\n"); + return; + } + + if (sync->disable) + sync->disable(chip); + + host->NFC_CON &= ~HINFC610_CON_NF_MODE_MASK; + host->NFC_CON_ECC_NONE &= ~HINFC610_CON_NF_MODE_MASK; + + hinfc610_sync_clock(host, DISABLE); +} +/*****************************************************************************/ + +void hinfc610_cmd_ctrl(struct mtd_info *mtd, int dat, unsigned int ctrl) +{ + struct nand_chip *chip = mtd->priv; + struct hinfc_host *host = chip->priv; + + if (ctrl & NAND_ALE) { + unsigned int addr_value = 0; + unsigned int addr_offset = 0; + + if (ctrl & NAND_CTRL_CHANGE) { + host->addr_cycle = 0x0; + host->addr_value[0] = 0x0; + host->addr_value[1] = 0x0; + } + addr_offset = host->addr_cycle << 3; + + if (host->addr_cycle >= HINFC610_ADDR_CYCLE_MASK) { + addr_offset = + (host->addr_cycle - HINFC610_ADDR_CYCLE_MASK) << 3; + addr_value = 1; + } + + host->addr_value[addr_value] |= + ((dat & 0xff) << addr_offset); + + host->addr_cycle++; + } + + if ((ctrl & NAND_CLE) && (ctrl & NAND_CTRL_CHANGE)) { +#ifdef CONFIG_HINFC610_CACHE_ENABLE + unsigned int pageindex; +#endif /* CONFIG_HINFC610_CACHE_ENABLE */ + + host->command = dat & 0xff; + if (host->page_status) + host->page_status = 0; + + switch (host->command) { + case NAND_CMD_PAGEPROG: +#ifdef CONFIG_HINFC610_CACHE_ENABLE + pageindex = GET_RW_PAGE_INDEX(host); + + hinfc_remove_cache(host->cache, pageindex, 1, 1, + HINFC_CACHE_REMOVE_CAUSE_WRITE); +#endif /* CONFIG_HINFC610_CACHE_ENABLE */ + host->send_cmd_pageprog(host); + + hinfc610_dbg_write(host); + + break; + + case NAND_CMD_READSTART: { +#ifdef CONFIG_HINFC610_CACHE_ENABLE + int ret; + char *pagebuf; + char *oobbuf; + int status; + pageindex = GET_RW_PAGE_INDEX(host); + + ret = hinfc_read_cache(host->cache, pageindex, + &pagebuf, &oobbuf, &status); + + if (status & HINFC_CACHE_STATUS_EMPTY_PAGE) { + host->page_status |= HINFC610_PS_EMPTY_PAGE; + break; + } + + if (ret) { + ret = hinfc_save_cache(host->cache, pageindex, + &pagebuf, &oobbuf); + + host->pagebuf = ret ? host->fix_pagebuf : pagebuf; +#endif /* CONFIG_HINFC610_CACHE_ENABLE */ + host->send_cmd_readstart(host); + hinfc610_dbg_read(host); + + if (IS_PS_UN_ECC(host) && + !IS_PS_EMPTY_PAGE(host) && + !IS_PS_BAD_BLOCK(host)) + mtd->ecc_stats.failed++; +#ifdef CONFIG_HINFC610_CACHE_ENABLE + if (!ret) { + if (IS_PS_EMPTY_PAGE(host)) { + hinfc_remove_cache(host->cache, + pageindex, 1, 1, + HINFC_CACHE_REMOVE_CAUSE_EMPTY_PAGE); + hinfc_set_cache_status(host->cache, + pageindex, HINFC_CACHE_STATUS_EMPTY_PAGE); + + host->pagebuf = NULL; + } else { + memcpy(oobbuf, host->oobbuf + HINFC610_OOB_OFFSET, + HINFC610_OOB_SIZE); + hinfc_cache_save_crc(host->cache, pageindex); + } + } + + } else { + hinfc_cache_check_crc(host->cache, pageindex); + host->pagebuf = pagebuf; + memcpy(host->oobbuf + HINFC610_OOB_OFFSET, + oobbuf, HINFC610_OOB_SIZE); + } +#endif /* CONFIG_HINFC610_CACHE_ENABLE */ + break; + + } + case NAND_CMD_ERASE2: +#ifdef CONFIG_HINFC610_CACHE_ENABLE + pageindex = GET_ERASE_PAGE_INDEX(host); + + host->pagebuf = NULL; + hinfc_remove_cache(host->cache, pageindex, + host->page_per_block, 1, + HINFC_CACHE_REMOVE_CAUSE_ERASE); +#endif /* CONFIG_HINFC610_CACHE_ENABLE */ + + host->send_cmd_erase(host); + hinfc610_dbg_erase(host); + + break; + + case NAND_CMD_READID: + memset((unsigned char *)(chip->IO_ADDR_R), 0, 0x10); + host->send_cmd_readid(host); + break; + + case NAND_CMD_STATUS: + host->send_cmd_status(host); + break; + + case NAND_CMD_SEQIN: + host->pagebuf = host->fix_pagebuf; + break; + + case NAND_CMD_ERASE1: + case NAND_CMD_READ0: + break; + + case NAND_CMD_RESET: + host->send_cmd_reset(host, host->chipselect); + break; + + default : + break; + } + } + + if ((dat == NAND_CMD_NONE) && host->addr_cycle) { + if (host->command == NAND_CMD_SEQIN || + host->command == NAND_CMD_READ0 || + host->command == NAND_CMD_READID) { + host->offset = 0x0; + host->column = (host->addr_value[0] & 0xffff); + } + } +} +/*****************************************************************************/ + +static int hinfc610_send_cmd_pageprog(struct hinfc_host *host) +{ + if (*host->bbm != 0xFF && *host->bbm != 0x00) + pr_warn("Attempt to write an invalid bbm. page: 0x%08x, mark: 0x%02x, current process(pid): %s(%d).\n", + GET_RW_PAGE_INDEX(host), *host->bbm, + current->comm, current->pid); + + if (IS_NAND_SYNC_ASYNC(host)) + hinfc610_sync_entry(host); + + host->enable_ecc_randomizer(host, ENABLE, ENABLE); + + hinfc_write(host, host->addr_value[0] & 0xffff0000, HINFC610_ADDRL); + hinfc_write(host, host->addr_value[1], HINFC610_ADDRH); + hinfc_write(host, + ((NAND_CMD_STATUS << 16) | (NAND_CMD_PAGEPROG << 8) | + NAND_CMD_SEQIN), + HINFC610_CMD); + + if (IS_NAND_RANDOM(host)) + *host->epm = 0x0000; + + hinfc610_dma_transfer(host, 1); + + if (IS_NAND_SYNC_ASYNC(host)) + hinfc610_sync_exit(host); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_get_data_status(struct hinfc_host *host) +{ + unsigned int page_status = 0; + + if (IS_PS_UN_ECC(host)) + page_status = HINFC610_PS_UC_ECC; + + /* this is block start address */ + if (!((host->addr_value[0] >> 16) & host->block_page_mask)) { + + /* it is a bad block */ + if (*host->bbm == 0x00) { + page_status |= HINFC610_PS_BAD_BLOCK; + goto out; + } + + if (*host->bbm != 0xFF) { + page_status |= HINFC610_PS_BBM_ERROR; + + /* + * if there are more than 2 bits flipping, it is + * maybe a bad block + */ + if (!IS_PS_UN_ECC(host) || get_bits(*host->bbm) < 6) { + page_status |= HINFC610_PS_BAD_BLOCK; + goto out; + } + } + } + + if (*host->epm == 0x0000) + goto out; + + if (*host->epm == 0xFFFF) { + page_status |= HINFC610_PS_EMPTY_PAGE; + goto out; + } + + page_status |= HINFC610_PS_EPM_ERROR; + + if (IS_PS_UN_ECC(host) && get_bits(*host->epm) > 12) { + page_status |= HINFC610_PS_EMPTY_PAGE; + goto out; + } + +out: + return page_status; +} +/*****************************************************************************/ + +static int hinfc610_do_read_retry(struct hinfc_host *host) +{ + int ix; + + for (ix = 1; IS_PS_UN_ECC(host) && ix < host->read_retry->count; ix++) { + + hinfc_write(host, HINFC610_INTCLR_UE | HINFC610_INTCLR_CE, + HINFC610_INTCLR); + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + host->read_retry->set_rr_param(host, ix); + + /* enable ecc and randomizer */ + host->enable_ecc_randomizer(host, ENABLE, ENABLE); + + hinfc_write(host, HINFC610_INTCLR_UE | HINFC610_INTCLR_CE, + HINFC610_INTCLR); + hinfc_write(host, host->addr_value[0] & 0xffff0000, + HINFC610_ADDRL); + hinfc_write(host, host->addr_value[1], HINFC610_ADDRH); + hinfc_write(host, + HINFC_CMD_SEQ(NAND_CMD_READ0, NAND_CMD_READSTART), + HINFC610_CMD); + + hinfc610_dma_transfer(host, 0); + + if (hinfc_read(host, HINFC610_INTS) & HINFC610_INTS_UE) + host->page_status |= HINFC610_PS_UC_ECC; + else + host->page_status &= ~HINFC610_PS_UC_ECC; + } + + host->page_status = hinfc610_get_data_status(host); + + hinfc610_dbg_read_retry(host, ix - 1); + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + host->read_retry->reset_rr_param(host); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_send_cmd_readstart(struct hinfc_host *host) +{ + if (IS_NAND_SYNC_ASYNC(host)) + hinfc610_sync_entry(host); + + host->enable_ecc_randomizer(host, ENABLE, ENABLE); + + hinfc_write(host, HINFC610_INTCLR_UE | HINFC610_INTCLR_CE, + HINFC610_INTCLR); + hinfc_write(host, host->NFC_CON, HINFC610_CON); + hinfc_write(host, host->addr_value[0] & 0xffff0000, HINFC610_ADDRL); + hinfc_write(host, host->addr_value[1], HINFC610_ADDRH); + hinfc_write(host, NAND_CMD_READSTART << 8 | NAND_CMD_READ0, + HINFC610_CMD); + + hinfc610_dma_transfer(host, 0); + + if (hinfc_read(host, HINFC610_INTS) & HINFC610_INTS_UE) + host->page_status |= HINFC610_PS_UC_ECC; + + if (host->read_retry || IS_NAND_RANDOM(host)) { + host->page_status |= hinfc610_get_data_status(host); + + if (IS_PS_EMPTY_PAGE(host)) { + /* return 0xFF to MTD. */ + } else if (!IS_PS_BAD_BLOCK(host)) { + /* if NAND chip support read retry */ + if (IS_PS_UN_ECC(host) && host->read_retry) + hinfc610_do_read_retry(host); + + } /* 'else' NAND have a bad block, do nothing. */ + } + + if (IS_NAND_SYNC_ASYNC(host)) + hinfc610_sync_exit(host); + + if (!IS_PS_UN_ECC(host)) + host->ecc.dump(host, NULL, &host->ecc.max_bitsflap); + else + host->ecc.max_bitsflap = -1; + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_read_raw_data(struct hinfc_host *host, int page, int offset, + unsigned int size) +{ + u32 regval; + struct nand_chip *chip = host->chip; + + if (IS_NAND_SYNC_ASYNC(host)) + hinfc610_sync_entry(host); + + memset((char *)chip->IO_ADDR_R, 0, size); + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, HINFC610_INTCLR_UE | HINFC610_INTCLR_CE, + HINFC610_INTCLR); + + host->addr_cycle = 4; + host->addr_value[0] = (offset & 0xFFFF) | ((page & 0xFFFF) << 16); + + if (chip->chipsize > (128 << 20)) { + host->addr_value[1] = (page >> 16) & 0xFF; + host->addr_cycle++; + } else { + host->addr_value[1] = 0; + } + + hinfc_write(host, host->addr_value[0], HINFC610_ADDRL); + hinfc_write(host, host->addr_value[1], HINFC610_ADDRH); + hinfc_write(host, NAND_CMD_READSTART << 8 | NAND_CMD_READ0, + HINFC610_CMD); + + regval = (HINFC610_DATA_NUM_MASK & size) | HINFC610_DATA_NUM_RANDOM_EN; + + hinfc_write(host, regval, HINFC610_DATA_NUM); + + regval = HINFC610_OP_READ_DATA_EN + | HINFC610_OP_WAIT_READY_EN + | HINFC610_OP_CMD2_EN + | HINFC610_OP_ADDR_EN + | HINFC610_OP_CMD1_EN + | HINFC610_OP_GET_CS(host->chipselect) + | HINFC610_OP_GET_ADDR_CYCLE(host->addr_cycle); + + hinfc_write(host, regval, HINFC610_OP); + + host->addr_cycle = 0x0; + + WAIT_CONTROLLER_FINISH(host); + + if (IS_NAND_SYNC_ASYNC(host)) + hinfc610_sync_exit(host); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_send_cmd_erase(struct hinfc_host *host) +{ + unsigned int regval; + + /* Don't case the read retry config */ + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, host->addr_value[0], HINFC610_ADDRL); + hinfc_write(host, (NAND_CMD_ERASE2 << 8) | NAND_CMD_ERASE1, + HINFC610_CMD); + + regval = HINFC610_OP_WAIT_READY_EN + | HINFC610_OP_CMD2_EN + | HINFC610_OP_CMD1_EN + | HINFC610_OP_ADDR_EN + | ((host->chipselect & HINFC610_OP_NF_CS_MASK) + << HINFC610_OP_NF_CS_SHIFT) + | ((host->addr_cycle & HINFC610_OP_ADDR_CYCLE_MASK) + << HINFC610_OP_ADDR_CYCLE_SHIFT); + + hinfc_write(host, regval, HINFC610_OP); + + WAIT_CONTROLLER_FINISH(host); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_send_cmd_sync_readid(struct hinfc_host *host) +{ + unsigned int regval; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, HINFC610_NANDINFO_LEN, HINFC610_DATA_NUM); + hinfc_write(host, NAND_CMD_READID, HINFC610_CMD); + hinfc_write(host, 0, HINFC610_ADDRL); + + /* no need to config HINFC610_OP_WAIT_READY_EN, here not config. */ + regval = HINFC610_OP_CMD1_EN + | HINFC610_OP_ADDR_EN + | HINFC610_OP_READ_DATA_EN + | ((host->chipselect & HINFC610_OP_NF_CS_MASK) + << HINFC610_OP_NF_CS_SHIFT) + | (1 << HINFC610_OP_ADDR_CYCLE_SHIFT) + | HINFC610_OP_READID_EN + | HINFC610_OP_RW_REG_EN; + + hinfc_write(host, regval, HINFC610_OP); + + host->addr_cycle = 0x0; + + WAIT_CONTROLLER_FINISH(host); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_send_cmd_async_readid(struct hinfc_host *host) +{ + unsigned int regval; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, HINFC610_NANDINFO_LEN, HINFC610_DATA_NUM); + hinfc_write(host, NAND_CMD_READID, HINFC610_CMD); + hinfc_write(host, 0, HINFC610_ADDRL); + + /* no need to config HINFC610_OP_WAIT_READY_EN, here not config. */ + regval = HINFC610_OP_CMD1_EN + | HINFC610_OP_ADDR_EN + | HINFC610_OP_READ_DATA_EN + | ((host->chipselect & HINFC610_OP_NF_CS_MASK) + << HINFC610_OP_NF_CS_SHIFT) + | (1 << HINFC610_OP_ADDR_CYCLE_SHIFT); + + hinfc_write(host, regval, HINFC610_OP); + + host->addr_cycle = 0x0; + + WAIT_CONTROLLER_FINISH(host); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_send_cmd_readid(struct hinfc_host *host) +{ + if (HINFC610_IS_SYNC(host)) + return hinfc610_send_cmd_sync_readid(host); + else + return hinfc610_send_cmd_async_readid(host); +} +/*****************************************************************************/ + +static int hinfc610_enable_ecc_randomizer(struct hinfc_host *host, int ecc_en, + int randomizer_en) +{ + unsigned int nfc_con; + + if (IS_NAND_RANDOM(host)) { + if (randomizer_en) { + host->NFC_CON |= HINFC610_CON_RANDOMIZER_EN; + host->NFC_CON_ECC_NONE |= HINFC610_CON_RANDOMIZER_EN; + } else { + host->NFC_CON &= ~HINFC610_CON_RANDOMIZER_EN; + host->NFC_CON_ECC_NONE &= ~HINFC610_CON_RANDOMIZER_EN; + } + } + + nfc_con = (ecc_en ? host->NFC_CON : host->NFC_CON_ECC_NONE); + + hinfc_write(host, nfc_con, HINFC610_CON); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_send_cmd_status(struct hinfc_host *host) +{ + unsigned int regval; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, HINFC610_NANDINFO_LEN, HINFC610_DATA_NUM); + hinfc_write(host, NAND_CMD_STATUS, HINFC610_CMD); + + /* no need config HINFC610_OP_WAIT_READY_EN, here not config */ + regval = HINFC610_OP_CMD1_EN + | HINFC610_OP_READ_DATA_EN + | ((host->chipselect & HINFC610_OP_NF_CS_MASK) + << HINFC610_OP_NF_CS_SHIFT); + + hinfc_write(host, regval, HINFC610_OP); + + WAIT_CONTROLLER_FINISH(host); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_send_cmd_async_reset(struct hinfc_host *host, + int chipselect) +{ + unsigned int regval; + + hinfc_write(host, NAND_CMD_RESET, HINFC610_CMD); + + /* need to config HINFC610_OP_WAIT_READY_EN */ + regval = HINFC610_OP_CMD1_EN + | (((chipselect & HINFC610_OP_NF_CS_MASK) + << HINFC610_OP_NF_CS_SHIFT) + | HINFC610_OP_WAIT_READY_EN); + + hinfc_write(host, regval, HINFC610_OP); + + WAIT_CONTROLLER_FINISH(host); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_send_cmd_sync_reset(struct hinfc_host *host, + int chipselect) +{ + unsigned int regval; + + /* + * Regarding the ONFI chip sync mode, + * NAND_CMD_SYNC_RESET make chip remain sync mode. + * But NAND_CMD_RESET will change chip mode to async mode. + */ + hinfc_write(host, NAND_CMD_SYNC_RESET, HINFC610_CMD); + + /* need to config HINFC610_OP_WAIT_READY_EN */ + regval = HINFC610_OP_CMD1_EN + | ((chipselect & HINFC610_OP_NF_CS_MASK) + << HINFC610_OP_NF_CS_SHIFT) + | HINFC610_OP_WAIT_READY_EN; + + hinfc_write(host, regval, HINFC610_OP); + + WAIT_CONTROLLER_FINISH(host); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_send_cmd_reset(struct hinfc_host *host, int chipselect) +{ + if (HINFC610_IS_SYNC(host)) + return hinfc610_send_cmd_sync_reset(host, chipselect); + else + return hinfc610_send_cmd_async_reset(host, chipselect); +} +/*****************************************************************************/ + +int hinfc610_dev_ready(struct mtd_info *mtd) +{ + return 0x1; +} +/*****************************************************************************/ + +void hinfc610_select_chip(struct mtd_info *mtd, int chipselect) +{ + struct nand_chip *chip = mtd->priv; + struct hinfc_host *host = chip->priv; + + if (chipselect < 0) { +#ifdef CONFIG_HINFC610_CACHE_ENABLE + if (host->cache) + hinfc_read_cache_finish(host->cache); +#endif /* CONFIG_HINFC610_CACHE_ENABLE */ + return; + } + + if (chipselect > CONFIG_HINFC610_MAX_CHIP) + hinfc_pr_bug("invalid chipselect: %d\n", chipselect); + + host->chipselect = chipselect; +} +/*****************************************************************************/ + +uint8_t hinfc610_read_byte(struct mtd_info *mtd) +{ + int offset; + struct nand_chip *chip = mtd->priv; + struct hinfc_host *host = chip->priv; + + if (host->command == NAND_CMD_STATUS) + return readb(chip->IO_ADDR_R); + + host->offset++; + + if (host->command == NAND_CMD_READID) + return readb(chip->IO_ADDR_R + host->offset - 1); + + if (IS_PS_EMPTY_PAGE(host)) + return 0xFF; + + offset = host->column + host->offset - 1; + + if (offset < host->pagesize) + return readb(host->pagebuf + offset); + else + return readb(host->oobbuf + offset - host->pagesize); +} +/*****************************************************************************/ + +u16 hinfc610_read_word(struct mtd_info *mtd) +{ + int offset; + struct nand_chip *chip = mtd->priv; + struct hinfc_host *host = chip->priv; + + host->offset += 2; + + if (IS_PS_EMPTY_PAGE(host)) + return 0xFFFF; + + offset = host->column + host->offset - 2; + + if (offset < host->pagesize) + return readw(host->pagebuf + offset); + else + return readw(host->oobbuf + offset - host->pagesize); +} +/*****************************************************************************/ + +void hinfc610_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len) +{ + int offset; + struct nand_chip *chip = mtd->priv; + struct hinfc_host *host = chip->priv; + + offset = host->column + host->offset; + + if (offset >= host->pagesize) + memcpy(host->oobbuf + offset - host->pagesize, buf, len); + else if (offset + len <= host->pagesize) + memcpy(host->pagebuf + offset, buf, len); + else { + int nr_copy = host->pagesize - offset; + + memcpy(host->pagebuf + offset, buf, nr_copy); + memcpy(host->oobbuf, buf + nr_copy, len - nr_copy); + } + + host->offset += len; +} +/*****************************************************************************/ + +void hinfc610_read_buf(struct mtd_info *mtd, uint8_t *buf, int len) +{ + int offset; + struct nand_chip *chip = mtd->priv; + struct hinfc_host *host = chip->priv; + + if (IS_PS_EMPTY_PAGE(host)) { + memset(buf, 0xFF, len); + host->offset += len; + return; + } + + offset = host->column + host->offset; + + if (offset >= host->pagesize) + memcpy(buf, host->oobbuf + offset - host->pagesize, len); + else if (offset + len <= host->pagesize) + memcpy(buf, host->pagebuf + offset, len); + else { + int nr_copy = host->pagesize - offset; + + memcpy(buf, host->pagebuf + offset, nr_copy); + memcpy(buf + nr_copy, host->oobbuf, len - nr_copy); + } + + host->offset += len; +} +/*****************************************************************************/ + +static unsigned int nand_otp_len = 0; +static unsigned char nand_otp[128] = {0}; + +/* Get NAND parameter table. */ +static int __init parse_nand_param(const struct tag *tag) +{ + if (tag->hdr.size <= 2) + return 0; + + nand_otp_len = ((tag->hdr.size << 2) - sizeof(struct tag_header)); + + if (nand_otp_len > sizeof(nand_otp)) { + printk("%s(%d): Get Nand OTP from tag fail.\n", + __FUNCTION__, __LINE__); + return 0; + } + memcpy(nand_otp, &tag->u, nand_otp_len); + return 0; +} +/* 0x48694E77 equal to fastoot ATAG_NAND_PARAM */ +__tagtable(0x48694E77, parse_nand_param); +/*****************************************************************************/ + +int hinfc610_get_ecctype_intf(struct hinfc_host *host) +{ + if (HINFC_VER_620 == host->version) + return hinfc620_get_ecctype(host); + else + return hinfc610_get_ecctype(host); +} +/*****************************************************************************/ + +void hinfc610_set_ecctype_intf(struct hinfc_host *host, int ecctype) +{ + if (HINFC_VER_620 == host->version) + hinfc620_set_ecctype(host, ecctype); + else + hinfc610_set_ecctype(host, ecctype); +} +/*****************************************************************************/ + +int hinfc610_config_rw_latch(struct nand_chip *chip, unsigned int rw_latch) +{ + struct hinfc_host *host = chip->priv; + + /* set pwidth register */ + hinfc_write(host, rw_latch, HINFC610_PWIDTH); + + return 0; +} +/*****************************************************************************/ + +static void hinfc610_chip_adjust(struct nand_chip *chip, unsigned char manf) +{ + if ((manf != NAND_MFR_TOSHIBA) + && (manf != NAND_MFR_SAMSUNG) + && (manf != NAND_MFR_HYNIX) + && (manf != NAND_MFR_MICRON)) { + + chip->block_bad = hinfc610_nand_block_bad; + + chip->options |= (NAND_BBT_SCAN2NDPAGE | NAND_BBT_SCANLASTPAGE); + } +} +/*****************************************************************************/ + +static int hinfc610_param_adjust(struct mtd_info *mtd, struct nand_chip *chip, + struct nand_dev_t *nand_dev) +{ + int ret = 0; + int pagesize; + int ecctype; + int page_shift; + char *start_type = "unknown"; + struct nand_ctrl_info_t *best = NULL; + struct hinfc_host *host = chip->priv; + struct hinfc_rw_latch *hinfc610_rw_latch; + + if (IS_NANDC_HW_AUTO(host)) + start_type = "HW-Auto"; + else + start_type = "HW-Reg"; + + pagesize = hinfc610_get_pagesize(host); + ecctype = hinfc610_get_ecctype_intf(host); + best = hinfc610_force_ecc(mtd, pagesize, ecctype, start_type, 0); + +#ifdef CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE +# ifdef CONFIG_HINFC610_AUTO_PAGESIZE_ECC +# error you SHOULD NOT define CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE and CONFIG_HINFC610_AUTO_PAGESIZE_ECC at the same time +# endif +# ifdef CONFIG_HINFC610_HARDWARE_PAGESIZE_ECC +# error you SHOULD NOT define CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE and CONFIG_HINFC610_HARDWARE_PAGESIZE_ECC at the same time +# endif + + best = hinfc610_force_ecc(mtd, mtd->writesize, NAND_ECC_NONE, + "force config", 0); + start_type = "AutoForce"; + +#endif /* CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE */ + + if (!best) + hinfc_pr_bug(ERSTR_HARDWARE "Please configure Nand Flash pagesize and ecctype!\n"); + + /* only in case fastboot check randomizer failed. + * Update fastboot or configure hardware randomizer pin fix this problem. + */ + if (IS_NAND_RANDOM(nand_dev) && !(IS_NAND_RANDOM(host))) + hinfc_pr_bug(ERSTR_HARDWARE "Hardware is not configure randomizer, but it is more suitable for this Nand Flash. " + "1. Please configure hardware randomizer PIN. " + "2. Please updata fastboot.\n"); + + host->flags |= (IS_NAND_RANDOM(nand_dev) | + IS_NAND_SYNC_ASYNC(nand_dev) | + IS_NAND_ONLY_SYNC(nand_dev) | + IS_NAND_ONFI(nand_dev)); + + /* only for print nand info. */ + nand_dev->flags |= (IS_NANDC_HW_AUTO(host) | + IS_NANDC_SYNC_BOOT(host)); + + /* only in case fastboot check sync boot pin failed. + * Update fastboot or configure hardware sync boot pin fix this problem. + */ + if (IS_NANDC_SYNC_BOOT(host)) { + /* But NAND do not support sync mode, warning ! */ + if (!IS_NAND_ONLY_SYNC(nand_dev)) + hinfc_pr_bug(ERSTR_HARDWARE "Hardware SYNC BOOT PIN has configured sync mode, but the Nand Flash is async mode.\n" + "1. DO NOT configure SYNC BOOT PIN. " + "2. Update fastboot.\n"); + } else { + if (IS_NAND_ONLY_SYNC(nand_dev)) + hinfc_pr_bug(ERSTR_HARDWARE "Hardware SYNC BOOT PIN has configured async mode, but the Nand Flash only support sync mode.\n" + "1. Please configure SYNC BOOT PIN. " + "2. Update fastboot.\n"); + } + + if (IS_NAND_SYNC_ASYNC(nand_dev)) + hinfc610_get_sync_info(host); + + if (best->ecctype != NAND_ECC_NONE) + mtd->oobsize = best->oobsize; + chip->ecc.layout = best->layout; + + host->ecctype = best->ecctype; + host->pagesize = best->pagesize; + host->oobsize = mtd->oobsize; + host->block_page_mask = ((mtd->erasesize / mtd->writesize) - 1); + + host->fix_pagebuf = kmalloc(host->pagesize, GFP_KERNEL); + if (!host->fix_pagebuf) { + hinfc_pr_bug("out of memory.\n"); + return -EIO; + } + + host->fix_oobbuf = kmalloc(host->oobsize, GFP_KERNEL); + if (!host->fix_oobbuf) { + hinfc_pr_bug("out of memory.\n"); + return -EIO; + } + + host->pagebuf = host->fix_pagebuf; + host->oobbuf = host->fix_oobbuf; + host->epm = (unsigned short *)(host->oobbuf + + chip->ecc.layout->oobfree[0].offset + HINFC610_EPM_OFFSET); + host->bbm = (unsigned char *)(host->oobbuf + HINFC610_BB_OFFSET); + + hinfc610_set_pagesize(host, best->pagesize); + + hinfc610_set_ecctype_intf(host, best->ecctype); + + if (mtd->writesize > NAND_MAX_PAGESIZE || + mtd->oobsize > NAND_MAX_OOBSIZE) { + hinfc_pr_bug(ERSTR_DRIVER + "Driver does not support this Nand Flash. " + "Please increase NAND_MAX_PAGESIZE and NAND_MAX_OOBSIZE.\n"); + } + + if (mtd->writesize != host->pagesize) { + unsigned int shift = 0; + unsigned int writesize = mtd->writesize; + while (writesize > host->pagesize) { + writesize >>= 1; + shift++; + } + chip->chipsize = chip->chipsize >> shift; + mtd->erasesize = mtd->erasesize >> shift; + mtd->writesize = host->pagesize; + hinfc_pr_msg("Nand divide into 1/%u\n", (1 << shift)); + } + + page_shift = ffs(host->pagesize) - 1; + host->page_per_chip = chip->chipsize >> page_shift; + host->page_per_block = mtd->erasesize >> page_shift; + + nand_dev->start_type = start_type; + nand_dev->ecctype = host->ecctype; + + host->read_retry = NULL; + if (nand_dev->read_retry_type != NAND_RR_NONE) { + host->read_retry + = hinfc610_find_read_retry(nand_dev->read_retry_type); + if (!host->read_retry) { + hinfc_pr_bug(ERSTR_DRIVER "This Nand Flash need to enable the 'read retry' feature. " + "but the driver dose not offer the feature"); + } + + if (nand_otp_len) { + memcpy(host->rr_data, nand_otp, nand_otp_len); + } + } + + /* + * If it want to support the 'read retry' feature, the 'randomizer' + * feature must be support first. + */ + if (host->read_retry && !IS_NAND_RANDOM(host)) { + hinfc_pr_bug(ERSTR_HARDWARE "This Nand flash need to enable 'randomizer' feature. " + "Please configure hardware randomizer PIN."); + } + + if (hinfc610_ecc_info_init(host)) + hinfc_pr_bug(ERSTR_DRIVER "No found ecc dump function. pagesize:%d ecctype:%d.", + host->pagesize, host->ecctype); + + hinfc610_rw_latch = get_hinfc_rw_latch(nand_dev->ids); + if (!hinfc610_rw_latch) { + hinfc_pr_bug(ERSTR_DRIVER + "RW Latch table is not implemented.\n"); + } + hinfc610_config_rw_latch(chip, hinfc610_rw_latch->rw_latch); + + host->dbgfs_root = debugfs_create_dir("nand", NULL); + if (!host->dbgfs_root) { + pr_err("Can't create debugfs 'nand' dir.\n"); + return -ENOENT; + } +#ifdef CONFIG_HINFC610_CACHE_ENABLE + ret = hinfc_cache_init(&host->cache, + host->page_per_chip, host->page_per_chip, + host->pagesize, HINFC610_OOB_SIZE, host->dbgfs_root); + if (ret) + hinfc_pr_bug(ERSTR_DRIVER "cache module init fail."); +#endif /* CONFIG_HINFC610_CACHE_ENABLE */ + + if (hinfc610_dbg_init(host)) + hinfc_pr_bug(ERSTR_DRIVER "create debugfs fail."); + + hinfc610_chip_adjust(chip, nand_dev->ids[0]); + + return ret; +} +/*****************************************************************************/ + +int hinfc610_nand_init(struct hinfc_host *host, struct nand_chip *chip) +{ + unsigned int regval; + host->enable(host, ENABLE); + host->version = hinfc_read(host, HINFC610_VERSION); + + host->addr_cycle = 0; + host->addr_value[0] = 0; + host->addr_value[1] = 0; + host->chipselect = 0; + + host->send_cmd_pageprog = hinfc610_send_cmd_pageprog; + host->send_cmd_readstart = hinfc610_send_cmd_readstart; + host->send_cmd_erase = hinfc610_send_cmd_erase; + host->send_cmd_readid = hinfc610_send_cmd_readid; + host->send_cmd_status = hinfc610_send_cmd_status; + host->send_cmd_reset = hinfc610_send_cmd_reset; + + /* enable low power control */ + regval = hinfc_read(host, HINFC610_LP_CTRL); + regval |= HINFC610_LP_CTRL_EN; + hinfc_write(host, regval, HINFC610_LP_CTRL); + + host->flags = 0; + + if (host->version == HINFC_VER_620) { + regval = hinfc_read(host, HINFC610_STATUS); + if (regval & HINFC610_STATUS_RANDOMIZER_EN) + host->flags |= NAND_RANDOMIZER; + } else if (host->version == HINFC_VER_610) { + regval = hinfc_read(host, HINFC610_CON); + if (regval & HINFC610_CON_RANDOMIZER_EN) + host->flags |= NAND_RANDOMIZER; + } + + regval = hinfc_read(host, HINFC610_CON); + host->NFC_CON = (regval + | HINFC610_CON_OP_MODE_NORMAL + | HINFC610_CON_READY_BUSY_SEL); + + host->NFC_CON_ECC_NONE = host->NFC_CON + & (~(HINFC610_CON_ECCTYPE_MASK + << HINFC610_CON_ECCTYPE_SHIFT)) + & (~HINFC610_CON_RANDOMIZER_EN); + + hinfc_write(host, + (SET_HINFC610_PWIDTH(CONFIG_HINFC610_W_LATCH, + CONFIG_HINFC610_R_LATCH, + CONFIG_HINFC610_RW_LATCH)), + HINFC610_PWIDTH); + + hinfc_write(host, 0, HINFC610_DMA_ADDR_OOB); + hinfc_write(host, 0, HINFC610_DMA_ADDR_DATA); + hinfc_write(host, 0, HINFC610_DMA_ADDR_DATA1); + hinfc_write(host, 0, HINFC610_DMA_ADDR_DATA2); + hinfc_write(host, 0, HINFC610_DMA_ADDR_DATA3); + hinfc_write(host, 0, HINFC610_DMA_ADDR_DATA4); + hinfc_write(host, 0, HINFC610_DMA_ADDR_DATA5); + hinfc_write(host, 0, HINFC610_DMA_ADDR_DATA6); + hinfc_write(host, 0, HINFC610_DMA_ADDR_DATA7); + + if (host->version == HINFC_VER_620) + host->flags |= NANDC_HW_AUTO; + else if (host->version == HINFC_VER_610) { + regval = hinfc_read(host, HINFC610_BOOT_CFG); + if (regval & HINFC610_BOOT_CFG_SAVE_PIN_MODE) + host->flags |= NANDC_HW_AUTO; + } + + /* check if chip is sync mode. */ + if ((host->version != HINFC_VER_620) + && (regval & HINFC610_BOOT_CFG_SYC_NAND_PAD)) { + host->flags |= NANDC_IS_SYNC_BOOT; + + /* + * NAND default is sync mode, and read id, reset in sync mode. + */ + host->NFC_CON |= HINFC610_CON_NF_MODE_TOGGLE; + host->NFC_CON_ECC_NONE |= HINFC610_CON_NF_MODE_TOGGLE; + + /* set synchronous clock and timing. */ + hinfc610_sync_clock(host, ENABLE); + } + + memset((char *)chip->IO_ADDR_R, + 0xff, HINFC610_BUFFER_BASE_ADDRESS_LEN); + + host->enable_ecc_randomizer = hinfc610_enable_ecc_randomizer; + hinfc_param_adjust = hinfc610_param_adjust; + + return 0; +} +/******************************************************************************/ + +int hinfc610_nand_block_bad(struct mtd_info *mtd, loff_t ofs, int getchip) +{ + u16 bad; + int offset; + struct nand_chip *chip = mtd->priv; + struct hinfc_host *host = chip->priv; + int page, chipnr, res = 0; + unsigned int bbm = 0; + + if (!(chip->options & NAND_BBT_SCAN2NDPAGE) && + (chip->options & NAND_BBT_SCANLASTPAGE)) + bbm = NAND_BBT_SCAN2NDPAGE; + + offset = chip->badblockpos + mtd->writesize; + page = (int)(ofs >> chip->page_shift) & chip->pagemask; + + if (getchip) { + chipnr = (int)(ofs >> chip->chip_shift); + + nand_get_device(mtd, FL_READING); + + /* Select the NAND device */ + chip->select_chip(mtd, chipnr); + } + + do { + chip->cmdfunc(mtd, NAND_CMD_READOOB, chip->badblockpos, page); + bad = chip->read_byte(mtd); + res = bad != 0xFF; + + if (res) { + if (host->ecc.bbm_bitsflap != 0xff) + break; + + if (get_bits(bad) < 6) + break; + + res = 0; + goto next; + } + + host->page_status |= hinfc610_get_data_status(host); + if (!IS_PS_EMPTY_PAGE(host)) + goto next; + + if (host->ecc.bbm_bitsflap < 8) { + res = 0; + goto next; + } + + hinfc610_read_raw_data(host, page, offset, 4); + bad = *(unsigned char *)chip->IO_ADDR_R; + if (get_bits(bad) <= 2) { + res = 1; + break; + } else + res = 0; + +next: + if (!bbm) { + bbm = NAND_BBT_SCAN2NDPAGE; + ofs += mtd->writesize; + page = (int)(ofs >> chip->page_shift) & chip->pagemask; + } else if (bbm == NAND_BBT_SCAN2NDPAGE) { + bbm = NAND_BBT_SCANLASTPAGE; + ofs -= mtd->writesize; + ofs += mtd->erasesize - mtd->writesize; + page = (int)(ofs >> chip->page_shift) & chip->pagemask; + } else if (bbm == NAND_BBT_SCANLASTPAGE) { + break; + } + } while (!res && (chip->options & bbm)); + + if (getchip) { + chip->select_chip(mtd, -1); + nand_release_device(mtd); + } + + return res; +} +/******************************************************************************/ + +int hinfc610_nand_destory(struct hinfc_host *host) +{ + if (host->fix_pagebuf) { + kfree(host->fix_pagebuf); + host->fix_pagebuf = NULL; + } + + if (host->fix_oobbuf) { + kfree(host->fix_oobbuf); + host->fix_pagebuf = NULL; + } +#ifdef CONFIG_HINFC610_CACHE_ENABLE + if (host->cache) { + hinfc_cache_destory(host->cache); + host->cache = NULL; + } +#endif /* CONFIG_HINFC610_CACHE_ENABLE */ + return 0; +} diff --git a/drivers/mtd/nand/hinfc610/hinfc610.h b/drivers/mtd/nand/hinfc610/hinfc610.h new file mode 100644 index 000000000..cbdb04b46 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610.h @@ -0,0 +1,483 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2009-2010 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ + +#ifndef HINFCV610H +#define HINFCV610H +/******************************************************************************/ + +#ifndef CONFIG_HINFC610_W_LATCH +# define CONFIG_HINFC610_W_LATCH (0xa) +#endif /* CONFIG_HINFC610_W_LATCH */ + +#ifndef CONFIG_HINFC610_R_LATCH +# define CONFIG_HINFC610_R_LATCH (0xa) +#endif /* CONFIG_HINFC610_R_LATCH */ + +#ifndef CONFIG_HINFC610_RW_LATCH +# define CONFIG_HINFC610_RW_LATCH (0xa) +#endif /* CONFIG_HINFC610_RW_LATCH */ + +#ifndef CONFIG_HINFC610_MAX_CHIP +# define CONFIG_HINFC610_MAX_CHIP (1) +# warning NOT config CONFIG_HINFC610_MAX_CHIP, used default value, maybe invalid. +#endif /* CONFIG_HINFC610_MAX_CHIP */ + +/*****************************************************************************/ +#define HINFC610_REG_BASE_ADDRESS_LEN (0x100) +#define HINFC610_BUFFER_BASE_ADDRESS_LEN (2048 + 128) + +#define HINFC610_CHIP_DELAY (25) + +#define HINFC610_ADDR_CYCLE_MASK 0x4 +#define HINFC610_DMA_ADDR_OFFSET 4096 +/*****************************************************************************/ +#define HINFC610_CON 0x00 +#define HINFC610_CON_OP_MODE_NORMAL (1U << 0) +#define HINFC610_CON_PAGEISZE_SHIFT (1) +#define HINFC610_CON_PAGESIZE_MASK (0x07) +#define HINFC610_CON_BUS_WIDTH (1U << 4) +#define HINFC610_CON_READY_BUSY_SEL (1U << 8) +#define HINFC610_CON_ECCTYPE_SHIFT (9) +#define HINFC610_CON_ECCTYPE_MASK (0x0f) +#define HINFC610_CON_RANDOMIZER_EN (1 << 14) +#define HINFC610_CON_NF_MODE_SHIFT 15 +#define HINFC610_CON_NF_MODE_MASK (3 << HINFC610_CON_NF_MODE_SHIFT) +#define HINFC610_CON_NF_MODE_TOGGLE (1 << HINFC610_CON_NF_MODE_SHIFT) +#define HINFC610_CON_NF_MODE_ONFI_23 (2 << HINFC610_CON_NF_MODE_SHIFT) +#define HINFC610_CON_NF_MODE_ONFI_30 (3 << HINFC610_CON_NF_MODE_SHIFT) + +#define HINFC610_PWIDTH 0x04 +#define SET_HINFC610_PWIDTH(_w_lcnt, _r_lcnt, _rw_hcnt) \ + ((_w_lcnt) | (((_r_lcnt) & 0x0F) << 4) | (((_rw_hcnt) & 0x0F) << 8)) + +#define HINFC610_CMD 0x0C +#define HINFC610_ADDRL 0x10 +#define HINFC610_ADDRH 0x14 +#define HINFC610_DATA_NUM 0x18 +#define HINFC610_DATA_NUM_MASK 0x3FFF +#define HINFC610_DATA_NUM_RANDOM_EN (1U << 14) + +#define HINFC610_OP 0x1C +#define HINFC610_OP_READ_STATUS_EN (1U << 0) +#define HINFC610_OP_READ_DATA_EN (1U << 1) +#define HINFC610_OP_WAIT_READY_EN (1U << 2) +#define HINFC610_OP_CMD2_EN (1U << 3) +#define HINFC610_OP_WRITE_DATA_EN (1U << 4) +#define HINFC610_OP_ADDR_EN (1U << 5) +#define HINFC610_OP_CMD1_EN (1U << 6) + +#define HINFC610_OP_NF_CS_SHIFT (7) +#define HINFC610_OP_NF_CS_MASK (3) +#define HINFC610_OP_GET_CS(cs) (((cs) & 0x03) << 7) + +#define HINFC610_OP_ADDR_CYCLE_SHIFT (9) +#define HINFC610_OP_ADDR_CYCLE_MASK (7) +#define HINFC610_OP_GET_ADDR_CYCLE(cycle) (((cycle) & 0x07) << 9) + +#define HINFC610_OP_READID_EN (1U << 12) +#define HINFC610_OP_RW_REG_EN (1U << 13) + +#define HINFC610_STATUS 0x20 + +#define HINFC610_INTS_EN 0x24 +#define HINFC610_ALL_INTS_MASK (0x3FF) +#define HINFC610_INTS_EN_DMA_DONE (1U << 9) +#define HINFC610_STATUS_RANDOMIZER_EN (1U << 20) + +#define HINFC610_INTS 0x28 +#define HINFC610_INTS_UE (1U << 6) +#define HINFC610_INTS_DMA_DONE (1U << 9) + +#define HINFC610_INTCLR 0x2C +#define HINFC610_INTCLR_MASK (0x3FF) +#define HINFC610_INTCLR_UE (1U << 6) +#define HINFC610_INTCLR_CE (1U << 5) +#define HINFC610_INTCLR_DMA_DONE (1U << 9) + +#define HINFC610_DMA_CTRL 0x60 +#define HINFC610_DMA_CTRL_DMA_START (1U << 0) +#define HINFC610_DMA_CTRL_WE (1U << 1) +#define HINFC610_DMA_CTRL_BURST4_EN (1U << 4) +#define HINFC610_DMA_CTRL_BURST8_EN (1U << 5) +#define HINFC610_DMA_CTRL_BURST16_EN (1U << 6) +#define HINFC610_DMA_CTRL_ADDR_NUM_SHIFT (7) +#define HINFC610_DMA_CTRL_ADDR_NUM_MASK (1) +#define HINFC610_DMA_CTRL_CS_SHIFT (8) +#define HINFC610_DMA_CTRL_CS_MASK (0x03) + +#define HINFC610_DMA_ADDR_DATA 0x64 +#define HINFC610_DMA_ADDR_OOB 0x68 +#define HINFC610_DMA_ADDR_DATA1 0xB4 +#define HINFC610_DMA_ADDR_DATA2 0xB8 +#define HINFC610_DMA_ADDR_DATA3 0xBC +#define HINFC610_DMA_ADDR_DATA4 0xEC +#define HINFC610_DMA_ADDR_DATA5 0xF0 +#define HINFC610_DMA_ADDR_DATA6 0xF4 +#define HINFC610_DMA_ADDR_DATA7 0xF8 + +#define HINFC610_DMA_LEN 0x6C +#define HINFC610_DMA_LEN_OOB_SHIFT (16) +#define HINFC610_DMA_LEN_OOB_MASK (0x1FFF) + +#define HINFC610_DMA_PARA 0x70 +#define HINFC610_DMA_PARA_DATA_RW_EN (1U << 0) +#define HINFC610_DMA_PARA_OOB_RW_EN (1U << 1) +#define HINFC610_DMA_PARA_DATA_EDC_EN (1U << 2) +#define HINFC610_DMA_PARA_OOB_EDC_EN (1U << 3) +#define HINFC610_DMA_PARA_EXT_LEN_SHIFT (6) +#define HINFC610_DMA_PARA_EXT_LEN_MASK (0x03) + +#define HINFC610_VERSION 0x74 +#define HINFC610_LOG_READ_ADDR 0x7C +#define HINFC610_LOG_READ_LEN 0x80 + +#define HINFC610_LP_CTRL 0X9C +#define HINFC610_LP_CTRL_EN (1U << 0) + +#define HINFC610_ECC_REG0 0xA0 +#define HINFC610_ECC_REG1 0xA4 +#define HINFC610_ECC_REG2 0xA8 +#define HINFC610_ECC_REG3 0xAC +#define HINFC610_ECC_REG4 0xDC +#define HINFC610_ECC_REG5 0xE0 +#define HINFC610_ECC_REG6 0xE4 +#define HINFC610_ECC_REG7 0xE8 + +#define HINFC610_RANDOMIZER 0xC0 +#define HINFC610_RANDOMIZER_PAD 0x02 +#define HINFC610_RANDOMIZER_ENABLE 0x01 +/* read nand id or nand status, return from nand data length */ +#define HINFC610_NANDINFO_LEN 0x10 + +#define HINFC610_BOOT_CFG 0xC4 +#define HINFC610_BOOT_CFG_RANDOMIZER_PAD 0x01 +#define HINFC610_BOOT_CFG_SAVE_PIN_MODE_SHIFT 13 +#define HINFC610_BOOT_CFG_SAVE_PIN_MODE (1U << HINFC610_BOOT_CFG_SAVE_PIN_MODE_SHIFT) +#define HINFC610_BOOT_CFG_SYC_NAND_PAD_SHIFT 12 +#define HINFC610_BOOT_CFG_SYC_NAND_PAD (1U << HINFC610_BOOT_CFG_SYC_NAND_PAD_SHIFT) + +#define HINFC610_SYNC_TIMING 0xD0 + +/* ONFI: sync nand timing config */ +#define HINFC610_SYNC_ONFI_T_CAD (0xF << 24) +#define HINFC610_SYNC_ONFI_T_DQZ (0xF << 20) + +/* TOGGLE: sync nand timing config */ +#define HINFC610_SYNC_TOGGLE_PRE_RDQS (0xF << 16) +#define HINFC610_SYNC_TOGGLE_POST_RDQS (0xF << 12) +#define HINFC610_SYNC_TOGGLE_PRE_WDQS (0xF << 8) +#define HINFC610_SYNC_TOGGLE_POST_WDQS (0xF << 4) +#define HINFC610_SYNC_TOGGLE_RW_PSTH (0xF << 0) + +/* DMA address align with 32 bytes. */ +#define HINFC610_DMA_ALIGN 64 +/*****************************************************************************/ +#include "hinfc_gen.h" + +#undef READ +#define READ 1 + +#undef WRITE +#define WRITE 0 + +#undef FALSE +#define FALSE 0 + +#undef TRUE +#define TRUE 1 + +#undef ENABLE +#define ENABLE 1 + +#undef DISABLE +#define DISABLE 0 + +#define NAND_MAX_OOBSIZE 4800 +#define NAND_MAX_PAGESIZE 32768 +/*****************************************************************************/ + +struct hinfc_host +{ + struct nand_chip *chip; + struct mtd_info *mtd; + void __iomem *iobase; + struct device *dev; + + unsigned int offset; + unsigned int command; + + int chipselect; + + unsigned int n24bit_ext_len; + int ecctype; + +/* Current system has already gone to sync mode */ +#define HINFC610_IS_SYNC(_host) ((_host)->NFC_CON & HINFC610_CON_NF_MODE_MASK) + unsigned long NFC_CON; + unsigned long NFC_CON_ECC_NONE; + + unsigned int addr_cycle; + unsigned int addr_value[2]; + unsigned int column; + + unsigned int block_page_mask; + unsigned int page_per_chip; + unsigned int page_per_block; + unsigned int pagesize; + unsigned int oobsize; + + char *fix_pagebuf; + char *fix_oobbuf; + + char *pagebuf; + char *oobbuf; + + int need_rr_data; +#define HINFC_READ_RETRY_DATA_LEN 128 + char rr_data[HINFC_READ_RETRY_DATA_LEN]; + int version; + + struct { + /* when ecc number more than this value, return bitflip to mtd. */ + unsigned int threshold; + int max_bitsflap; + int section; /* the ecc correct unit */ + unsigned char bbm_bitsflap; + void (*dump)(void *host, unsigned char *ecc, + int *max_bitsflap); + } ecc; + + /* BOOTROM read two bytes to detect the bad block flag */ +#define HINFC_BAD_BLOCK_POS 0 + unsigned char *bbm; /* nand bad block mark */ + unsigned short *epm; /* nand empty page mark */ + unsigned int flags; + +#define HINFC610_PS_UC_ECC 0x01 /* page has ecc error */ +#define HINFC610_PS_BAD_BLOCK 0x02 /* bad block */ +#define HINFC610_PS_EMPTY_PAGE 0x04 /* page is empty */ +#define HINFC610_PS_EPM_ERROR 0x0100 /* empty page mark word has ecc error. */ +#define HINFC610_PS_BBM_ERROR 0x0200 /* bad block mark word has ecc error. */ + unsigned int page_status; + + struct clk *clk; + + int (*send_cmd_pageprog)(struct hinfc_host *host); + int (*send_cmd_status)(struct hinfc_host *host); + int (*send_cmd_readstart)(struct hinfc_host *host); + int (*send_cmd_erase)(struct hinfc_host *host); + int (*send_cmd_readid)(struct hinfc_host *host); + int (*send_cmd_reset)(struct hinfc_host *host, int chipselect); + int (*enable)(struct hinfc_host *host, int enable); + + int (*enable_ecc_randomizer)(struct hinfc_host *host, + int ecc_en, int randomizer_en); + + struct read_retry_t *read_retry; + + struct nand_sync *sync; + + void *cache; + + struct dentry *dbgfs_root; +}; + +#define HINFC610_UC_ECC 0x01 +#define HINFC610_BAD_BLOCK 0x02 +#define HINFC610_EMPTY_PAGE 0x04 + +#define IS_PS_EMPTY_PAGE(_host) ((_host)->page_status & HINFC610_PS_EMPTY_PAGE) +#define IS_PS_BAD_BLOCK(_host) ((_host)->page_status & HINFC610_PS_BAD_BLOCK) +#define IS_PS_UN_ECC(_host) ((_host)->page_status & HINFC610_PS_UC_ECC) +#define IS_PS_EPM_ERR(_host) ((_host)->page_status & HINFC610_PS_EPM_ERROR) +#define IS_PS_BBM_ERR(_host) ((_host)->page_status & HINFC610_PS_BBM_ERROR) + +/*****************************************************************************/ + +#define HINFC610_READ_1CMD_0ADD_NODATA(_host) \ + (HINFC610_OP_CMD1_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT)) + +#define HINFC610_READ_1CMD_1ADD_DATA(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_ADDR_EN \ + | HINFC610_OP_READ_DATA_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (1 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_READ_1CMD_1ADD_DATA_WAIT_READY(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_ADDR_EN \ + | HINFC610_OP_READ_DATA_EN \ + | HINFC610_OP_WAIT_READY_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (1 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_READ_1CMD_1ADD_DATA_SYNC(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_ADDR_EN \ + | HINFC610_OP_READ_DATA_EN \ + | HINFC610_OP_WAIT_READY_EN \ + | HINFC610_OP_RW_REG_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (1 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_READ_2CMD_5ADD(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_CMD2_EN \ + | HINFC610_OP_ADDR_EN \ + | HINFC610_OP_READ_DATA_EN \ + | HINFC610_OP_WAIT_READY_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (5 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_WRITE_0CMD_1ADD_DATA(_host) \ + (HINFC610_OP_ADDR_EN \ + | HINFC610_OP_WRITE_DATA_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (1 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_WRITE_0CMD_1ADD_DATA_WAIT_READY(_host) \ + (HINFC610_OP_ADDR_EN \ + | HINFC610_OP_WRITE_DATA_EN \ + | HINFC610_OP_WAIT_READY_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (1 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_WRITE_0CMD_1ADD_DATA_SYNC(_host) \ + (HINFC610_OP_ADDR_EN \ + | HINFC610_OP_WRITE_DATA_EN \ + | HINFC610_OP_RW_REG_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (1 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_WRITE_0CMD_1ADD_DATA_SYNC_WAIT_READY(_host) \ + (HINFC610_OP_ADDR_EN \ + | HINFC610_OP_WRITE_DATA_EN \ + | HINFC610_OP_RW_REG_EN \ + | HINFC610_OP_WAIT_READY_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (1 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_WRITE_1CMD_1ADD_DATA(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_ADDR_EN \ + | HINFC610_OP_WRITE_DATA_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (1 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_WRITE_1CMD_1ADD_DATA_WAIT_READY(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_ADDR_EN \ + | HINFC610_OP_WRITE_DATA_EN \ + | HINFC610_OP_WAIT_READY_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (1 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_WRITE_1CMD_1ADD_DATA_SYNC(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_ADDR_EN \ + | HINFC610_OP_WRITE_DATA_EN \ + | HINFC610_OP_RW_REG_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (1 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_WRITE_1CMD_1ADD_DATA_SYNC_WAIT_READY(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_ADDR_EN \ + | HINFC610_OP_WRITE_DATA_EN \ + | HINFC610_OP_WAIT_READY_EN \ + | HINFC610_OP_RW_REG_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (1 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_WRITE_1CMD_2ADD_DATA(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_ADDR_EN \ + | HINFC610_OP_WRITE_DATA_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (2 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_WRITE_1CMD_2ADD_DATA_SYNC(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_ADDR_EN \ + | HINFC610_OP_WRITE_DATA_EN \ + | HINFC610_OP_RW_REG_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT) \ + | (2 << HINFC610_OP_ADDR_CYCLE_SHIFT)) + +#define HINFC610_WRITE_2CMD_0ADD_NODATA(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_CMD2_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT)) + +#define HINFC610_WRITE_2CMD_0ADD_NODATA_SYNC(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_CMD2_EN \ + | HINFC610_OP_RW_REG_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT)) + +#define HINFC610_WRITE_1CMD_0ADD_NODATA(_host) \ + (HINFC610_OP_CMD1_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT)) + +#define HINFC610_WRITE_1CMD_0ADD_NODATA_SYNC(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_RW_REG_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT)) + +#define HINFC610_WRITE_1CMD_0ADD_NODATA_WAIT_READY(_host) \ + (HINFC610_OP_CMD1_EN \ + | HINFC610_OP_WAIT_READY_EN \ + | ((_host->chipselect & HINFC610_OP_NF_CS_MASK) << HINFC610_OP_NF_CS_SHIFT)) + +/*****************************************************************************/ + +#define WAIT_CONTROLLER_FINISH(_host) \ +do { \ + unsigned int timeout = 0xF0000000; \ + while ((hinfc_read(_host, HINFC610_STATUS) & 0x1) == 0x0 && timeout) \ + timeout--; \ + if (!timeout) \ + hinfc_pr_bug("Wait NAND controller finish timeout.\n"); \ +} while (0) + +/*****************************************************************************/ + +#define hinfc_read(_host, _reg) \ + readl((char *)_host->iobase + (_reg)) + +#define hinfc_write(_host, _value, _reg) \ + writel((_value), (char *)_host->iobase + (_reg)) + +#define HINFC_CMD_SEQ(_cmd0, _cmd1) \ + (((_cmd0) & 0xFF) | ((_cmd1) & 0xFF) << 8) +/*****************************************************************************/ + +#define GET_RW_PAGE_INDEX(host) \ + (((host->addr_value[0] >> 16) | (host->addr_value[1] << 16)) + \ + host->page_per_chip * host->chipselect) + +#define GET_ERASE_PAGE_INDEX(host) \ + (host->addr_value[0]) + +/*****************************************************************************/ + +void hinfc610_cmd_ctrl(struct mtd_info *mtd, int dat, unsigned int ctrl); +int hinfc610_dev_ready(struct mtd_info *mtd); +void hinfc610_select_chip(struct mtd_info *mtd, int chipselect); +uint8_t hinfc610_read_byte(struct mtd_info *mtd); +u16 hinfc610_read_word(struct mtd_info *mtd); +void hinfc610_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len); +void hinfc610_read_buf(struct mtd_info *mtd, uint8_t *buf, int len); +int hinfc610_nand_init(struct hinfc_host *host, struct nand_chip *chip); +int hinfc610_nand_block_bad(struct mtd_info *mtd, loff_t ofs, int getchip); +int hinfc610_nand_destory(struct hinfc_host *host); +/******************************************************************************/ +#endif /* HINFCV610H */ diff --git a/drivers/mtd/nand/hinfc610/hinfc610_cache.c b/drivers/mtd/nand/hinfc610/hinfc610_cache.c new file mode 100644 index 000000000..e6b4abccb --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_cache.c @@ -0,0 +1,1589 @@ +/****************************************************************************** + * Copyright (C) 2014 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2014.11.7 + * +******************************************************************************/ + +#define pr_fmt(fmt) "hinfc_cache: " fmt + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "hinfc610_cache.h" + +struct hinfc_cache { + struct rb_root rbroot; + +#define HAVE_CACHE(_page) ((_page) & CACHE_MARK) +#define CACHE_MARK 0x8000 +#define EMPTY_MARK 0x4000 +#define GET_COUNT(_page) ((_page) & 0x3FFF) +#define MAX_COUNT 0x3FFF + unsigned short *pages; + + unsigned int *pagecrc32; + + unsigned int max_pages; /* total page number. */ + unsigned int max_caches; /* total cache number. */ + + unsigned int nr_cache; /* current cache number. */ + + unsigned int min_count; + +#define HINFC_CACHE_FLAGS_STOP 0x01 +#define HINFC_CACHE_FLAGS_CRC32 0x02 +#define HINFC_CACHE_FLAGS_PEND 0x04 + unsigned int flags; + unsigned int flags_pend; + + struct kmem_cache *rbcache; + + struct shrinker shrink; + int shrink_percent; + int min_shrink; + + unsigned int pagesize; + unsigned int oobsize; + + struct dentry *dfs_file; + + struct proc_dir_entry *proc_file; + char *proc_filename; + + spinlock_t lock; + + struct mutex mutex; + + struct { + int index; /* current lock index */ + int remove; + int cause; + int reset_count; + } active; + + int nr_alloc; + unsigned int nr_read; + unsigned int nr_read_hit; + unsigned int nr_read_miss; + unsigned int nr_save; + unsigned int nr_save_alloc_fail_miss; + unsigned int nr_save_full_miss; + unsigned int nr_remove[HINFC_CACHE_REMOVE_CAUSE_MAX]; + unsigned int sz_cache; +}; + +#define CF_CRC_ON(_cache, _flags) ((_cache)->_flags & HINFC_CACHE_FLAGS_CRC32) +#define CF_CRC_ON_SET(_cache, _flags) ((_cache)->_flags |= HINFC_CACHE_FLAGS_CRC32) +#define CF_CRC_ON_CLEAN(_cache, _flags) ((_cache)->_flags &= ~HINFC_CACHE_FLAGS_CRC32) + +#define CF_CACHE_OFF(_cache, _flags) ((_cache)->_flags & HINFC_CACHE_FLAGS_STOP) +#define CF_CACHE_OFF_SET(_cache, _flags) ((_cache)->_flags |= HINFC_CACHE_FLAGS_STOP) +#define CF_CACHE_OFF_CLEAN(_cache, _flags) ((_cache)->_flags &= ~HINFC_CACHE_FLAGS_STOP) + +#define CF_CACHE_PEND(_cache, _flags) ((_cache)->_flags & HINFC_CACHE_FLAGS_PEND) +#define CF_CACHE_PEND_SET(_cache, _flags) ((_cache)->_flags |= HINFC_CACHE_FLAGS_PEND) +#define CF_CACHE_PEND_CLEAN(_cache, _flags) ((_cache)->_flags &= ~HINFC_CACHE_FLAGS_PEND) + +#define TO_CACHE(_cache, _handle) \ + struct hinfc_cache *_cache = (struct hinfc_cache *)_handle + +struct hinfc_cache_node { + struct rb_node rbnode; + + unsigned int count; /* page read count */ + unsigned int index; /* page index */ + + char *pagebuf; /* point to page buffer */ + char *oobbuf; /* point to oob buffer */ +}; + +#define RB_CACHE_ENTRY(_rbnode) \ + rb_entry(_rbnode, struct hinfc_cache_node, rbnode); + +struct hinfc_weight { + unsigned int index; + unsigned int count; +}; + +#define ASSERT(_con, _fmt, _args...) if (!(_con)) { \ + printk(KERN_ERR "%s(%d): ASSERT(%s) " _fmt, __FILE__, __LINE__, #_con, ##_args); \ + dump_stack(); \ +} + +static int hinfc_dbgfs_init(struct hinfc_cache *cache, struct dentry *parent); +static void hinfc_dbgfs_destory(struct hinfc_cache *cache); + +/******************************************************************************/ + +static int page_compare(struct hinfc_cache_node *node, unsigned int count, + unsigned int index) +{ + if (node->count > count) + return -1; + else if (node->count < count) + return 1; + + if (node->index > index) + return -1; + else if (node->index < index) + return 1; + + return 0; +} +/******************************************************************************/ + +static struct hinfc_cache_node * +find_cache_node(struct hinfc_cache *cache, const unsigned int count, + const unsigned int index) +{ + int comp; + struct rb_node *node = cache->rbroot.rb_node; + + while (node) { + struct hinfc_cache_node *leaf = RB_CACHE_ENTRY(node); + comp = page_compare(leaf, count, index); + + if (comp < 0) + node = node->rb_left; + else if (comp > 0) + node = node->rb_right; + else + return leaf; + } + + return NULL; +} +/******************************************************************************/ + +static void update_cache_min_count(struct hinfc_cache *cache) +{ + struct rb_node *rbnode; + struct hinfc_cache_node *node; + + rbnode = rb_first(&cache->rbroot); + if (rbnode) { + node = RB_CACHE_ENTRY(rbnode); + cache->min_count = node->count; + } else + cache->min_count = 0; + +} +/******************************************************************************/ + +static struct hinfc_cache_node * +insert_cache_node(struct hinfc_cache *cache, struct hinfc_cache_node *newnode, + int update_min_count) +{ + int comp; + struct rb_node **node = &cache->rbroot.rb_node; + struct rb_node *parent = NULL; + + while (*node) { + struct hinfc_cache_node *leaf = RB_CACHE_ENTRY(*node); + comp = page_compare(leaf, newnode->count, newnode->index); + + parent = *node; + + if (comp < 0) + node = &(*node)->rb_left; + else if (comp > 0) + node = &(*node)->rb_right; + else + return NULL; + } + + rb_link_node(&newnode->rbnode, parent, node); + rb_insert_color(&newnode->rbnode, &cache->rbroot); + cache->nr_cache++; + + if (update_min_count) + update_cache_min_count(cache); + + return newnode; +} +/******************************************************************************/ + +static void remove_cache_node(struct hinfc_cache *cache, + struct hinfc_cache_node *node, int free_cache, + int update_min_count, unsigned int cause) +{ + rb_erase(&node->rbnode, &cache->rbroot); + cache->nr_cache--; + + if (cause < HINFC_CACHE_REMOVE_CAUSE_MAX) + cache->nr_remove[cause]++; + + if (free_cache) { + if (node->pagebuf) { + kfree(node->pagebuf); + cache->nr_alloc--; + cache->sz_cache -= cache->pagesize; + } + + if (node->oobbuf) { + kfree(node->oobbuf); + cache->nr_alloc--; + cache->sz_cache -= cache->oobsize; + } + + kmem_cache_free(cache->rbcache, node); + cache->sz_cache -= sizeof(struct hinfc_cache_node); + cache->nr_alloc--; + } + + if (update_min_count) + update_cache_min_count(cache); +} +/******************************************************************************/ + +static struct hinfc_cache_node * +new_cache_node(struct hinfc_cache *cache, unsigned int count, + unsigned int index, int cache_page, int cache_oob) +{ + struct hinfc_cache_node *node; + + node = kmem_cache_alloc(cache->rbcache, + GFP_NOWAIT | __GFP_NOMEMALLOC | __GFP_NOWARN); + if (!node) + return NULL; + cache->nr_alloc++; + + if (cache_page) { + node->pagebuf = kmalloc(cache->pagesize, + GFP_NOWAIT | __GFP_NOMEMALLOC | __GFP_NOWARN); + if (!node->pagebuf) + goto pagecache_fail; + cache->nr_alloc++; + } else + node->pagebuf = NULL; + + if (cache_oob) { + node->oobbuf = kmalloc(cache->oobsize, + GFP_NOWAIT | __GFP_NOMEMALLOC | __GFP_NOWARN); + if (!node->oobbuf) + goto oobcache_fail; + cache->nr_alloc++; + } else + node->oobbuf = NULL; + + node->count = count; + node->index = index; + + if (node->pagebuf) + cache->sz_cache += cache->pagesize; + + if (node->oobbuf) + cache->sz_cache += cache->oobsize; + + cache->sz_cache += sizeof(struct hinfc_cache_node); + + return node; + +oobcache_fail: + if (node->pagebuf) { + kfree(node->pagebuf); + cache->nr_alloc--; + } +pagecache_fail: + kmem_cache_free(cache->rbcache, node); + cache->nr_alloc--; + + return NULL; +} +/******************************************************************************/ + +static void free_all_cache_node(struct hinfc_cache *cache) +{ + struct rb_node *rbnode = rb_first(&cache->rbroot); + + while (rbnode) { + struct hinfc_cache_node *node = RB_CACHE_ENTRY(rbnode); + rbnode = rb_next(rbnode); + + remove_cache_node(cache, node, 1, 1, + HINFC_CACHE_REMOVE_CAUSE_MAX); + } +} +/******************************************************************************/ + +static void hinfc_reclaim_cache(struct hinfc_cache *cache, int nr_page, + int cause) +{ + struct rb_node *rbnode; + struct hinfc_cache_node *node; + unsigned short *pages = cache->pages; + + rbnode = rb_first(&cache->rbroot); + while (rbnode && nr_page > 0) { + node = RB_CACHE_ENTRY(rbnode); + rbnode = rb_next(rbnode); + + if (node->index == cache->active.index) { + cache->active.remove = 1; + cache->active.cause = cause; + cache->active.reset_count = 0; + continue; + } + + pages[node->index] &= ~CACHE_MARK; + nr_page--; + + remove_cache_node(cache, node, 1, 0, cause); + } + + update_cache_min_count(cache); +} +/******************************************************************************/ + +static int hinfc_shrinker(struct shrinker *shrink, struct shrink_control *sc) +{ + unsigned int nr_caches; + unsigned int shrink_percent; + struct hinfc_cache *cache = + container_of(shrink, struct hinfc_cache, shrink); + + spin_lock(&cache->lock); + + nr_caches = cache->nr_cache; + shrink_percent = cache->shrink_percent; + + spin_unlock(&cache->lock); + + if (!nr_caches || !shrink_percent) + return 0; + + nr_caches = nr_caches * shrink_percent / 100; + + if (nr_caches < cache->min_shrink) + nr_caches = cache->min_shrink; + + spin_lock(&cache->lock); + + hinfc_reclaim_cache(cache, nr_caches, HINFC_CACHE_REMOVE_CAUSE_RECLAIM); + + spin_unlock(&cache->lock); + + return 0; +} +/******************************************************************************/ + +int hinfc_read_cache(void *handle, const unsigned int index, char **pbuf, + char **poob, int *status) +{ + TO_CACHE(cache, handle); + + int count; + unsigned short *pages; + struct hinfc_cache_node *node; + + *status = 0; + + if (index >= cache->max_pages) + return -1; + + spin_lock(&cache->lock); + + cache->active.index = -1; + + pages = cache->pages; + + if (CF_CACHE_OFF(cache, flags)) { + spin_unlock(&cache->lock); + return -1; + } + cache->nr_read++; + + ASSERT(cache->pages != NULL, "nr_cache:%d\n", cache->nr_cache); + + count = GET_COUNT(pages[index]); + if (count < MAX_COUNT) + pages[index]++; + + if (pages[index] & EMPTY_MARK) + *status |= HINFC_CACHE_STATUS_EMPTY_PAGE; + + if (!HAVE_CACHE(pages[index])) { + cache->nr_read_miss++; + + spin_unlock(&cache->lock); + return -1; + } + + cache->nr_read_hit++; + cache->active.index = index; + + node = find_cache_node(cache, count, index); + if (!node) { + ASSERT(0, "cache hit but no found data, index:%d, count:%d\n", index, count); + + spin_unlock(&cache->lock); + return -1; + } + + if (pbuf) + *pbuf = node->pagebuf; + + if (poob) + *poob = node->oobbuf; + + if (count == MAX_COUNT) { + spin_unlock(&cache->lock); + return 0; + } + + remove_cache_node(cache, node, 0, 0, HINFC_CACHE_REMOVE_CAUSE_MOVE); + + node->count = GET_COUNT(pages[index]); + + insert_cache_node(cache, node, 1); + + spin_unlock(&cache->lock); + + return 0; +} +/******************************************************************************/ + +int hinfc_set_cache_status(void *handle, unsigned int index, int status) +{ + TO_CACHE(cache, handle); + + unsigned short *pages; + + if (index >= cache->max_pages) + return -1; + + spin_lock(&cache->lock); + + pages = cache->pages; + + if (CF_CACHE_OFF(cache, flags)) { + spin_unlock(&cache->lock); + return -1; + } + + ASSERT(cache->pages != NULL, "\n"); + + if (status & HINFC_CACHE_STATUS_EMPTY_PAGE) + pages[index] |= EMPTY_MARK; + + spin_unlock(&cache->lock); + + return 0; +} +/******************************************************************************/ + +int hinfc_save_cache(void *handle, const unsigned int index, char **pbuf, + char **poob) +{ + TO_CACHE(cache, handle); + + int count; + unsigned short *pages; + struct hinfc_cache_node *node; + + if (index >= cache->max_pages) + return -1; + + spin_lock(&cache->lock); + + pages = cache->pages; + + if (CF_CACHE_OFF(cache, flags)) { + ASSERT(cache->pages == NULL && cache->nr_cache == 0, "nr_cache:%d\n", cache->nr_cache); + + spin_unlock(&cache->lock); + return -1; + } + + ASSERT(cache->pages != NULL, "nr_cache:%d\n", cache->nr_cache); + + if (HAVE_CACHE(pages[index])) { + ASSERT(0, "previous no cache, but find cache here\n"); + + spin_unlock(&cache->lock); + return -1; + } + + count = GET_COUNT(pages[index]); + + if (cache->nr_cache == cache->max_caches && + count <= cache->min_count) { + cache->nr_save_full_miss++; + + spin_unlock(&cache->lock); + return -1; + } + + node = new_cache_node(cache, count, index, pbuf != NULL, poob != NULL); + if (!node) { + cache->nr_save_alloc_fail_miss++; + + spin_unlock(&cache->lock); + return -1; + } + + if (cache->nr_cache == cache->max_caches) { + struct hinfc_cache_node *first_node; + + first_node = RB_CACHE_ENTRY(rb_first(&cache->rbroot)); + + pages[first_node->index] &= ~CACHE_MARK; + + remove_cache_node(cache, first_node, 1, 0, + HINFC_CACHE_REMOVE_CAUSE_FULL); + } + + node = insert_cache_node(cache, node, 1); + if (!node) { + ASSERT(0, "no found cache, but insert fail.\n"); + + spin_unlock(&cache->lock); + return -1; + } + + cache->nr_save++; + + if (pbuf) + *pbuf = node->pagebuf; + + if (poob) + *poob = node->oobbuf; + + cache->active.index = index; + + pages[index] |= CACHE_MARK; + + spin_unlock(&cache->lock); + + return 0; +} +/******************************************************************************/ + +static int hinfc_cache_crc(void *handle, unsigned int index, int checkit) +{ + TO_CACHE(cache, handle); + + unsigned int crc = 0; + unsigned short *pages; + struct hinfc_cache_node *node; + + if (index >= cache->max_pages) + return -1; + + spin_lock(&cache->lock); + + pages = cache->pages; + + if (CF_CACHE_OFF(cache, flags) || !CF_CRC_ON(cache, flags)) { + spin_unlock(&cache->lock); + return -1; + } + + ASSERT(cache->pages != NULL, "nr_cache:%d\n", cache->nr_cache); + + node = find_cache_node(cache, GET_COUNT(pages[index]), index); + if (!node) { + ASSERT(0, "cache hit but no found data, index:%d\n", index); + + spin_unlock(&cache->lock); + return -1; + } + + if (node->pagebuf) + crc = crc32(0, node->pagebuf, cache->pagesize); + if (node->oobbuf) + crc = crc32(crc, node->oobbuf, cache->oobsize); + + if (checkit) { + if (cache->pagecrc32[index] != crc) + pr_err("crc32 check fail. page:%d, count:%d\n", node->index, node->count); + } else + cache->pagecrc32[index] = crc; + + spin_unlock(&cache->lock); + + return 0; +} +/******************************************************************************/ + +int hinfc_cache_save_crc(void *handle, unsigned int index) +{ + return hinfc_cache_crc(handle, index, 0); +} +/******************************************************************************/ + +int hinfc_cache_check_crc(void *handle, unsigned int index) +{ + return hinfc_cache_crc(handle, index, 1); +} +/******************************************************************************/ + +static int __hinfc_cache_enable(void *handle) +{ + TO_CACHE(cache, handle); + + unsigned int size; + unsigned short *pages; + + spin_lock(&cache->lock); + if (CF_CACHE_PEND(cache, flags)) { + CF_CACHE_OFF_CLEAN(cache, flags_pend); + + spin_unlock(&cache->lock); + return 0; + } + spin_unlock(&cache->lock); + + if (!CF_CACHE_OFF(cache, flags)) + return 0; + + size = cache->max_pages * sizeof(cache->pages[0]); + pages = (unsigned short *)vmalloc(size); + if (!pages) { + pr_err("out of memory.\n"); + return -1; + } + memset(pages, 0, size); + + spin_lock(&cache->lock); + + ASSERT(cache->pages == NULL && cache->nr_cache == 0, "nr_cache:%d\n", cache->nr_cache); + + cache->nr_alloc++; + cache->pages = pages; + + CF_CACHE_OFF_CLEAN(cache, flags); + + spin_unlock(&cache->lock); + + register_shrinker(&cache->shrink); + + return 0; +} +/******************************************************************************/ + +static int __hinfc_cache_disable(void *handle) +{ + TO_CACHE(cache, handle); + + unsigned short *pages; + + unregister_shrinker(&cache->shrink); + + spin_lock(&cache->lock); + + if (CF_CACHE_PEND(cache, flags)) { + CF_CACHE_OFF_SET(cache, flags_pend); + + spin_unlock(&cache->lock); + return 0; + } + + if (CF_CACHE_OFF(cache, flags)) { + spin_unlock(&cache->lock); + return 0; + } + + if (cache->active.index != -1) { + CF_CACHE_OFF_SET(cache, flags_pend); + CF_CACHE_PEND_SET(cache, flags); + + spin_unlock(&cache->lock); + return 0; + } + + hinfc_reclaim_cache(cache, cache->nr_cache, + HINFC_CACHE_REMOVE_CAUSE_MANUAL); + + CF_CACHE_OFF_SET(cache, flags); + + ASSERT(cache->pages != NULL && cache->nr_cache == 0, "nr_cache:%d\n", cache->nr_cache); + + pages = cache->pages; + cache->pages = NULL; + cache->nr_alloc--; + + ASSERT((CF_CRC_ON(cache, flags) && cache->nr_alloc == 1) || (!CF_CRC_ON(cache, flags) && cache->nr_alloc == 0), "nr_alloc:%d\n", cache->nr_alloc); + + spin_unlock(&cache->lock); + + vfree(pages); + + return 0; +} +/******************************************************************************/ + +void hinfc_cache_enable(void *handle, int enable) +{ + TO_CACHE(cache, handle); + + mutex_lock(&cache->mutex); + + if (enable) + __hinfc_cache_enable(handle); + else + __hinfc_cache_disable(handle); + + mutex_unlock(&cache->mutex); +} +/******************************************************************************/ + +static int hinfc_crc_enable(void *handle) +{ + TO_CACHE(cache, handle); + + unsigned int *pagecrc32; + unsigned int size = cache->max_pages * sizeof(cache->pagecrc32[0]); + + pagecrc32 = (unsigned int *)vmalloc(size); + if (!pagecrc32) { + pr_err("out of memory.\n"); + return -1; + } + memset(pagecrc32, 0, size); + + ASSERT(cache->pagecrc32 == NULL, "\n"); + + spin_lock(&cache->lock); + + cache->pagecrc32 = pagecrc32; + cache->nr_alloc++; + + // TODO: XXX mayge it can't remove, some page crc check fail. because of index != -1 + hinfc_reclaim_cache(cache, cache->nr_cache, + HINFC_CACHE_REMOVE_CAUSE_MANUAL); + + CF_CRC_ON_SET(cache, flags); + + spin_unlock(&cache->lock); + + return 0; +} +/******************************************************************************/ + +static int hinfc_crc_disable(void *handle) +{ + TO_CACHE(cache, handle); + + unsigned int *pagecrc32; + + ASSERT(cache->pagecrc32 != NULL, "\n"); + + spin_lock(&cache->lock); + + CF_CRC_ON_CLEAN(cache, flags); + + cache->nr_alloc--; + pagecrc32 = cache->pagecrc32; + cache->pagecrc32 = NULL; + + spin_unlock(&cache->lock); + + vfree(pagecrc32); + + return 0; +} +/******************************************************************************/ + +int hinfc_cache_crc_enable(void *handle, int enable) +{ + TO_CACHE(cache, handle); + int ret = 0; + + mutex_lock(&cache->mutex); + + if (!!CF_CRC_ON(cache, flags) + !!enable == 1) { + if (enable) + ret = hinfc_crc_enable(handle); + else + ret = hinfc_crc_disable(handle); + } + + mutex_unlock(&cache->mutex); + + return ret; +} +/******************************************************************************/ + +void hinfc_remove_cache(void *handle, unsigned int index, int nr_page, + int reset_count, int cause) +{ + TO_CACHE(cache, handle); + + int cache_change = 0; + unsigned short *pages; + struct hinfc_cache_node *node; + + if (index >= cache->max_pages) + return; + + spin_lock(&cache->lock); + + pages = cache->pages; + + if (!cache->nr_cache) { + spin_unlock(&cache->lock); + return; + } + + ASSERT(cache->pages != NULL, "nr_cache:%d\n", cache->nr_cache); + + if (index + nr_page > cache->max_pages) + nr_page = cache->max_pages - index; + + for (; nr_page > 0; nr_page--, index++) { + if (index == cache->active.index) { + cache->active.remove = 1; + cache->active.cause = cause; + cache->active.reset_count = reset_count; + + continue; + } + + if (HAVE_CACHE(pages[index])) { + ++cache_change; + + pages[index] &= ~CACHE_MARK; + + node = find_cache_node(cache, GET_COUNT(pages[index]), + index); + if (!node) { + ASSERT(0, "cache hit but no found data, index:%d count:%d\n", + index, GET_COUNT(pages[index])); + + spin_unlock(&cache->lock); + return; + } + + remove_cache_node(cache, node, 1, 0, cause); + } + + if (reset_count) + pages[index] = 0; + } + + if (cache_change) + update_cache_min_count(cache); + + spin_unlock(&cache->lock); +} +/******************************************************************************/ + +void hinfc_read_cache_finish(void *handle) +{ + TO_CACHE(cache, handle); + + spin_lock(&cache->lock); + + if (cache->active.index != -1) { + int remove = 0; + int cause = 0; + int reset_count = 0; + unsigned int index = cache->active.index; + + cache->active.index = -1; + if (cache->active.remove) { + remove = 1; + cause = cache->active.cause; + reset_count = cache->active.reset_count; + + cache->active.remove = 0; + } + + spin_unlock(&cache->lock); + + if (remove) + hinfc_remove_cache(handle, index, 1, reset_count, + cause); + + spin_lock(&cache->lock); + } + + if (CF_CACHE_PEND(cache, flags)) { + int val; + + CF_CACHE_PEND_CLEAN(cache, flags); + + val = !!CF_CACHE_OFF(cache, flags) + + !!CF_CACHE_OFF(cache, flags_pend); + + if (val == 1) { + if (CF_CACHE_OFF(cache, flags_pend)) { + spin_unlock(&cache->lock); + + __hinfc_cache_disable(handle); + + spin_lock(&cache->lock); + } else { + spin_unlock(&cache->lock); + + __hinfc_cache_enable(handle); + + spin_lock(&cache->lock); + } + } + } + + spin_unlock(&cache->lock); +} +/******************************************************************************/ + +static void hinfc_set_weight(void *handle, struct hinfc_weight *weight, + int nr_weight) +{ + TO_CACHE(cache, handle); + + unsigned short *pages; + struct hinfc_cache_node *node; + + for (; nr_weight > 0; nr_weight--, weight++) { + if (weight->index >= cache->max_pages) + continue; + + if (weight->count > MAX_COUNT) + weight->count = MAX_COUNT; + + spin_lock(&cache->lock); + + pages = cache->pages; + + if (CF_CACHE_OFF(cache, flags)) { + spin_unlock(&cache->lock); + return; + } + + if (HAVE_CACHE(pages[weight->index])) { + node = find_cache_node(cache, + GET_COUNT(pages[weight->index]), + weight->index); + if (!node) { + ASSERT(0, "cache hit but no found data, index:%d count:%d\n", + weight->index, GET_COUNT(pages[weight->index])); + + spin_unlock(&cache->lock); + return; + } + + remove_cache_node(cache, node, 0, 0, + HINFC_CACHE_REMOVE_CAUSE_MOVE); + node->count = weight->count; + insert_cache_node(cache, node, 0); + + pages[weight->index] = weight->count | CACHE_MARK; + } else + pages[weight->index] = weight->count; + + spin_unlock(&cache->lock); + } + + spin_lock(&cache->lock); + update_cache_min_count(cache); + spin_unlock(&cache->lock); +} +/******************************************************************************/ + +int hinfc_cache_init(void **handle, unsigned int max_pages, + unsigned int max_caches, unsigned int pagesize, + unsigned int oobsize, struct dentry *parent) +{ + unsigned int size; + struct hinfc_cache *cache; + + *handle = NULL; + + ASSERT(max_pages != 0 && max_caches != 0, "\n"); + + cache = (struct hinfc_cache *)vmalloc(sizeof(struct hinfc_cache)); + if (!cache) { + pr_err("out of memory.\n"); + return -ENOMEM; + } + memset(cache, 0, sizeof(struct hinfc_cache)); + + cache->max_pages = max_pages; + + size = cache->max_pages * sizeof(cache->pages[0]); + + cache->pages = (unsigned short *)vmalloc(size); + if (!cache->pages) { + pr_err("out of memory.\n"); + goto page_fail; + } + memset(cache->pages, 0, size); + cache->nr_alloc++; + + cache->rbcache = kmem_cache_create("nand_rbcache", + sizeof(struct hinfc_cache_node), 0, 0, NULL); + if (!cache->rbcache) { + pr_err("out of memory.\n"); + goto rbcache_fail; + } + + if (max_caches > cache->max_pages) + max_caches = cache->max_pages; + + cache->max_caches = max_caches; + cache->pagesize = pagesize; + cache->oobsize = oobsize; + + if (hinfc_dbgfs_init(cache, parent)) + goto dbgfs_fail; + + cache->active.index = -1; + spin_lock_init(&cache->lock); + + mutex_init(&cache->mutex); + + cache->shrink.seeks = DEFAULT_SEEKS; + cache->shrink.shrink = hinfc_shrinker; + cache->shrink_percent = 100; + cache->min_shrink = (SZ_1M << 4) / cache->pagesize; + + register_shrinker(&cache->shrink); + + *handle = cache; + + printk("Nand: Cache is enable, max size: %d KB.\n", + (max_caches * (pagesize + oobsize)) >> 10); + + return 0; + +dbgfs_fail: + kmem_cache_destroy(cache->rbcache); + cache->rbcache = NULL; +rbcache_fail: + if (cache->pages) { + vfree(cache->pages); + cache->pages = NULL; + } +page_fail: + vfree(cache); + + return -ENOMEM; +} +/******************************************************************************/ + +int hinfc_cache_destory(void *handle) +{ + TO_CACHE(cache, handle); + + hinfc_dbgfs_destory(cache); + + unregister_shrinker(&cache->shrink); + + free_all_cache_node(cache); + + if (cache->rbcache) + kmem_cache_destroy(cache->rbcache); + + if (cache->pagecrc32) + vfree(cache->pagecrc32); + + if (cache->pages) + vfree(cache->pages); + + vfree(cache); + + return 0; +} +/******************************************************************************/ + +static ssize_t dbgfs_data_read(struct file *filp, char __user *usrbuf, + size_t count, loff_t *ppos) +{ + int *ptr; + char *tmp; + const int max_tmp = 88; + char *pusrbuf = usrbuf; + char *buf = filp->private_data; + + int size; + int nr_caches; + + nr_caches = *(int *)buf; + if (!nr_caches) + return 0; + + buf += sizeof(int); + buf += sizeof(long); + + ptr = (int *)(buf + (*ppos) * sizeof(int) * 2); + + tmp = vmalloc(max_tmp); + if (!tmp) + return -ENOMEM; + + if (!*ppos && count >= max_tmp) { + size = snprintf(tmp, max_tmp, "%8s,%-8s %8s,%-8s %8s,%-8s %8s,%-8s\n", + "index", "count", "index", "count", "index", "count", "index", "count"); + + if (copy_to_user(pusrbuf, tmp, size)) + goto copy_fail; + + count -= size; + pusrbuf += size; + } + + while (count >= max_tmp && (*ppos) + 4 <= nr_caches) { + size = snprintf(tmp, max_tmp, "%8d,%-8d %8d,%-8d %8d,%-8d %8d,%-8d\n", + ptr[0], ptr[1], ptr[2], ptr[3], ptr[4], ptr[5], ptr[6], ptr[7]); + + if (copy_to_user(pusrbuf, tmp, size)) + goto copy_fail; + + count -= size; + pusrbuf += size; + + *ppos += 4; + ptr += 8; + } + + while (count >= max_tmp && (*ppos) < nr_caches) { + char *suffix; + + if ((*ppos) + 1 < nr_caches) + suffix = " "; + else + suffix = "\n"; + + size = snprintf(tmp, max_tmp, "%8d,%-8d%s", ptr[0], ptr[1], suffix); + + if (copy_to_user(pusrbuf, tmp, size)) + goto copy_fail; + + count -= size; + pusrbuf += size; + + *ppos += 1; + ptr += 2; + } + + vfree(tmp); + + return (pusrbuf - usrbuf); + +copy_fail: + vfree(tmp); + + return -EFAULT; +} +/******************************************************************************/ + +static int dbgfs_data_release(struct inode *inode, struct file *file) +{ + char *buf = file->private_data; + + vfree(buf); + + return 0; +} +/******************************************************************************/ + +static int dbgfs_data_open(struct inode *inode, struct file *file) +{ + TO_CACHE(cache, inode->i_private); + + char *ptr, *buf; + struct rb_node *rbnode; + struct hinfc_cache_node *node; + unsigned int nr_caches = cache->max_caches; + + buf = ptr = vmalloc(nr_caches * sizeof(int) * 2 + + sizeof(int) + sizeof(long)); + if (!ptr) + return -ENOMEM; + + spin_lock(&cache->lock); + + if (nr_caches > cache->nr_cache) + nr_caches = cache->nr_cache; + + *(int *)ptr = nr_caches; + ptr += sizeof(int); + + *(long *)ptr = (long)cache; + ptr += sizeof(long); + + rbnode = rb_last(&cache->rbroot); + while (rbnode) { + node = RB_CACHE_ENTRY(rbnode); + rbnode = rb_prev(rbnode); + + *(int *)ptr = node->index; + ptr += sizeof(int); + + *(int *)ptr = node->count; + ptr += sizeof(int); + } + + spin_unlock(&cache->lock); + + file->private_data = buf; + + return 0; +} +/******************************************************************************/ + +static ssize_t dbgfs_data_write(struct file *filp, const char __user *usrbuf, + size_t count, loff_t *ppos) +{ + char *ptr; + char *buf; + char *tptr; + struct hinfc_cache *cache; + + cache = (struct hinfc_cache *)*(long *) + ((char *)filp->private_data + sizeof(int)); + + ptr = buf = vmalloc(count + 1); + if (!buf) + return -ENOMEM; + + if (copy_from_user(buf, usrbuf, count)) { + vfree(buf); + return -EFAULT; + } + buf[count] = '\0'; + + ptr = skip_spaces(ptr); + + if (*ptr == '?') { + printk("%s\n", "echo \"remove 0,64\" > data // remove cache from page 0 to 0+64, not reset count"); + printk("%s\n", "echo \"clean 0,64\" > data // remove cache from page 0 to 0+64, set count to zero"); + printk("%s\n", "echo \"weight 0,5 1,6 2,5\" > data // set page 0 count 5, page 1 count 6, ..."); + } else if (!memcmp(ptr, "remove ", 7)) { + /* + * cmd: "remove 0,64" + * remove cache, not clean count. + */ + int index, count; + + ptr = skip_spaces(ptr + 7); + + tptr = ptr; + index = simple_strtoul(ptr, &ptr, 10); + if (index >= cache->max_pages || tptr == ptr) + goto out; + + tptr = ++ptr; + count = simple_strtoul(ptr, &ptr, 10); + if (index + count >= cache->max_pages || tptr == ptr) + goto out; + + hinfc_remove_cache(cache, index, count, 0, + HINFC_CACHE_REMOVE_CAUSE_MANUAL); + + } else if (!memcmp(ptr, "clean ", 6)) { + /* + * cmd: "clean 0,64" + * remove cache, and clean count. + */ + int index, count; + + ptr = skip_spaces(ptr + 6); + + tptr = ptr; + index = simple_strtoul(ptr, &ptr, 10); + if (index >= cache->max_pages || tptr == ptr) + goto out; + + tptr = ++ptr; + count = simple_strtoul(ptr, &ptr, 10); + if (index + count >= cache->max_pages || tptr == ptr) + goto out; + + hinfc_remove_cache(cache, index, count, 1, + HINFC_CACHE_REMOVE_CAUSE_MANUAL); + + } else if (!memcmp(ptr, "weight ", 7)) { + /* + * cmd "weight 0,10 1,10 2,20" + * set multi page count + */ + int ix; + const int max_weight = 10; + struct hinfc_weight weight[max_weight]; + + ptr = skip_spaces(ptr + 7); + +next: + for (ix = 0; *ptr && ix < max_weight; ix++) { + tptr = ptr; + weight[ix].index = simple_strtoul(ptr, &ptr, 10); + if (tptr == ptr) + goto out; + + tptr = ++ptr; + weight[ix].count = simple_strtoul(ptr, &ptr, 10); + if (tptr == ptr) + goto out; + + if (*ptr == ';') + ptr++; + + ptr = skip_spaces(ptr); + } + + hinfc_set_weight(cache, weight, ix); + + if (*ptr) + goto next; + } + +out: + vfree(buf); + + return count; +} +/******************************************************************************/ + +static struct file_operations dbgfs_data_fops = { + .open = dbgfs_data_open, + .read = dbgfs_data_read, + .write = dbgfs_data_write, + .release = dbgfs_data_release, +}; +/******************************************************************************/ +#define CMD_MAX_CACHE "max_cache" +#define CMD_CACHE_CRC "crc" +#define CMD_CACHE_ENABLE "cache" +#define CMD_SHRINK_PERCENT "shrink_percent" +#define CMD_CACHE_CLEAN "clean" + +static ssize_t proc_info_read(struct file *filp, char __user *usrbuf, + size_t count, loff_t *ppos) +{ + TO_CACHE(cache, PDE_DATA(file_inode(filp))); + + char *ptr; + char *buf; + int max_buf = 1024; + char *pusrbuf = usrbuf; + int size; + + if (*ppos || count < 4096) + return 0; + *ppos = 1; + + buf = ptr = vmalloc(max_buf); + if (!buf) + return -ENOMEM; +#define CP_BUF(_fmt, _arg...) do { \ + size = snprintf(ptr, max_buf, "%-24s: "_fmt, ##_arg); \ + ptr += size; \ + max_buf -= size; \ +} while (0) + + CP_BUF("%s\n", CMD_CACHE_ENABLE, CF_CACHE_OFF(cache, flags) ? "off" : "on"); + CP_BUF("%s\n", CMD_CACHE_CRC, CF_CRC_ON(cache, flags) ? "on" : "off"); + CP_BUF("%d\n", CMD_MAX_CACHE, cache->max_caches); + CP_BUF("%d\n", "Total Pages", cache->max_pages); + CP_BUF("%d\n", "Cache Number", cache->nr_cache); + CP_BUF("%d kB\n", "Page Size", cache->pagesize >> 10); + CP_BUF("%d kB\n", "Cache Size", cache->sz_cache >> 10); + CP_BUF("%d\n", "Read", cache->nr_read); + CP_BUF("%d\n", "Read Hit", cache->nr_read_hit); + CP_BUF("%d\n", "Read Miss", cache->nr_read_miss); + CP_BUF("%d\n", "Save", cache->nr_save); + CP_BUF("%d\n", "Save Miss(full)", cache->nr_save_full_miss); + CP_BUF("%d\n", "Save Miss(no memory)", cache->nr_save_alloc_fail_miss); + CP_BUF("%d\n", "Remove(erase)", cache->nr_remove[HINFC_CACHE_REMOVE_CAUSE_ERASE]); + CP_BUF("%d\n", "Remove(write)", cache->nr_remove[HINFC_CACHE_REMOVE_CAUSE_WRITE]); + CP_BUF("%d\n", "Remove(empty page)", cache->nr_remove[HINFC_CACHE_REMOVE_CAUSE_EMPTY_PAGE]); + CP_BUF("%d\n", "Remove(manual)", cache->nr_remove[HINFC_CACHE_REMOVE_CAUSE_MANUAL]); + CP_BUF("%d\n", "Remove(reclaim)", cache->nr_remove[HINFC_CACHE_REMOVE_CAUSE_RECLAIM]); + CP_BUF("%d\n", "Remove(move)", cache->nr_remove[HINFC_CACHE_REMOVE_CAUSE_MOVE]); + CP_BUF("%d\n", "Remove(full)", cache->nr_remove[HINFC_CACHE_REMOVE_CAUSE_FULL]); + CP_BUF("%d\n", CMD_SHRINK_PERCENT, cache->shrink_percent); + CP_BUF("%d\n", "Shrink Minimum", cache->min_shrink); + + size = ptr - buf; + if (copy_to_user(pusrbuf, buf, size)) + goto copy_fail; + pusrbuf += size; + + vfree(buf); + return (pusrbuf - usrbuf); + +copy_fail: + vfree(buf); + return -EFAULT; + +#undef CP_BUF +} +/******************************************************************************/ + +static void set_max_cache(struct hinfc_cache *cache, unsigned int max_caches) +{ + if (max_caches == 0 || max_caches > cache->max_pages) + max_caches = cache->max_pages; + + if (max_caches == cache->max_caches) + return; + + spin_lock(&cache->lock); + + if (max_caches < cache->nr_cache) + hinfc_reclaim_cache(cache, cache->nr_cache - max_caches, + HINFC_CACHE_REMOVE_CAUSE_MANUAL); + + cache->max_caches = max_caches; + + spin_unlock(&cache->lock); + +} +/******************************************************************************/ + +static ssize_t proc_info_write(struct file *filp, const char __user *usrbuf, + size_t count, loff_t *ppos) +{ + TO_CACHE(cache, PDE_DATA(file_inode(filp))); + + char *ptr; + char *buf; + char *tptr; + + ptr = buf = vmalloc(count + 1); + if (!buf) + return -ENOMEM; + + if (copy_from_user(buf, usrbuf, count)) { + vfree(buf); + return -EFAULT; + } + buf[count] = '\0'; + + ptr = strim(ptr); + + if (*ptr == '?') { + printk("echo \"%s 10\" > /proc/%s // set shrink percent 10\n", CMD_SHRINK_PERCENT, cache->proc_filename); + printk("echo \"%s on\" > /proc/%s // enable nand cache crc\n", CMD_CACHE_CRC, cache->proc_filename); + printk("echo \"%s off\" > /proc/%s // disable nand cache crc\n", CMD_CACHE_CRC, cache->proc_filename); + printk("echo \"%s on\" > /proc/%s // enable nand cache\n", CMD_CACHE_ENABLE, cache->proc_filename); + printk("echo \"%s off\" > /proc/%s // disable nand cache\n", CMD_CACHE_ENABLE, cache->proc_filename); + printk("echo \"%s 10\" > /proc/%s // set max cache numbers to 10\n", CMD_MAX_CACHE, cache->proc_filename); + printk("echo \"%s\" > /proc/%s // clean all cache\n", CMD_CACHE_CLEAN, cache->proc_filename); + + } else if (!memcmp(ptr, CMD_SHRINK_PERCENT" ", sizeof(CMD_SHRINK_PERCENT))) { + unsigned int shrink_percent; + + tptr = ptr = skip_spaces(ptr + sizeof(CMD_SHRINK_PERCENT)); + shrink_percent = simple_strtoul(ptr, &ptr, 10); + if (tptr == ptr) + goto out; + + if (shrink_percent > 100) + shrink_percent = 100; + + spin_lock(&cache->lock); + cache->shrink_percent = shrink_percent; + spin_unlock(&cache->lock); + + } else if (!memcmp(ptr, CMD_CACHE_ENABLE" ", sizeof(CMD_CACHE_ENABLE))) { + ptr = skip_spaces(ptr + sizeof(CMD_CACHE_ENABLE)); + + if (!memcmp(ptr, "on", 3)) { + hinfc_cache_enable(cache, 1); + } else if (!memcmp(ptr, "off", 4)) { + hinfc_cache_enable(cache, 0); + } + + } else if (!memcmp(ptr, CMD_CACHE_CRC" ", sizeof(CMD_CACHE_CRC))) { + ptr = skip_spaces(ptr + sizeof(CMD_CACHE_CRC)); + + if (!memcmp(ptr, "on", 3)) { + hinfc_cache_crc_enable(cache, 1); + } else if (!memcmp(ptr, "off", 4)) { + hinfc_cache_crc_enable(cache, 0); + } + + } else if (!memcmp(ptr, CMD_MAX_CACHE" ", sizeof(CMD_MAX_CACHE))) { + unsigned int max_caches; + + tptr = ptr = skip_spaces(ptr + sizeof(CMD_MAX_CACHE)); + max_caches = simple_strtoul(ptr, &ptr, 10); + if (tptr == ptr) + goto out; + + set_max_cache(cache, max_caches); + + } else if (!memcmp(ptr, CMD_CACHE_CLEAN, sizeof(CMD_CACHE_CLEAN))) { + spin_lock(&cache->lock); + + hinfc_reclaim_cache(cache, cache->nr_cache, + HINFC_CACHE_REMOVE_CAUSE_MANUAL); + + spin_unlock(&cache->lock); + } +out: + vfree(buf); + + return count; +} +/******************************************************************************/ + +static struct file_operations proc_info_fops = { + .read = proc_info_read, + .write = proc_info_write, +}; +/******************************************************************************/ + +static int hinfc_dbgfs_init(struct hinfc_cache *cache, struct dentry *parent) +{ + cache->proc_filename = "nandcache"; + + cache->proc_file = proc_create_data(cache->proc_filename, 0644, NULL, + &proc_info_fops, cache); + if (!cache->proc_file) + goto out_remove; + + cache->dfs_file = debugfs_create_file("cache_data", S_IFREG | S_IRUSR, + parent, cache, &dbgfs_data_fops); + if (!cache->dfs_file) + goto out_remove; + + return 0; + +out_remove: + debugfs_remove(cache->dfs_file); + + if (cache->proc_file) { + remove_proc_entry(cache->proc_filename, NULL); + cache->proc_file = NULL; + } + + pr_err("Create debugfs fail.\n"); + return -ENOENT; +} +/******************************************************************************/ + +static void hinfc_dbgfs_destory(struct hinfc_cache *cache) +{ + if (cache->proc_file) + remove_proc_entry(cache->proc_filename, NULL); + + if (cache->dfs_file) + debugfs_remove(cache->dfs_file); +} diff --git a/drivers/mtd/nand/hinfc610/hinfc610_cache.h b/drivers/mtd/nand/hinfc610/hinfc610_cache.h new file mode 100644 index 000000000..1083f2b08 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_cache.h @@ -0,0 +1,61 @@ +/****************************************************************************** + * Copyright (C) 2014 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2014.11.12 + * +******************************************************************************/ + +#ifndef HINFC610_CACHE_H +#define HINFC610_CACHE_H + + +int hinfc_cache_init(void **handle, unsigned int max_pages, + unsigned int max_caches, unsigned int pagesize, + unsigned int oobsize, struct dentry *parent); + +int hinfc_cache_destory(void *handle); + +#define HINFC_CACHE_REMOVE_CAUSE_ERASE 0 +#define HINFC_CACHE_REMOVE_CAUSE_WRITE 1 +#define HINFC_CACHE_REMOVE_CAUSE_EMPTY_PAGE 2 +#define HINFC_CACHE_REMOVE_CAUSE_MANUAL 3 +#define HINFC_CACHE_REMOVE_CAUSE_RECLAIM 4 +#define HINFC_CACHE_REMOVE_CAUSE_MOVE 5 +#define HINFC_CACHE_REMOVE_CAUSE_FULL 6 +#define HINFC_CACHE_REMOVE_CAUSE_MAX 7 + +void hinfc_remove_cache(void *handle, unsigned int index, int nr_page, + int reset_count, int cause); + +void hinfc_read_cache_finish(void *handle); + +int hinfc_save_cache(void *handle, const unsigned int index, char **pbuf, + char **poob); + +#define HINFC_CACHE_STATUS_EMPTY_PAGE 1 +int hinfc_set_cache_status(void *handle, unsigned int index, int status); + +int hinfc_read_cache(void *handle, const unsigned int index, char **pbuf, + char **poob, int *status); + +int hinfc_cache_save_crc(void *handle, unsigned int index); + +int hinfc_cache_check_crc(void *handle, unsigned int index); + +void hinfc_cache_enable(void *handle, int enable); + +int hinfc_cache_crc_enable(void *handle, int enable); + +#endif /* HINFC610_CACHE_H*/ diff --git a/drivers/mtd/nand/hinfc610/hinfc610_dbg.c b/drivers/mtd/nand/hinfc610/hinfc610_dbg.c new file mode 100644 index 000000000..2e435cd8e --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_dbg.c @@ -0,0 +1,290 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-07-04 + * +******************************************************************************/ + +#include +#include +#include + +#include "hinfc610_os.h" +#include "hinfc610.h" +#include "hinfc610_dbg.h" + +extern struct hinfc610_dbg_inf_t hinfc610_dbg_inf_dump; +extern struct hinfc610_dbg_inf_t hinfc610_dbg_inf_erase_count; +extern struct hinfc610_dbg_inf_t hinfc610_dbg_inf_ecc_count; +extern struct hinfc610_dbg_inf_t hinfc610_dbg_inf_read_retry; +extern struct hinfc610_dbg_inf_t hinfc610_dbg_inf_read_retry_notice; +extern struct hinfc610_dbg_inf_t hinfc610_dbg_inf_ecc_notice; +extern struct hinfc610_dbg_inf_t hinfc610_dbg_if_cache_enable; +extern struct hinfc610_dbg_inf_t hinfc610_dbg_if_cache_crc; +extern struct hinfc610_dbg_inf_t hinfc610_dbg_inf_read_count; + +struct hinfc610_dbg_inf_t *hinfc610_dbg_inf[] = { + &hinfc610_dbg_inf_ecc_notice, + &hinfc610_dbg_inf_read_retry_notice, +#ifdef CONFIG_HINFC610_DBG_NAND_CACHE + &hinfc610_dbg_if_cache_enable, + &hinfc610_dbg_if_cache_crc, +#endif +#ifdef CONFIG_HINFC610_DBG_NAND_DUMP + &hinfc610_dbg_inf_dump, +#endif +#ifdef CONFIG_HINFC610_DBG_NAND_READ_COUNT + &hinfc610_dbg_inf_read_count, +#endif +#ifdef CONFIG_HINFC610_DBG_NAND_ERASE_COUNT + &hinfc610_dbg_inf_erase_count, +#endif +#ifdef CONFIG_HINFC610_DBG_NAND_ECC_COUNT + &hinfc610_dbg_inf_ecc_count, +#endif +#ifdef CONFIG_HINFC610_DBG_NAND_READ_RETRY + &hinfc610_dbg_inf_read_retry, +#endif + NULL, +}; +/*****************************************************************************/ + +static ssize_t dbgfs_debug_read(struct file *filp, char __user *buffer, + size_t count, loff_t *ppos) +{ + char *msg, *p; + struct hinfc610_dbg_inf_t **inf; + + if (*ppos != 0) + return 0; + + msg = (char *)__get_free_page(GFP_TEMPORARY); + if (!msg) + return -ENOMEM; + + p = msg; + if (count > PAGE_SIZE) + count = PAGE_SIZE; + + for (inf = hinfc610_dbg_inf; *inf; inf++) { + if ((p - msg) + MAX_OPTION_SIZE + 2 > count) { + pr_err("Not enough memory.\n"); + break; + } + p += snprintf(p, (MAX_OPTION_SIZE + 2), "%c%s,", + ((*inf)->enable ? '+' : '-'), + (*inf)->name); + } + + p += sprintf(p, "\n"); + count = (p - msg); + if (copy_to_user(buffer, msg, count)) { + free_page((unsigned long) msg); + return -EFAULT; + } + + free_page((unsigned long) msg); + + *ppos += count; + return count; +} +/*****************************************************************************/ + +static void dbgfs_debug_do_cmd(struct hinfc_host *host, + struct hinfc610_dbg_inf_t **dbg_inf, + const char *cmd, unsigned int length, int enable) +{ + int ret = 0; + struct hinfc610_dbg_inf_t **inf; + + if (length >= sizeof((*inf)->name)) + return; + + for (inf = dbg_inf; *inf; inf++) { + if (!(*inf)->name[length] && + !memcmp((*inf)->name, cmd, length)) + break; + } + + if (!(*inf) || (*inf)->enable == enable) + return; + + if (enable) { + if ((*inf)->init) + ret = (*inf)->init(host->dbgfs_root, host); + } else { + if ((*inf)->uninit) + ret = (*inf)->uninit(host); + } + + if (!ret) + (*inf)->enable = enable; +} +/*****************************************************************************/ + +static void dbgfs_debug_ops(struct hinfc_host *host, const char *options, + struct hinfc610_dbg_inf_t **dbg_inf) +{ + int enable; + const char *pos, *cmd; + + pos = options; + + while (*pos) { + + while (*pos && *pos != '+' && *pos != '-') + pos++; + + switch (*pos++) { + case '+': enable = 1; break; + case '-': enable = 0; break; + default: return; + } + + cmd = pos; + while (*pos == '_' || isalpha(*pos)) + pos++; + + if (*cmd && pos > cmd) + dbgfs_debug_do_cmd(host, dbg_inf, cmd, + (pos - cmd), enable); + + while (isspace(*pos) || *pos == ',' || *pos == ';') + pos++; + } +} +/*****************************************************************************/ +/* + * echo "+dump, +read_retry, +ecc_count, +erase_count" > debug + */ +static ssize_t dbgfs_debug_write(struct file *filp, const char __user *buffer, + size_t count, loff_t *ppos) +{ + char *options; + size_t num = count; + + if (count > PAGE_SIZE) + num = (PAGE_SIZE - 1); + + options = (char *)__get_free_page(GFP_TEMPORARY); + if (!options) + return -ENOMEM; + + if (copy_from_user(options, buffer, num)) { + free_page((unsigned long) options); + return -EFAULT; + } + + options[num] = 0; + + dbgfs_debug_ops((struct hinfc_host *)filp->private_data, + options, hinfc610_dbg_inf); + + free_page((unsigned long) options); + + *ppos += count; + return count; +} +/*****************************************************************************/ + +static int dbgfs_debug_open(struct inode *inode, struct file *file) +{ + file->private_data = inode->i_private; + return 0; +} +/*****************************************************************************/ + +static struct file_operations dbgfs_debug_fops = { + .owner = THIS_MODULE, + .open = dbgfs_debug_open, + .read = dbgfs_debug_read, + .write = dbgfs_debug_write, +}; +/*****************************************************************************/ + +int hinfc610_dbgfs_debug_init(struct hinfc_host *host) +{ + struct dentry *dentry; + + dentry = debugfs_create_file("debug", S_IFREG | S_IRUSR | S_IWUSR, + host->dbgfs_root, host, &dbgfs_debug_fops); + if (!dentry) { + pr_err("Can't create debugfs 'debug' file.\n"); + return -ENOENT; + } + + if (nand_dbgfs_options) + dbgfs_debug_ops(host, nand_dbgfs_options, hinfc610_dbg_inf); + + return 0; +} +/*****************************************************************************/ + +static int dbgfs_read_retry_notice_init(struct dentry *root, + struct hinfc_host *host) +{ + if (!host->read_retry) { + pr_warn("read_retry_notice: The NAND not support this interface.\n"); + return -1; + } + + return 0; +} +/*****************************************************************************/ + +static void hinfc610_dbg_read_retry_notice(struct hinfc_host *host, int index) +{ + pr_warn("Page 0x%08x do read retry (%d/%d) %s.\n", + GET_RW_PAGE_INDEX(host), index, host->read_retry->count, + (IS_PS_UN_ECC(host) ? "Fail" : "Success")); +} +/*****************************************************************************/ + +struct hinfc610_dbg_inf_t hinfc610_dbg_inf_read_retry_notice = { + "read_retry_notice", 0, + dbgfs_read_retry_notice_init, + NULL, + NULL, + NULL, + NULL, + hinfc610_dbg_read_retry_notice, +}; +/*****************************************************************************/ + +static void hinfc610_dbg_ecc_notice_read(struct hinfc_host *host) +{ + unsigned int pageindex = GET_RW_PAGE_INDEX(host); + + if (IS_PS_BAD_BLOCK(host) || IS_PS_EMPTY_PAGE(host)) { + if (IS_PS_BBM_ERR(host)) + pr_warn("page 0x%08x bbm is corruption, bbm: 0x%x.\n", + pageindex, *host->bbm); + + if (IS_PS_EPM_ERR(host)) + pr_warn("page 0x%08x epm is corruption, epm: 0x%x.\n", + pageindex, *host->epm); + + return; + } + + if (IS_PS_UN_ECC(host)) + pr_warn("page 0x%08x has uncorrect ecc.\n", pageindex); + else if (host->ecc.max_bitsflap >= host->ecc.threshold) + pr_warn("page 0x%08x has bitsflap (%d >= %d).\n", + pageindex, + host->ecc.max_bitsflap, + host->ecc.threshold); +} +/*****************************************************************************/ + +struct hinfc610_dbg_inf_t hinfc610_dbg_inf_ecc_notice = { + "ecc_notice", 0, + NULL, + NULL, + hinfc610_dbg_ecc_notice_read, + NULL, + NULL, + NULL, +}; +/*****************************************************************************/ diff --git a/drivers/mtd/nand/hinfc610/hinfc610_dbg.h b/drivers/mtd/nand/hinfc610/hinfc610_dbg.h new file mode 100644 index 000000000..739d19781 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_dbg.h @@ -0,0 +1,35 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-07-04 + * +******************************************************************************/ +#ifndef HINFC610_DBGH +#define HINFC610_DBGH +/******************************************************************************/ + +#define MAX_OPTION_SIZE 20 + +struct hinfc610_dbg_inf_t { + const char name[MAX_OPTION_SIZE]; + int enable; + int (*init)(struct dentry *root, struct hinfc_host *host); + int (*uninit)(struct hinfc_host *host); + + void (*read)(struct hinfc_host *host); + void (*write)(struct hinfc_host *host); + void (*erase)(struct hinfc_host *host); + + void (*read_retry)(struct hinfc_host *host, int index); +}; + +#define CMD_WORD_ADDRESS "address=" +#define CMD_WORD_OFFSET "offset=" +#define CMD_WORD_LENGTH "length=" +#define CMD_WORD_CLEAN "clear" +#define CMD_WORD_ON "on" +#define CMD_WORD_OFF "off" + +/******************************************************************************/ +#endif /* HINFC610_DBGH */ diff --git a/drivers/mtd/nand/hinfc610/hinfc610_dbg_cache.c b/drivers/mtd/nand/hinfc610/hinfc610_dbg_cache.c new file mode 100644 index 000000000..1bbaf60be --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_dbg_cache.c @@ -0,0 +1,79 @@ +/****************************************************************************** + * Copyright (C) 2014 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2014.11.17 + * +******************************************************************************/ + + +#include +#include +#include + +#include "hinfc610_os.h" +#include "hinfc610.h" +#include "hinfc610_dbg.h" +#include "hinfc610_cache.h" + +/******************************************************************************/ + +static int hinfc610_cache_enable(struct dentry *root, struct hinfc_host *host) +{ + hinfc_cache_enable(host->cache, 1); + return 0; +} +/******************************************************************************/ + +static int hinfc610_cache_disable(struct hinfc_host *host) +{ + hinfc_cache_enable(host->cache, 0); + return 0; +} +/******************************************************************************/ + +struct hinfc610_dbg_inf_t hinfc610_dbg_if_cache_enable = { + "cache", 1, + hinfc610_cache_enable, + hinfc610_cache_disable, + NULL, + NULL, + NULL, + NULL, +}; +/******************************************************************************/ + +static int hinfc610_cache_crc_enable(struct dentry *root, struct hinfc_host *host) +{ + hinfc_cache_crc_enable(host->cache, 1); + return 0; +} +/******************************************************************************/ + +static int hinfc610_cache_crc_disable(struct hinfc_host *host) +{ + hinfc_cache_crc_enable(host->cache, 0); + return 0; +} +/******************************************************************************/ + +struct hinfc610_dbg_inf_t hinfc610_dbg_if_cache_crc = { + "cache_crc", 0, + hinfc610_cache_crc_enable, + hinfc610_cache_crc_disable, + NULL, + NULL, + NULL, + NULL, +}; diff --git a/drivers/mtd/nand/hinfc610/hinfc610_dbg_dump.c b/drivers/mtd/nand/hinfc610/hinfc610_dbg_dump.c new file mode 100644 index 000000000..9a654f585 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_dbg_dump.c @@ -0,0 +1,440 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-07-04 + * +******************************************************************************/ +#include +#include +#include + +#include "hinfc610_os.h" +#include "hinfc610.h" +#include "hinfc610_dbg.h" + +#ifndef CONFIG_HINFC610_DBG_NAND_NUM_OF_LOGS +# define CONFIG_HINFC610_DBG_NAND_NUM_OF_LOGS (80) +#endif /* CONFIG_HINFC610_DBG_NAND_NUM_OF_LOGS */ + +#ifndef CONFIG_HINFC610_DBG_NAND_LOG_LENGTH +# define CONFIG_HINFC610_DBG_NAND_LOG_LENGTH (40) +#endif /* CONFIG_HINFC610_DBG_NAND_LOG_LENGTH */ + +struct hinfc610_dbg_dump_item_t { + unsigned short hour; + unsigned short min; + unsigned short sec; + unsigned short msec; + + unsigned int cycle; + + unsigned long page; + unsigned long offset; + unsigned long length; + + char page_status[4]; + char op; + + unsigned char data[CONFIG_HINFC610_DBG_NAND_LOG_LENGTH]; +}; + +struct hinfc610_dbg_dump_t { + + struct dentry *dentry; + unsigned int index; /* current logs index */ + int count; /* number of logs */ + + unsigned long offset; + unsigned long length; + + struct hinfc610_dbg_dump_item_t logs[CONFIG_HINFC610_DBG_NAND_NUM_OF_LOGS]; + + unsigned int read_index; +}; + +static DEFINE_MUTEX(dbg_dump_mutex); +static struct hinfc610_dbg_dump_t *dbg_dump = NULL; + +/*****************************************************************************/ + +static void do_gettime(unsigned short *hour, unsigned short *min, + unsigned short *sec, unsigned short *msec) +{ + long val; + struct timeval tv; + + do_gettimeofday(&tv); + val = tv.tv_sec % 86400; /* the second form 0 hour */ + + if (hour) + *hour = val / 3600; + val %= 3600; + if (min) + *min = val / 60; + if (sec) + *sec = val % 60; + if (msec) + *msec = tv.tv_usec / 1000; +} +/*****************************************************************************/ +/* + * + +# cat ./debugfs/nand/dump +Print parameter: "offset=0 length=8" +UTC Clock op cylce page-offset data +00:00:33.0321 W 5 0x0000258F-0000 31 18 10 06 18 EF FE 11 +00:00:33.0325 W 5 0x00002740-0000 31 18 10 06 7C D4 B3 0C + +* +*/ +static ssize_t dbgfs_dump_read(struct file *filp, char __user *buffer, + size_t count, loff_t *ppos) +{ + int len = 0; + char buf[128] = {0}; + unsigned int read_index; + char __user *pusrbuf = buffer; + struct hinfc610_dbg_dump_item_t *logs; + + if (*ppos == 0) { + if (dbg_dump->count + < CONFIG_HINFC610_DBG_NAND_NUM_OF_LOGS) + dbg_dump->read_index = 0; + else + dbg_dump->read_index + = (dbg_dump->index + 1); + + len = snprintf(buf, sizeof(buf), + "Print parameter: \"offset=%ld length=%ld\" (offset is byte number)\n", + dbg_dump->offset, dbg_dump->length); + + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + + pusrbuf += len; + + len = snprintf(buf, sizeof(buf), + " UTC Clock op cylce page-offset data\n"); + + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + + pusrbuf += len; + + } else if (dbg_dump->read_index == dbg_dump->index) + return 0; + + for (read_index = dbg_dump->read_index; + (read_index != dbg_dump->index); + ++read_index) { + + if (read_index >= CONFIG_HINFC610_DBG_NAND_NUM_OF_LOGS) + read_index = 0; + + logs = &dbg_dump->logs[read_index]; + + if ((count - (pusrbuf - buffer)) < (50 + logs->length * 3)) + break; + + len = snprintf(buf, sizeof(buf), + "%02d:%02d:%02d.%04d %c %-2u 0x%08lX-%04lX", + logs->hour, logs->min, logs->sec, logs->msec, + logs->op, logs->cycle, + logs->page, logs->offset); + + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + + pusrbuf += len; + + if (logs->op == 'E') { + + len = snprintf(buf, sizeof(buf), " ---"); + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + pusrbuf += len; + + } else { + + int ix; + + len = snprintf(buf, sizeof(buf), "%s", + logs->page_status); + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + pusrbuf += len; + + for (ix = 0; ix < logs->length; ix++) { + if ((ix % 16) == 15) { + len = snprintf(buf, sizeof(buf), + "%02X-", + logs->data[ix]); + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + pusrbuf += len; + } else { + len = snprintf(buf, sizeof(buf), + "%02X ", + logs->data[ix]); + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + pusrbuf += len; + } + } + } + len = snprintf(buf, sizeof(buf), "\n"); + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + pusrbuf += len; + } + + dbg_dump->read_index = read_index; + + *ppos += (pusrbuf - buffer); + return pusrbuf - buffer; +} +/*****************************************************************************/ + +static ssize_t dbgfs_dump_write(struct file *filp, const char __user *buffer, + size_t count, loff_t *ppos) +{ + char *p; + unsigned long value; + char buf[128] = {0}; + unsigned long pos = 0; + + if (count > sizeof(buf)) + count = sizeof(buf); + + if (copy_from_user(buf, buffer, count)) + return -EFAULT; + + while (pos < count) { + + while (pos < count + && (buf[pos] == ' '|| + buf[pos] == ',' || buf[pos] == ';')) + pos++; + + if (pos >= count) + break; + + switch (buf[pos]) { + case 'o': + if (!memcmp(&buf[pos], CMD_WORD_OFFSET, + sizeof(CMD_WORD_OFFSET) - 1)) { + + pos += sizeof(CMD_WORD_OFFSET) - 1; + p = (char *)(buf + pos); + if ((value = simple_strtoul(p, &p, 10)) < 0) + value = 0; + dbg_dump->offset = value; + } + break; + + case 'l': + if (!memcmp(&buf[pos], CMD_WORD_LENGTH, + sizeof(CMD_WORD_LENGTH) - 1)) { + + pos += sizeof(CMD_WORD_LENGTH) - 1; + p = (char *)(buf + pos); + if ((value = simple_strtoul(p, &p, 10)) < 0) + value = 0; + dbg_dump->length = value; + } + break; + } + + while (pos < count && + (buf[pos] != ' ' && buf[pos] != ',' && buf[pos] != ';')) + pos++; + } + + *ppos += count; + return count; +} +/*****************************************************************************/ + +static struct file_operations dbgfs_dump_fops = { + .owner = THIS_MODULE, + .read = dbgfs_dump_read, + .write = dbgfs_dump_write, +}; +/*****************************************************************************/ + +static int dbgfs_dump_init(struct dentry *root, struct hinfc_host *host) +{ + struct hinfc610_dbg_dump_t *dump; + + if (dbg_dump) + return 0; + + dump = vmalloc(sizeof(struct hinfc610_dbg_dump_t)); + if (!dump) { + pr_err("Can't allocate memory.\n"); + return -ENOMEM; + } + memset(dump, 0, sizeof(struct hinfc610_dbg_dump_t)); + + dump->dentry = debugfs_create_file("dump", + S_IFREG | S_IRUSR | S_IWUSR, + root, NULL, &dbgfs_dump_fops); + if (!dump->dentry) { + pr_err("Can't create 'dump' file.\n"); + vfree(dump); + return -ENOENT; + } + + dump->length = 8; + + dbg_dump = dump; + + return 0; +} +/*****************************************************************************/ + +static int dbgfs_dump_uninit(struct hinfc_host *host) +{ + if (!dbg_dump) + return 0; + + mutex_lock(&dbg_dump_mutex); + + debugfs_remove(dbg_dump->dentry); + + vfree(dbg_dump); + dbg_dump = NULL; + + mutex_unlock(&dbg_dump_mutex); + + return 0; +} +/*****************************************************************************/ + +static void dbg_dump_rw(struct hinfc_host *host, char op) +{ + int offset; + unsigned long buflen; + struct hinfc610_dbg_dump_item_t *logs; + + mutex_lock(&dbg_dump_mutex); + + if (!dbg_dump) + goto exit; + + buflen = (host->pagesize + host->oobsize); + logs = &dbg_dump->logs[dbg_dump->index]; + + dbg_dump->count++; + + do_gettime(&logs->hour, &logs->min, &logs->sec, &logs->msec); + + memcpy(logs->page_status, "\x20\x20\x20\x00", 4); + + if (host->page_status) { + if (IS_PS_BAD_BLOCK(host)) + logs->page_status[0] = 'B'; + else if (IS_PS_EMPTY_PAGE(host)) + logs->page_status[0] = 'E'; + + if (IS_PS_UN_ECC(host)) + logs->page_status[1] = '*'; + + if (IS_PS_EPM_ERR(host) || IS_PS_BBM_ERR(host)) + logs->page_status[2] = '?'; + } + + logs->op = op; + logs->cycle = host->addr_cycle; + logs->length = dbg_dump->length; + logs->offset = (host->addr_value[0] & 0xFFFF); + logs->page = GET_RW_PAGE_INDEX(host); + + if (!logs->offset) + logs->offset = dbg_dump->offset; + + if (logs->offset >= buflen) + logs->offset = 0; + + if (logs->length > (buflen - logs->offset)) + logs->length = (buflen - logs->offset); + + if (logs->length > CONFIG_HINFC610_DBG_NAND_LOG_LENGTH) + logs->length = CONFIG_HINFC610_DBG_NAND_LOG_LENGTH; + + offset = logs->offset; + if (offset >= host->pagesize) + memcpy(logs->data, host->oobbuf + offset - host->pagesize, logs->length); + else if (offset + logs->length <= host->pagesize) + memcpy(logs->data, host->pagebuf + offset, logs->length); + else { + int nr_copy = host->pagesize - offset; + + memcpy(logs->data, host->pagebuf + offset, nr_copy); + memcpy(logs->data + nr_copy, host->oobbuf, logs->length - nr_copy); + } + + if (++dbg_dump->index >= CONFIG_HINFC610_DBG_NAND_NUM_OF_LOGS) + dbg_dump->index = 0; + +exit: + mutex_unlock(&dbg_dump_mutex); +} +/*****************************************************************************/ + +static void dbg_dump_read(struct hinfc_host *host) +{ + dbg_dump_rw(host, 'R'); +} +/*****************************************************************************/ + +static void dbg_dump_write(struct hinfc_host *host) +{ + dbg_dump_rw(host, 'W'); +} +/*****************************************************************************/ + +static void dbg_dump_erase(struct hinfc_host *host) +{ + struct hinfc610_dbg_dump_item_t *logs; + + mutex_lock(&dbg_dump_mutex); + + if (!dbg_dump) + goto exit; + + dbg_dump->count++; + logs = &dbg_dump->logs[dbg_dump->index]; + + do_gettime(&logs->hour, &logs->min, &logs->sec, &logs->msec); + + memcpy(logs->page_status, "\x20\x20\x20\x00", 4); + + logs->op = 'E'; + logs->cycle = host->addr_cycle; + logs->length = dbg_dump->length; + + logs->offset = 0; + logs->page = host->addr_value[0]; + logs->length = 0; + + if (++dbg_dump->index >= CONFIG_HINFC610_DBG_NAND_NUM_OF_LOGS) + dbg_dump->index = 0; + +exit: + mutex_unlock(&dbg_dump_mutex); +} +/*****************************************************************************/ + +struct hinfc610_dbg_inf_t hinfc610_dbg_inf_dump = { + "dump", 0, + dbgfs_dump_init, + dbgfs_dump_uninit, + dbg_dump_read, + dbg_dump_write, + dbg_dump_erase, + NULL, +}; +/*****************************************************************************/ diff --git a/drivers/mtd/nand/hinfc610/hinfc610_dbg_ecc_count.c b/drivers/mtd/nand/hinfc610/hinfc610_dbg_ecc_count.c new file mode 100644 index 000000000..69958f4bd --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_dbg_ecc_count.c @@ -0,0 +1,485 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-07-05 + * +******************************************************************************/ + +#include +#include +#include + +#include "hinfc610_os.h" +#include "hinfc610.h" +#include "hinfc610_dbg.h" + +#ifndef CONFIG_HINFC610_DBG_ECC_COUNT_NUM +# define CONFIG_HINFC610_DBG_ECC_COUNT_NUM (100) +#endif /* CONFIG_HINFC610_DBG_ECC_COUNT_NUM */ + +struct hinfc610_dbg_ecc_count_item_t{ + unsigned int page; + unsigned int page_status; /* the same as host->page_status */ + unsigned short hour; + unsigned short min; + unsigned short sec; + unsigned short msec; + + unsigned char ecc[4]; /* it will dynamic malloc in init. */ +}; + +struct hinfc610_dbg_ecc_count_t { + struct dentry *dentry; + unsigned int index; /* current logs index */ + int count; /* number of logs */ + + unsigned int offset; + unsigned int length; + unsigned int nr_page; + + unsigned char *item; + + unsigned int read_index; + + struct { + int uncorrect; /* number of read that ecc uncorrect */ +#define MAX_ECC_DIST 80 + int statis[81]; + int section; + void (*dump)(void *host, unsigned char *ecc, + int *max_bitsflags); + } ecc; +}; + +#define GET_ITEM(_ecc_count, _index) \ + ((struct hinfc610_dbg_ecc_count_item_t *)((_ecc_count)->item + \ + ((sizeof(struct hinfc610_dbg_ecc_count_item_t) + \ + (_ecc_count)->ecc.section) * (_index)))) + +static DEFINE_MUTEX(dbg_ecc_count_mutex); +static struct hinfc610_dbg_ecc_count_t *dbg_ecc_count = NULL; +/*****************************************************************************/ + +static void do_gettime(unsigned short *hour, unsigned short *min, + unsigned short *sec, unsigned short *msec) +{ + long val; + struct timeval tv; + + do_gettimeofday(&tv); + val = tv.tv_sec % 86400; /* the second form 0 hour */ + + if (hour) + *hour = val / 3600; + val %= 3600; + if (min) + *min = val / 60; + if (sec) + *sec = val % 60; + if (msec) + *msec = tv.tv_usec / 1000; +} +/*****************************************************************************/ + +static int dbgfs_dump_ecc(struct hinfc610_dbg_ecc_count_t *ecc_count, + char __user *usrbuf, unsigned int count, int withhdr) +{ + int len; + char *ptr; + int ret = 0; + unsigned int index; + char buf[128] = {0}; + struct hinfc610_dbg_ecc_count_item_t *item; + + if (withhdr) { + ptr = buf; + + ptr += snprintf(ptr, 70, + "Parameter: \"offset=%d length=%d\" (offset is page number)\n", + ecc_count->offset, + ecc_count->length); + + ptr += snprintf(ptr, 50, + " UTC Clock page ecc data\n"); + + len = ptr - buf; + if (copy_to_user(usrbuf, buf, len)) + return -EFAULT; + usrbuf += len; + ret += len; + count -= len; + } + + for (index = ecc_count->read_index; + index != ecc_count->index && count > 80; ++index) { + if (index >= CONFIG_HINFC610_DBG_ECC_COUNT_NUM) + index = 0; + + item = GET_ITEM(ecc_count, index); + + len = snprintf(buf, sizeof(buf), + "%02d:%02d:%02d.%04d 0x%08X ", + item->hour, item->min, item->sec, item->msec, + item->page); + + if (copy_to_user(usrbuf, buf, len)) + return -EFAULT; + usrbuf += len; + ret += len; + count -= len; + + ptr = buf; + + if (IS_PS_BAD_BLOCK(item) || IS_PS_EMPTY_PAGE(item) || + IS_PS_UN_ECC(item)) { + if (IS_PS_BAD_BLOCK(item)) + ptr += snprintf(ptr, 16, "bad block "); + else if (IS_PS_EMPTY_PAGE(item)) + ptr += snprintf(ptr, 16, "empty page "); + else if (IS_PS_UN_ECC(item)) + ptr += snprintf(ptr, 16, "uncorrect "); + + if (IS_PS_EPM_ERR(item)) + ptr += snprintf(ptr, 16, "bbm valid "); + + if (IS_PS_BBM_ERR(item)) + ptr += snprintf(ptr, 16, "epm valid "); + + ptr += snprintf(ptr, 4, "\n"); + } else { + int ix; + + for (ix = 0; ix < ecc_count->ecc.section; ix++) + ptr += snprintf(ptr, 16, "%d/", item->ecc[ix]); + + if (IS_PS_EPM_ERR(item)) + ptr += snprintf(ptr, 12, "epm valid "); + + ptr += snprintf(ptr, 4, "\n"); + } + + len = ptr - buf; + if (copy_to_user(usrbuf, buf, len)) + return -EFAULT; + + usrbuf += len; + ret += len; + count -= len; + } + + ecc_count->read_index = index; + + return ret; +} +/*****************************************************************************/ + +static int dbgfs_dump_ecc_dist(struct hinfc610_dbg_ecc_count_t *ecc_count, + char __user *usrbuf, unsigned int count) +{ + int ix; + int num; + int len; + char *ptr; + int ret = 0; + char buf[128] = {0}; + + for (num = MAX_ECC_DIST; num >= 0; num--) { + if (ecc_count->ecc.statis[num]) + break; + } + + ptr = buf; + + ptr += snprintf(ptr, 40, "ECC distribution: \n"); + + if (ecc_count->ecc.uncorrect) + ptr += snprintf(ptr, 40, " out of range: %d\n", + ecc_count->ecc.uncorrect); + + len = ptr - buf; + if (copy_to_user(usrbuf, buf, len)) + return -EFAULT; + usrbuf += len; + ret += len; + count -= len; + + for (ix = 0; ix <= num; ) { + int jx; + ptr = buf; + + ptr += sprintf(ptr, " %2d: ", ix); + + for (jx = 0; jx < 4 && ix <= num; jx++, ix++) + ptr += sprintf(ptr, "0x%08x ", ecc_count->ecc.statis[ix]); + + ptr += sprintf(ptr, "\n"); + + len = ptr - buf; + if (copy_to_user(usrbuf, buf, len)) + return -EFAULT; + usrbuf += len; + ret += len; + count -= len; + } + + return ret; +} +/*****************************************************************************/ + +static ssize_t dbgfs_ecc_count_read(struct file *filp, char __user *buffer, + size_t count, loff_t *ppos) +{ + int len; + char __user *pusrbuf = buffer; + + if (*ppos == 0) { + if (dbg_ecc_count->count + < CONFIG_HINFC610_DBG_ECC_COUNT_NUM) + dbg_ecc_count->read_index = 0; + else + dbg_ecc_count->read_index + = (dbg_ecc_count->index + 1); + + len = count - (pusrbuf - buffer); + len = dbgfs_dump_ecc_dist(dbg_ecc_count, pusrbuf, len); + if (len < 0) + return len; + pusrbuf += len; + + } else if (dbg_ecc_count->read_index == dbg_ecc_count->index) + return 0; + + len = count - (pusrbuf - buffer); + len = dbgfs_dump_ecc(dbg_ecc_count, pusrbuf, len, (*ppos == 0)); + if (len < 0) + return len; + pusrbuf += len; + + *ppos += (pusrbuf - buffer); + + return pusrbuf - buffer; +} +/******************************************************************************/ +/* + * echo "offset=8192,length=102400" > ecc_count + * + */ +static ssize_t dbgfs_ecc_count_write(struct file *filp, + const char __user *buffer, size_t count, + loff_t *ppos) +{ + char *str; + char buf[128] = {0}; + unsigned long value; + unsigned long pos = 0; + + if (count > sizeof(buf)) + count = sizeof(buf); + + if (copy_from_user(buf, buffer, count)) + return -EFAULT; + + while (pos < count) { + while (pos < count && + (buf[pos] == ' ' || buf[pos] == ',' || buf[pos] == ';')) + pos++; + + if (pos >= count) + break; + + switch (buf[pos]) { + + case 'o': + + if (memcmp(&buf[pos], CMD_WORD_OFFSET, + sizeof(CMD_WORD_OFFSET) - 1)) + break; + + pos += sizeof(CMD_WORD_OFFSET) - 1; + str = (char *)(buf + pos); + value = simple_strtoul(str, &str, 10); + + if (value < 0 || value >= dbg_ecc_count->nr_page) + value = 0; + + dbg_ecc_count->offset = (value & ~7); + + break; + + case 'l': + if (memcmp(&buf[pos], CMD_WORD_LENGTH, + sizeof(CMD_WORD_LENGTH) - 1)) + break; + + pos += sizeof(CMD_WORD_LENGTH) - 1; + str = (char *)(buf + pos); + value = simple_strtoul(str, &str, 10); + + if (value < 0) + value = dbg_ecc_count->nr_page; + + value = ((value + 7) & ~7); + + if (dbg_ecc_count->offset + value > + dbg_ecc_count->nr_page) + value = dbg_ecc_count->nr_page + - dbg_ecc_count->offset; + + dbg_ecc_count->length = value; + + break; + } + + while (pos < count && + (buf[pos] != ' ' && buf[pos] != ',' && buf[pos] != ';')) + pos++; + } + + return count; +} +/******************************************************************************/ + +static struct file_operations dbgfs_ecc_count_fops = { + .owner = THIS_MODULE, + .read = dbgfs_ecc_count_read, + .write = dbgfs_ecc_count_write, +}; +/******************************************************************************/ + +static int dbgfs_ecc_count_init(struct dentry *root, struct hinfc_host *host) +{ + unsigned int size; + unsigned int pagesize; + unsigned int chipsize; + struct hinfc610_dbg_ecc_count_t *ecc_count; + + if (dbg_ecc_count) + return 0; + + size = sizeof(struct hinfc610_dbg_ecc_count_t); + size += (CONFIG_HINFC610_DBG_ECC_COUNT_NUM + 1) * + (sizeof(struct hinfc610_dbg_ecc_count_item_t) + + host->ecc.section); + + ecc_count = vmalloc(size); + if (!ecc_count) { + pr_err("Can't allocate memory.\n"); + return -ENOMEM; + } + memset(ecc_count, 0, size); + + ecc_count->item = (char *)ecc_count + + sizeof(struct hinfc610_dbg_ecc_count_t); + ecc_count->ecc.dump = host->ecc.dump; + ecc_count->ecc.section = host->ecc.section; + + pagesize = (host->pagesize >> 10); + chipsize = (unsigned int)(host->chip->chipsize >> 10); + ecc_count->nr_page = (chipsize / pagesize); + ecc_count->length = ecc_count->nr_page; + + ecc_count->dentry = debugfs_create_file("ecc_count", + S_IFREG | S_IRUSR | S_IWUSR, + root, NULL, &dbgfs_ecc_count_fops); + if (!ecc_count->dentry) { + pr_err("Can't create 'ecc_count' file.\n"); + vfree(ecc_count); + return -ENOENT; + } + + dbg_ecc_count = ecc_count; + + return 0; +} +/*****************************************************************************/ + +static int dbgfs_ecc_count_uninit(struct hinfc_host *host) +{ + if (!dbg_ecc_count) + return 0; + + mutex_lock(&dbg_ecc_count_mutex); + + debugfs_remove(dbg_ecc_count->dentry); + + vfree(dbg_ecc_count); + dbg_ecc_count = NULL; + + mutex_unlock(&dbg_ecc_count_mutex); + + return 0; +} +/*****************************************************************************/ + +static void dbg_ecc_log(struct hinfc_host *host, + struct hinfc610_dbg_ecc_count_item_t *item, + struct hinfc610_dbg_ecc_count_t *ecc_count) +{ + int ix; + unsigned int value; + + item->page_status = host->page_status; + ecc_count->ecc.dump(host, item->ecc, NULL); + + for (ix = 0; ix < ecc_count->ecc.section; ix++) { + value = item->ecc[ix]; + + if (value > MAX_ECC_DIST) { + if (!IS_PS_UN_ECC(host)) + printk(KERN_WARNING "ecc out of range.\n"); + + if (IS_PS_BAD_BLOCK(item) || IS_PS_EMPTY_PAGE(item)) + continue; + + ecc_count->ecc.uncorrect++; + } else { + ecc_count->ecc.statis[value]++; + } + } +} +/*****************************************************************************/ + +static void dbg_ecc_count_read(struct hinfc_host *host) +{ + unsigned int page; + struct hinfc610_dbg_ecc_count_item_t *item; + + mutex_lock(&dbg_ecc_count_mutex); + + if (!dbg_ecc_count) + goto exit; + + page = GET_RW_PAGE_INDEX(host); + + if (page < dbg_ecc_count->offset || + page > (dbg_ecc_count->offset + dbg_ecc_count->length)) + goto exit; + + item = GET_ITEM(dbg_ecc_count, dbg_ecc_count->index); + + dbg_ecc_count->count++; + + do_gettime(&item->hour, &item->min, &item->sec, &item->msec); + + item->page = page; + + dbg_ecc_log(host, item, dbg_ecc_count); + + if (++dbg_ecc_count->index >= CONFIG_HINFC610_DBG_ECC_COUNT_NUM) + dbg_ecc_count->index = 0; + +exit: + mutex_unlock(&dbg_ecc_count_mutex); +} +/*****************************************************************************/ + +struct hinfc610_dbg_inf_t hinfc610_dbg_inf_ecc_count = { + "ecc_count", 0, + dbgfs_ecc_count_init, + dbgfs_ecc_count_uninit, + dbg_ecc_count_read, + NULL, + NULL, + NULL, +}; diff --git a/drivers/mtd/nand/hinfc610/hinfc610_dbg_ecc_dump.c b/drivers/mtd/nand/hinfc610/hinfc610_dbg_ecc_dump.c new file mode 100644 index 000000000..ec3d1de88 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_dbg_ecc_dump.c @@ -0,0 +1,126 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-07-06 + * +******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include + +#include "hinfc610_os.h" +#include "hinfc610.h" +#include "hinfc610_dbg.h" + +/*****************************************************************************/ +static void inline hinfc610_detect_ecc(unsigned char ecc[], int begin, + int end, unsigned int reg) +{ + while (begin < end) { + ecc[begin] = (reg & 0xff); + reg = (reg >> 8); + begin++; + } +} +/*****************************************************************************/ + +static void hinfc610_ecc_32k(struct hinfc_host *host, unsigned char ecc[]) +{ + int ix, jx, kx; + for (ix = 0, jx = 0; ix < 4; ix ++, jx += 4) + hinfc610_detect_ecc(ecc, jx, jx + 4, + hinfc_read(host, 0xA0 + jx)); + kx = jx; + for (ix = 0, jx = 0; ix < 4; ix ++, jx += 4) + hinfc610_detect_ecc(ecc, kx, kx + 4, + hinfc_read(host, 0xDC + jx)); +} +/*****************************************************************************/ + +static void hinfc610_ecc_16k(struct hinfc_host *host, unsigned char ecc[]) +{ + int ix, jx; + for (ix = 0, jx = 0; ix < 4; ix ++, jx += 4) + hinfc610_detect_ecc(ecc, jx, jx + 4, + hinfc_read(host, 0xA0 + jx)); +} +/*****************************************************************************/ + +static void hinfc610_ecc_8k(struct hinfc_host *host, unsigned char ecc[]) +{ + int ix, jx; + for (ix = 0, jx = 0; ix < 2; ix ++, jx += 4) + hinfc610_detect_ecc(ecc, jx, jx + 4, + hinfc_read(host, 0xA0 + jx)); +} +/*****************************************************************************/ + +static void hinfc610_ecc_4k(struct hinfc_host *host, unsigned char ecc[]) +{ + hinfc610_detect_ecc(ecc, 0, 4, hinfc_read(host, 0xA0)); +} +/*****************************************************************************/ + +static void hinfc610_ecc_2k(struct hinfc_host *host, unsigned char ecc[]) +{ + hinfc610_detect_ecc(ecc, 0, 2, hinfc_read(host, 0xA0)); +} +/*****************************************************************************/ + +static struct hinfc610_ecc_inf_t hinfc610_ecc_inf[] = { + + {SZ_32K, NAND_ECC_80BIT, 32, hinfc610_ecc_32k}, + {SZ_32K, NAND_ECC_72BIT, 32, hinfc610_ecc_32k}, + {SZ_32K, NAND_ECC_60BIT, 32, hinfc610_ecc_32k}, + {SZ_32K, NAND_ECC_48BIT, 32, hinfc610_ecc_32k}, + {SZ_32K, NAND_ECC_41BIT, 32, hinfc610_ecc_32k}, + + {SZ_16K, NAND_ECC_80BIT, 16, hinfc610_ecc_16k}, + {SZ_16K, NAND_ECC_72BIT, 16, hinfc610_ecc_16k}, + {SZ_16K, NAND_ECC_60BIT, 16, hinfc610_ecc_16k}, + {SZ_16K, NAND_ECC_48BIT, 16, hinfc610_ecc_16k}, + {SZ_16K, NAND_ECC_41BIT, 16, hinfc610_ecc_16k}, + + {SZ_8K, NAND_ECC_80BIT, 8, hinfc610_ecc_8k}, + {SZ_8K, NAND_ECC_72BIT, 8, hinfc610_ecc_8k}, + {SZ_8K, NAND_ECC_60BIT, 8, hinfc610_ecc_8k}, + {SZ_8K, NAND_ECC_48BIT, 8, hinfc610_ecc_8k}, + {SZ_8K, NAND_ECC_41BIT, 8, hinfc610_ecc_8k}, + {SZ_8K, NAND_ECC_32BIT, 8, hinfc610_ecc_8k}, + {SZ_8K, NAND_ECC_27BIT, 8, hinfc610_ecc_8k}, + {SZ_8K, NAND_ECC_24BIT, 8, hinfc610_ecc_8k}, + + {SZ_4K, NAND_ECC_32BIT, 4, hinfc610_ecc_4k}, + {SZ_4K, NAND_ECC_27BIT, 4, hinfc610_ecc_4k}, + {SZ_4K, NAND_ECC_24BIT, 4, hinfc610_ecc_4k}, + {SZ_4K, NAND_ECC_18BIT, 4, hinfc610_ecc_4k}, + {SZ_4K, NAND_ECC_13BIT, 4, hinfc610_ecc_4k}, + {SZ_4K, NAND_ECC_8BIT, 4, hinfc610_ecc_4k}, + + {SZ_2K, NAND_ECC_32BIT, 2, hinfc610_ecc_2k}, + {SZ_2K, NAND_ECC_27BIT, 2, hinfc610_ecc_2k}, + {SZ_2K, NAND_ECC_24BIT, 2, hinfc610_ecc_2k}, + {SZ_2K, NAND_ECC_18BIT, 2, hinfc610_ecc_2k}, + {SZ_2K, NAND_ECC_13BIT, 2, hinfc610_ecc_2k}, + {SZ_2K, NAND_ECC_8BIT, 2, hinfc610_ecc_2k}, + {0, 0, 0}, +}; +/*****************************************************************************/ + +struct hinfc610_ecc_inf_t *hinfc610_get_ecc_inf(struct hinfc_host *host, + int pagesize, int ecctype) +{ + struct hinfc610_ecc_inf_t *inf; + + for (inf = hinfc610_ecc_inf; inf->pagesize; inf++) + if (inf->pagesize == pagesize && inf->ecctype == ecctype) + return inf; + + return NULL; +} diff --git a/drivers/mtd/nand/hinfc610/hinfc610_dbg_erase_count.c b/drivers/mtd/nand/hinfc610/hinfc610_dbg_erase_count.c new file mode 100644 index 000000000..915567486 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_dbg_erase_count.c @@ -0,0 +1,301 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-07-05 + * +******************************************************************************/ + +#include +#include +#include + +#include "hinfc610_os.h" +#include "hinfc610.h" +#include "hinfc610_dbg.h" + +struct hinfc610_dbg_erase_count_t { + + unsigned int index; /* display pos */ + unsigned int offset; /* display offset */ + unsigned int length; /* display length */ + + struct dentry *dentry; + + unsigned int blocknum; + unsigned int page_per_block; + + unsigned int pe[1]; +}; + +static DEFINE_MUTEX(dbg_erase_count_mutex); +static struct hinfc610_dbg_erase_count_t *dbg_erase_count = NULL; + +/*****************************************************************************/ + +static int dbgfs_erase_count_read(struct file *filp, char __user *buffer, + size_t count, loff_t *ppos) +{ + int len = 0; + unsigned int *pe; + unsigned int index; + char buf[128] = {0}; + char __user *pusrbuf = buffer; + + if (*ppos == 0) { + dbg_erase_count->index = dbg_erase_count->offset; + + len = snprintf(buf, sizeof(buf), + "Print parameter: \"offset=%d length=%d\" (offset is block number)\n", + dbg_erase_count->offset, + dbg_erase_count->length); + + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + pusrbuf += len; + + len = snprintf(buf, sizeof(buf), + "Block Index ---------------- " + "Erase count from system startup ----------------\n"); + + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + pusrbuf += len; + } + + for (index = dbg_erase_count->index; + index < (dbg_erase_count->offset + dbg_erase_count->length) && + ((pusrbuf - buffer) < (count - 100)); + index += 8) { + + pe = &dbg_erase_count->pe[index]; + + len = snprintf(buf, sizeof(buf), + "%4d: %8u %8u %8u %8u %8u %8u %8u %8u \n", + index, + pe[0], pe[1], pe[2], pe[3], + pe[4], pe[5], pe[6], pe[7]); + + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + pusrbuf += len; + } + + dbg_erase_count->index = index; + + *ppos += (pusrbuf - buffer); + return (pusrbuf - buffer); +} +/*****************************************************************************/ +/* + * echo "offset=48,length=78" > /sys/kernel/debug/nand/erase_count + * echo "clear" > /sys/kernel/debug/nand/erase_count + * + + # cat ./debugfs/nand/erase_count + Print parameter: "offset=0 length=1024" + Block Index ---------------- Erase count from system startup ---------------- + 0: 0 0 0 0 0 0 0 0 + 8: 0 0 0 0 0 0 0 0 + 16: 0 0 0 0 0 0 0 0 + 24: 0 0 0 0 0 0 0 0 + 32: 0 0 0 0 0 0 0 0 + 40: 0 0 0 0 0 0 0 0 + 48: 0 0 0 0 0 0 0 0 + 56: 0 0 0 0 0 0 0 0 + 64: 0 0 0 0 0 0 0 0 + 72: 0 0 0 0 0 0 0 0 + 80: 0 0 0 0 0 0 0 0 + + */ +static int dbgfs_erase_count_write(struct file *filp, + const char __user *buffer, + size_t count, loff_t *ppos) +{ + char *str; + char buf[128] = {0}; + unsigned long value; + unsigned long pos = 0; + + if (count > sizeof(buf)) + count = sizeof(buf); + + if (copy_from_user(buf, buffer, count)) + return -EFAULT; + + while (pos < count) { + while (pos < count && + (buf[pos] == ' ' || buf[pos] == ',' || buf[pos] == ';')) + pos++; + + if (pos >= count) + break; + + switch (buf[pos]) { + + case 'o': + + if (memcmp(&buf[pos], CMD_WORD_OFFSET, + sizeof(CMD_WORD_OFFSET) - 1)) + break; + + pos += sizeof(CMD_WORD_OFFSET) - 1; + str = (char *)(buf + pos); + value = simple_strtoul(str, &str, 10); + + if (value < 0) + value = 0; + if (value >= dbg_erase_count->blocknum) + value = 0; + + dbg_erase_count->offset = (value & ~7); + + break; + + case 'l': + if (memcmp(&buf[pos], CMD_WORD_LENGTH, + sizeof(CMD_WORD_LENGTH) - 1)) + break; + + pos += sizeof(CMD_WORD_LENGTH) - 1; + str = (char *)(buf + pos); + value = simple_strtoul(str, &str, 10); + + if (value < 0) + value = dbg_erase_count->blocknum; + + value = ((value + 7) & ~7); + + if (dbg_erase_count->offset + value + > dbg_erase_count->blocknum) + value = dbg_erase_count->blocknum + - dbg_erase_count->offset; + + dbg_erase_count->length = value; + + break; + + case 'c': + if (memcmp(&buf[pos], CMD_WORD_CLEAN, + sizeof(CMD_WORD_CLEAN) - 1)) + break; + + memset(dbg_erase_count->pe, 0, + dbg_erase_count->blocknum * + sizeof(struct hinfc610_dbg_erase_count_t)); + + return count; + } + + while (pos < count && + (buf[pos] != ' ' && buf[pos] != ',' && buf[pos] != ';')) + pos++; + } + + return count; +} +/*****************************************************************************/ + +static struct file_operations dbgfs_erase_count_fops = { + .owner = THIS_MODULE, + .read = dbgfs_erase_count_read, + .write = dbgfs_erase_count_write, +}; +/*****************************************************************************/ + +static int dbgfs_erase_count_init(struct dentry *root, struct hinfc_host *host) +{ + unsigned int size; + unsigned int blocknum; + unsigned int pagesize; + unsigned int blocksize; + unsigned int chipsize; + struct hinfc610_dbg_erase_count_t *erase_count; + + if (dbg_erase_count) + return 0; + + pagesize = (host->pagesize >> 10); + blocksize = (host->mtd->erasesize >> 10); + chipsize = (unsigned int)(host->chip->chipsize >> 10); + + blocknum = chipsize / blocksize; + size = sizeof(int) * blocknum + + sizeof(struct hinfc610_dbg_erase_count_t); + + erase_count = vmalloc(size); + if (!erase_count) { + pr_err("Can't allocate memory.\n"); + return -ENOMEM; + } + memset(erase_count, 0, size); + + erase_count->blocknum = blocknum; + erase_count->page_per_block = blocksize / pagesize; + erase_count->length = blocknum; + + erase_count->dentry = debugfs_create_file("erase_count", + S_IFREG | S_IRUSR | S_IWUSR, + root, NULL, &dbgfs_erase_count_fops); + if (!erase_count->dentry) { + pr_err("Can't create 'erase_count' file.\n"); + vfree(erase_count); + return -ENOENT; + } + + dbg_erase_count = erase_count; + + return 0; +} +/*****************************************************************************/ + +static int dbgfs_erase_count_uninit(struct hinfc_host *host) +{ + if (!dbg_erase_count) + return 0; + + mutex_lock(&dbg_erase_count_mutex); + + debugfs_remove(dbg_erase_count->dentry); + + vfree(dbg_erase_count); + dbg_erase_count = NULL; + + mutex_unlock(&dbg_erase_count_mutex); + + return 0; +} +/*****************************************************************************/ + +static void dbg_erase_count_erase(struct hinfc_host *host) +{ + unsigned int block_index; + + mutex_lock(&dbg_erase_count_mutex); + + if (!dbg_erase_count) + goto out; + + block_index = (GET_ERASE_PAGE_INDEX(host) / dbg_erase_count->page_per_block); + + if (block_index > dbg_erase_count->blocknum) { + pr_err("block index out of range.\n"); + goto out; + } + + dbg_erase_count->pe[block_index]++; + +out: + mutex_unlock(&dbg_erase_count_mutex); +} +/*****************************************************************************/ + +struct hinfc610_dbg_inf_t hinfc610_dbg_inf_erase_count = { + "erase_count", 0, + dbgfs_erase_count_init, + dbgfs_erase_count_uninit, + NULL, + NULL, + dbg_erase_count_erase, + NULL, +}; diff --git a/drivers/mtd/nand/hinfc610/hinfc610_dbg_inf.c b/drivers/mtd/nand/hinfc610/hinfc610_dbg_inf.c new file mode 100644 index 000000000..f70281037 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_dbg_inf.c @@ -0,0 +1,69 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-07-04 + * +******************************************************************************/ + +#include +#include + +#include "hinfc610_os.h" +#include "hinfc610.h" +#include "hinfc610_dbg.h" + +extern int hinfc610_dbgfs_debug_init(struct hinfc_host *host); + +#ifdef CONFIG_HINFC610_DBG_NAND_DEBUG +extern struct hinfc610_dbg_inf_t *hinfc610_dbg_inf[]; +#endif + +void hinfc610_dbg_write(struct hinfc_host *host) +{ +#ifdef CONFIG_HINFC610_DBG_NAND_DEBUG + struct hinfc610_dbg_inf_t **inf; + for (inf = hinfc610_dbg_inf; *inf; inf++) + if ((*inf)->enable && (*inf)->write) + (*inf)->write(host); +#endif +} + +void hinfc610_dbg_erase(struct hinfc_host *host) +{ +#ifdef CONFIG_HINFC610_DBG_NAND_DEBUG + struct hinfc610_dbg_inf_t **inf; + for (inf = hinfc610_dbg_inf; *inf; inf++) + if ((*inf)->enable && (*inf)->erase) + (*inf)->erase(host); +#endif +} + +void hinfc610_dbg_read(struct hinfc_host *host) +{ +#ifdef CONFIG_HINFC610_DBG_NAND_DEBUG + struct hinfc610_dbg_inf_t **inf; + for (inf = hinfc610_dbg_inf; *inf; inf++) + if ((*inf)->enable && (*inf)->read) + (*inf)->read(host); +#endif +} + +void hinfc610_dbg_read_retry(struct hinfc_host *host, int index) +{ +#ifdef CONFIG_HINFC610_DBG_NAND_DEBUG + struct hinfc610_dbg_inf_t **inf; + for (inf = hinfc610_dbg_inf; *inf; inf++) + if ((*inf)->enable && (*inf)->read_retry) + (*inf)->read_retry(host, index); +#endif +} + +int hinfc610_dbg_init(struct hinfc_host *host) +{ +#ifdef CONFIG_HINFC610_DBG_NAND_DEBUG + return hinfc610_dbgfs_debug_init(host); +#else + return 0; +#endif +} diff --git a/drivers/mtd/nand/hinfc610/hinfc610_dbg_inf.h b/drivers/mtd/nand/hinfc610/hinfc610_dbg_inf.h new file mode 100644 index 000000000..5682aec28 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_dbg_inf.h @@ -0,0 +1,23 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-07-04 + * +******************************************************************************/ +#ifndef HINFC610_DBG_INFH +#define HINFC610_DBG_INFH +/******************************************************************************/ + +int hinfc610_dbg_init(struct hinfc_host *host); + +void hinfc610_dbg_write(struct hinfc_host *host); + +void hinfc610_dbg_erase(struct hinfc_host *host); + +void hinfc610_dbg_read(struct hinfc_host *host); + +void hinfc610_dbg_read_retry(struct hinfc_host *host, int index); + +/******************************************************************************/ +#endif /* HINFC610_DBG_INFH */ diff --git a/drivers/mtd/nand/hinfc610/hinfc610_dbg_read_count.c b/drivers/mtd/nand/hinfc610/hinfc610_dbg_read_count.c new file mode 100644 index 000000000..873f76132 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_dbg_read_count.c @@ -0,0 +1,233 @@ +/****************************************************************************** + * Copyright (C) 2014 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2014.11.19 + * +******************************************************************************/ + +#include +#include +#include + +#include "hinfc610_os.h" +#include "hinfc610.h" +#include "hinfc610_dbg.h" + +struct hinfc610_dbg_read_count_t { + struct dentry *dbgfs_file; + + unsigned int *pages; + unsigned int max_pages; + unsigned int sz_pages; + char *dbgfs_name; +}; + +extern struct hinfc610_dbg_inf_t hinfc610_dbg_inf_read_count; +static DEFINE_MUTEX(read_mutex); +static struct hinfc610_dbg_read_count_t *dbg_read_count = NULL; +/*****************************************************************************/ + +static int dbgfs_read_count_read(struct file *filp, char __user *usrbuf, + size_t sz_usrbuf, loff_t *ppos) +{ + int size; + int pos; + char *ptr; + char *buf; + unsigned int *pages; + struct hinfc610_dbg_read_count_t *read_count = + (struct hinfc610_dbg_read_count_t *)filp->private_data; + + ptr = buf = vmalloc(sz_usrbuf); + if (!buf) + return -ENOMEM; + + pos = *ppos; + pages = read_count->pages + pos; + + while (sz_usrbuf >= 128 && pos < read_count->max_pages) { + size = snprintf(ptr, sz_usrbuf, + "%5d: %8u %8u %8u %8u %8u %8u %8u %8u\n", + pos, pages[0], pages[1], pages[2], pages[3], + pages[4], pages[5], pages[6], pages[7]); + + ptr += size; + sz_usrbuf -= size; + + pos += 8; + pages += 8; + } + + *ppos = pos; + size = ptr - buf; + + if (copy_to_user(usrbuf, buf, size)) + size = -EFAULT; + + vfree(buf); + + return size; +} +/*****************************************************************************/ + +static int dbgfs_read_count_write(struct file *filp, const char __user *usrbuf, + size_t sz_usrbuf, loff_t *ppos) +{ + char *ptr; + char *buf; + struct hinfc610_dbg_read_count_t *read_count = + (struct hinfc610_dbg_read_count_t *)filp->private_data; + + ptr = buf = vmalloc(sz_usrbuf + 1); + if (!buf) + return -ENOMEM; + + if (copy_from_user(buf, usrbuf, sz_usrbuf)) { + vfree(buf); + return -EFAULT; + } + buf[sz_usrbuf] = '\0'; + + ptr = skip_spaces(ptr); + + if (*ptr == '?') { + printk("echo 'clean' > %s // clean all count\n", + read_count->dbgfs_name); + } else if (!memcmp(ptr, "clean", 5)) { + mutex_lock(&read_mutex); + memset(read_count->pages, 0, read_count->sz_pages); + mutex_unlock(&read_mutex); + } + + vfree(buf); + return sz_usrbuf; +} +/*****************************************************************************/ + +static int dbgfs_read_count_open(struct inode *inode, struct file *file) +{ + file->private_data = inode->i_private; + return 0; +} +/*****************************************************************************/ + +static struct file_operations dbgfs_read_count_fops = { + .owner = THIS_MODULE, + .open = dbgfs_read_count_open, + .read = dbgfs_read_count_read, + .write = dbgfs_read_count_write, +}; +/*****************************************************************************/ + +static int dbgfs_read_count_init(struct dentry *root, struct hinfc_host *host) +{ + int size; + struct hinfc610_dbg_read_count_t *read_count; + + if (dbg_read_count) + return 0; + + size = sizeof(struct hinfc610_dbg_read_count_t); + read_count = vmalloc(size); + if (!read_count) { + pr_err("Can't allocate memory.\n"); + return -ENOMEM; + } + memset(read_count, 0, size); + + read_count->dbgfs_name = (char *)hinfc610_dbg_inf_read_count.name; + + read_count->max_pages = host->page_per_chip; + read_count->sz_pages = read_count->max_pages * sizeof(read_count->pages[0]); + read_count->pages = vmalloc(read_count->sz_pages); + if (!read_count) { + pr_err("Can't allocate memory.\n"); + goto pages_fail; + } + memset(read_count->pages, 0, read_count->sz_pages); + + read_count->dbgfs_file = debugfs_create_file(read_count->dbgfs_name, + S_IFREG | S_IRUSR | S_IWUSR, root, + read_count, &dbgfs_read_count_fops); + if (!read_count->dbgfs_file) { + pr_err("Can't create 'read_count' file.\n"); + goto dbgfs_fail; + } + + dbg_read_count = read_count; + + return 0; + +dbgfs_fail: + vfree(read_count->pages); +pages_fail: + vfree(read_count); + + return -ENOMEM; +} +/*****************************************************************************/ + +static int dbgfs_read_count_uninit(struct hinfc_host *host) +{ + if (!dbg_read_count) + return 0; + + mutex_lock(&read_mutex); + + debugfs_remove(dbg_read_count->dbgfs_file); + + vfree(dbg_read_count->pages); + vfree(dbg_read_count); + + dbg_read_count = NULL; + + mutex_unlock(&read_mutex); + + return 0; +} +/*****************************************************************************/ + +static void dbg_read_count_read(struct hinfc_host *host) +{ + unsigned int pageindex; + + mutex_lock(&read_mutex); + + if (!dbg_read_count) + goto out; + + pageindex = GET_RW_PAGE_INDEX(host); + + if (pageindex >= dbg_read_count->max_pages) { + pr_err("page index out of range.\n"); + goto out; + } + + dbg_read_count->pages[pageindex]++; + +out: + mutex_unlock(&read_mutex); +} +/*****************************************************************************/ + +struct hinfc610_dbg_inf_t hinfc610_dbg_inf_read_count = { + "read_count", 0, + dbgfs_read_count_init, + dbgfs_read_count_uninit, + dbg_read_count_read, + NULL, + NULL, + NULL, +}; diff --git a/drivers/mtd/nand/hinfc610/hinfc610_dbg_read_retry.c b/drivers/mtd/nand/hinfc610/hinfc610_dbg_read_retry.c new file mode 100644 index 000000000..e0d4e30bc --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_dbg_read_retry.c @@ -0,0 +1,367 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-07-05 + * +******************************************************************************/ + +#include +#include +#include + +#include "hinfc610_os.h" +#include "hinfc610.h" +#include "hinfc610_dbg.h" + +#ifndef CONFIG_HINFC610_DBG_READ_RETRY_NUM +# define CONFIG_HINFC610_DBG_READ_RETRY_NUM (100) +#endif /* CONFIG_HINFC610_DBG_READ_RETRY_NUM */ + +struct hinfc610_dbg_read_retry_item_t { + unsigned int page; + + unsigned short hour; + unsigned short min; + unsigned short sec; + unsigned short msec; + + unsigned short retry; /* success retry */ + unsigned short ecc_err; +}; + +struct hinfc610_dbg_read_retry_t { + + struct dentry *dentry; + unsigned int index; /* current logs index */ + int count; /* number of logs */ + + unsigned int offset; + unsigned int length; + unsigned int pagecount; + + unsigned int read_index; + + unsigned int max_retry; /* the max read retry times */ + unsigned int retry[16]; + + struct hinfc610_dbg_read_retry_item_t item[CONFIG_HINFC610_DBG_READ_RETRY_NUM]; +}; + +static DEFINE_MUTEX(dbg_read_retry_mutex); +static struct hinfc610_dbg_read_retry_t *dbg_read_retry = NULL; +/*****************************************************************************/ + +static void do_gettime(unsigned short *hour, unsigned short *min, + unsigned short *sec, unsigned short *msec) +{ + long val; + struct timeval tv; + + do_gettimeofday(&tv); + val = tv.tv_sec % 86400; /* the second form 0 hour */ + + if (hour) + *hour = val / 3600; + val %= 3600; + if (min) + *min = val / 60; + if (sec) + *sec = val % 60; + if (msec) + *msec = tv.tv_usec / 1000; +} +/*****************************************************************************/ + +static ssize_t dbgfs_read_retry_read(struct file *filp, char __user *buffer, + size_t count, loff_t *ppos) +{ + int ix; + char *ptr; + int len = 0; + char buf[128] = {0}; + unsigned int read_index; + char __user *pusrbuf = buffer; + struct hinfc610_dbg_read_retry_item_t *item; + + if (*ppos == 0) { + if (dbg_read_retry->count + < CONFIG_HINFC610_DBG_READ_RETRY_NUM) + dbg_read_retry->read_index = 0; + else + dbg_read_retry->read_index + = (dbg_read_retry->index + 1); + + len = snprintf(buf, sizeof(buf), + "Print parameter: \"offset=%d length=%d\" (offset is page number)\n", + dbg_read_retry->offset, + dbg_read_retry->length); + + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + pusrbuf += len; + + len = snprintf(buf, sizeof(buf), + " UTC Clock page read retry (max: %d)\n", + dbg_read_retry->max_retry); + + ptr = buf; + ptr += sprintf(ptr, "Read retry: "); + for (ix = 1; ix <= dbg_read_retry->max_retry; ix++) + ptr += sprintf(ptr, "%d, ", dbg_read_retry->retry[ix]); + ptr += sprintf(ptr, "\n"); + + len = (ptr - buf); + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + pusrbuf += len; + + + len = snprintf(buf, sizeof(buf), + " UTC Clock page read retry (max: %d)\n", + dbg_read_retry->max_retry); + + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + pusrbuf += len; + + } else if (dbg_read_retry->read_index == dbg_read_retry->index) + return 0; + + for (read_index = dbg_read_retry->read_index; + (read_index != dbg_read_retry->index); ++read_index) { + + if (read_index >= CONFIG_HINFC610_DBG_READ_RETRY_NUM) + read_index = 0; + + item = &dbg_read_retry->item[read_index]; + + if ((count - (pusrbuf - buffer)) < 80) + break; + + len = snprintf(buf, sizeof(buf), + "%02d:%02d:%02d.%04d 0x%08X ", + item->hour, item->min, item->sec, item->msec, + item->page); + + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + pusrbuf += len; + + if (!item->ecc_err) + len = sprintf(buf, "%d\n", item->retry); + else + len = sprintf(buf, "fail\n"); + + if (copy_to_user(pusrbuf, buf, len)) + return -EFAULT; + pusrbuf += len; + } + + dbg_read_retry->read_index = read_index; + + *ppos += (pusrbuf - buffer); + return pusrbuf - buffer; +} +/******************************************************************************/ +/* + * echo "offset=8192,length=102400" > read_retry + * + */ +static ssize_t dbgfs_read_retry_write(struct file *filp, + const char __user *buffer, size_t count, + loff_t *ppos) +{ + char *str; + char buf[128] = {0}; + unsigned long value; + unsigned long pos = 0; + + if (count > sizeof(buf)) + count = sizeof(buf); + + if (copy_from_user(buf, buffer, count)) + return -EFAULT; + + while (pos < count) { + while (pos < count && + (buf[pos] == ' ' || buf[pos] == ',' || buf[pos] == ';')) + pos++; + + if (pos >= count) + break; + + switch (buf[pos]) { + + case 'o': + + if (memcmp(&buf[pos], CMD_WORD_OFFSET, + sizeof(CMD_WORD_OFFSET) - 1)) + break; + + pos += sizeof(CMD_WORD_OFFSET) - 1; + str = (char *)(buf + pos); + value = simple_strtoul(str, &str, 0); + + if (value < 0) + value = 0; + if (value >= dbg_read_retry->pagecount) + value = 0; + + dbg_read_retry->offset = (value & ~7); + + break; + + case 'l': + if (memcmp(&buf[pos], CMD_WORD_LENGTH, + sizeof(CMD_WORD_LENGTH) - 1)) + break; + + pos += sizeof(CMD_WORD_LENGTH) - 1; + str = (char *)(buf + pos); + value = simple_strtoul(str, &str, 0); + + if (value < 0) + value = dbg_read_retry->pagecount; + + value = ((value + 7) & ~7); + + if (dbg_read_retry->offset + value > + dbg_read_retry->pagecount) + value = dbg_read_retry->pagecount + - dbg_read_retry->offset; + + dbg_read_retry->length = value; + + break; + } + + while (pos < count && + (buf[pos] != ' ' && buf[pos] != ',' && buf[pos] != ';')) + pos++; + } + + return count; +} +/******************************************************************************/ + +static struct file_operations dbgfs_read_retry_fops = { + .owner = THIS_MODULE, + .read = dbgfs_read_retry_read, + .write = dbgfs_read_retry_write, +}; +/*****************************************************************************/ + +static int dbgfs_read_retry_init(struct dentry *root, struct hinfc_host *host) +{ + unsigned int pagesize; + unsigned int chipsize; + struct hinfc610_dbg_read_retry_t *read_retry; + + if (dbg_read_retry) + return 0; + + if (!host->read_retry) { + pr_err("The NAND not support this interface.\n"); + return -1; + } + + read_retry = vmalloc(sizeof(struct hinfc610_dbg_read_retry_t)); + if (!read_retry) { + pr_err("Can't allocate memory.\n"); + return -ENOMEM; + } + memset(read_retry, 0, sizeof(struct hinfc610_dbg_read_retry_t)); + + pagesize = (host->pagesize >> 10); + chipsize = (unsigned int)(host->chip->chipsize >> 10); + read_retry->pagecount = (chipsize / pagesize); + read_retry->length = read_retry->pagecount; + read_retry->max_retry = host->read_retry->count; + + if (read_retry->max_retry > 16) { + vfree(read_retry); + pr_err("Bug, max_retry too small.\n"); + return -EFAULT; + } + + read_retry->dentry = debugfs_create_file("read_retry", + S_IFREG | S_IRUSR | S_IWUSR, + root, NULL, &dbgfs_read_retry_fops); + if (!read_retry->dentry) { + pr_err("Can't create 'read_retry' file.\n"); + vfree(read_retry); + return -ENOENT; + } + + dbg_read_retry = read_retry; + + return 0; +} +/*****************************************************************************/ + +static int dbgfs_read_retry_uninit(struct hinfc_host *host) +{ + if (!dbg_read_retry) + return 0; + + mutex_lock(&dbg_read_retry_mutex); + + debugfs_remove(dbg_read_retry->dentry); + + vfree(dbg_read_retry); + dbg_read_retry = NULL; + + mutex_unlock(&dbg_read_retry_mutex); + + return 0; +} +/*****************************************************************************/ + +static void hinfc610_dbg_read_retry_rr(struct hinfc_host *host, int index) +{ + unsigned int page; + struct hinfc610_dbg_read_retry_item_t *item; + + mutex_lock(&dbg_read_retry_mutex); + + if (!dbg_read_retry) + goto exit; + + page = GET_RW_PAGE_INDEX(host); + + if (page < dbg_read_retry->offset || + page > (dbg_read_retry->offset + dbg_read_retry->length)) + goto exit; + + item = &dbg_read_retry->item[dbg_read_retry->index]; + + dbg_read_retry->count++; + + do_gettime(&item->hour, &item->min, &item->sec, &item->msec); + + item->page = page; + item->retry = index; + + item->ecc_err = IS_PS_UN_ECC(host) ? 1 : 0; + if (!item->ecc_err) + dbg_read_retry->retry[index]++; + + if (++dbg_read_retry->index >= CONFIG_HINFC610_DBG_READ_RETRY_NUM) + dbg_read_retry->index = 0; + +exit: + mutex_unlock(&dbg_read_retry_mutex); +} +/*****************************************************************************/ + +struct hinfc610_dbg_inf_t hinfc610_dbg_inf_read_retry = { + "read_retry", 0, + dbgfs_read_retry_init, + dbgfs_read_retry_uninit, + NULL, + NULL, + NULL, + hinfc610_dbg_read_retry_rr, +}; +/*****************************************************************************/ diff --git a/drivers/mtd/nand/hinfc610/hinfc610_ecc_info.c b/drivers/mtd/nand/hinfc610/hinfc610_ecc_info.c new file mode 100644 index 000000000..b298077e1 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_ecc_info.c @@ -0,0 +1,378 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-07-05 + * +******************************************************************************/ + +#include "hinfc610_os.h" +#include "hinfc610.h" +#include "hinfc610_gen.h" +#include "hinfc610_ecc_info.h" + +/*****************************************************************************/ +/* + * 'host->epm' only use the first oobfree[0] field, it looks very simple, But... + */ +static struct nand_ecclayout nand_ecc_default = +{ + .oobfree = {{2, 30}} +}; +/*****************************************************************************/ + +static struct nand_ecclayout nand_ecc_2k_13bit = +{ + .oobfree = {{2, 14}} +}; +/*****************************************************************************/ + +static struct nand_ctrl_info_t hinfc610_soft_auto_config_table[] = +{ + {SZ_32K, NAND_ECC_80BIT, 4544/*4544*/, &nand_ecc_default}, + {SZ_32K, NAND_ECC_72BIT, 4096/*4096*/, &nand_ecc_default}, + {SZ_32K, NAND_ECC_60BIT, 3520/*3520*/, &nand_ecc_default}, + {SZ_32K, NAND_ECC_48BIT, 2752/*2752*/, &nand_ecc_default}, + {SZ_32K, NAND_ECC_41BIT, 2368/*2368*/, &nand_ecc_default}, + {SZ_32K, NAND_ECC_NONE, 32 , &nand_ecc_default}, + + {SZ_16K, NAND_ECC_80BIT, 1376/*1376*/, &nand_ecc_default}, + {SZ_16K, NAND_ECC_72BIT, 1376/*1376*/, &nand_ecc_default}, + {SZ_16K, NAND_ECC_60BIT, 1760/*1760*/, &nand_ecc_default}, + {SZ_16K, NAND_ECC_48BIT, 1376/*1376*/, &nand_ecc_default}, + {SZ_16K, NAND_ECC_41BIT, 1184/*1184*/, &nand_ecc_default}, + {SZ_16K, NAND_ECC_NONE, 32 , &nand_ecc_default}, + + {SZ_8K, NAND_ECC_80BIT, 1152/*1152*/, &nand_ecc_default}, + {SZ_8K, NAND_ECC_72BIT, 1040/*1040*/, &nand_ecc_default}, + {SZ_8K, NAND_ECC_60BIT, 896 /*896*/, &nand_ecc_default}, + {SZ_8K, NAND_ECC_48BIT, 704 /*704*/, &nand_ecc_default}, + {SZ_8K, NAND_ECC_41BIT, 608 /*608*/, &nand_ecc_default}, + {SZ_8K, NAND_ECC_32BIT, 480 /*480*/, &nand_ecc_default}, + {SZ_8K, NAND_ECC_27BIT, 416 /*416*/, &nand_ecc_default}, + {SZ_8K, NAND_ECC_24BIT, 368 /*368*/, &nand_ecc_default}, + {SZ_8K, NAND_ECC_NONE, 32, &nand_ecc_default}, + + {SZ_4K, NAND_ECC_32BIT, 256 /*256*/, &nand_ecc_default}, + {SZ_4K, NAND_ECC_27BIT, 224 /*224*/, &nand_ecc_default}, + {SZ_4K, NAND_ECC_24BIT, 200 /*200*/, &nand_ecc_default}, + {SZ_4K, NAND_ECC_18BIT, 160 /*160*/, &nand_ecc_default}, + +#ifndef CONFIG_SUPPORT_YAFFS + {SZ_4K, NAND_ECC_13BIT, 112 /*112*/, &nand_ecc_2k_13bit}, +#endif + {SZ_4K, NAND_ECC_8BIT, 88 /*88*/, &nand_ecc_default}, + {SZ_4K, NAND_ECC_NONE, 32, &nand_ecc_default}, +#ifndef CONFIG_SUPPORT_YAFFS + {SZ_2K, NAND_ECC_32BIT, 128 /*128*/, &nand_ecc_2k_13bit}, +#endif + {SZ_2K, NAND_ECC_27BIT, 128 /*128*/, &nand_ecc_default}, + {SZ_2K, NAND_ECC_24BIT, 116 /*116*/, &nand_ecc_default}, + {SZ_2K, NAND_ECC_18BIT, 96 /*96*/, &nand_ecc_default}, +#ifndef CONFIG_SUPPORT_YAFFS + {SZ_2K, NAND_ECC_13BIT, 64 /*64*/, &nand_ecc_2k_13bit}, +#endif + {SZ_2K, NAND_ECC_8BIT, 60 /*60*/, &nand_ecc_default}, + {SZ_2K, NAND_ECC_NONE, 32, &nand_ecc_default}, + + {0,0,0,NULL}, + +}; + +static struct nand_ctrl_info_t hinfc620_soft_auto_config_table[] = +{ + {SZ_16K, NAND_ECC_64BIT, 1824/*1824*/, &nand_ecc_default}, + {SZ_16K, NAND_ECC_42BIT, 1216/*1216*/, &nand_ecc_default}, + {SZ_16K, NAND_ECC_40BIT, 1152/*1152*/, &nand_ecc_default}, + {SZ_16K, NAND_ECC_NONE, 32 , &nand_ecc_default}, + + {SZ_8K, NAND_ECC_64BIT, 928 /*928*/, &nand_ecc_default}, + {SZ_8K, NAND_ECC_42BIT, 624 /*624*/, &nand_ecc_default}, + {SZ_8K, NAND_ECC_40BIT, 592 /*592*/, &nand_ecc_default}, + {SZ_8K, NAND_ECC_28BIT, 432 /*432*/, &nand_ecc_default}, + {SZ_8K, NAND_ECC_24BIT, 368 /*368*/, &nand_ecc_default}, + {SZ_8K, NAND_ECC_NONE, 32, &nand_ecc_default}, + + {SZ_4K, NAND_ECC_28BIT, 232 /*232*/, &nand_ecc_default}, + {SZ_4K, NAND_ECC_24BIT, 200 /*200*/, &nand_ecc_default}, + {SZ_4K, NAND_ECC_16BIT, 128 /*128*/, &nand_ecc_default}, + {SZ_4K, NAND_ECC_8BIT, 88 /*88*/, &nand_ecc_default}, + {SZ_4K, NAND_ECC_NONE, 32, &nand_ecc_default}, + + {SZ_2K, NAND_ECC_28BIT, 132 /*132*/, &nand_ecc_default}, + {SZ_2K, NAND_ECC_24BIT, 116 /*116*/, &nand_ecc_default}, + {SZ_2K, NAND_ECC_16BIT, 64 /*64*/, &nand_ecc_default}, + {SZ_2K, NAND_ECC_8BIT, 60 /*60*/, &nand_ecc_default}, + {SZ_2K, NAND_ECC_NONE, 32, &nand_ecc_default}, + + {0,0,0,NULL}, +}; + +/*****************************************************************************/ +/* used the best correct arithmetic. */ +struct nand_ctrl_info_t *hinfc610_get_best_ecc(struct mtd_info *mtd) +{ + struct nand_ctrl_info_t *best = NULL; + struct nand_ctrl_info_t *config = hinfc610_soft_auto_config_table; + + for (; config->layout; config++) { + if (config->pagesize != mtd->writesize) + continue; + + if (mtd->oobsize < config->oobsize) + continue; + + if (!best || (best->ecctype < config->ecctype)) + best = config; + } + + if (!best) + hinfc_pr_bug(ERSTR_DRIVER "Driver does not support the pagesize(%d) and oobsize(%d).\n", + mtd->writesize, mtd->oobsize); + + return best; +} +/*****************************************************************************/ +/* force the pagesize and ecctype */ +struct nand_ctrl_info_t *hinfc610_force_ecc(struct mtd_info *mtd, int pagesize, + int ecctype, char *cfgmsg, + int allow_pagediv) +{ + struct nand_chip *chip = mtd->priv; + struct hinfc_host *host = chip->priv; + struct nand_ctrl_info_t *fit = NULL; + struct nand_ctrl_info_t *config = NULL; + + if (host->version == HINFC_VER_610) + config = hinfc610_soft_auto_config_table; + else if (host->version == HINFC_VER_620) + config = hinfc620_soft_auto_config_table; + + for (; config->layout; config++) { + if (config->pagesize == pagesize + && config->ecctype == ecctype) { + fit = config; + break; + } + } + + if (!fit) { + hinfc_pr_bug(ERSTR_DRIVER "Driver(%s mode) does not support this Nand Flash pagesize:%d, ecctype:%s\n", + cfgmsg, pagesize, nand_ecc_name(ecctype)); + return NULL; + } + + if ((pagesize != mtd->writesize) + && (pagesize > mtd->writesize || !allow_pagediv)) { + hinfc_pr_bug(ERSTR_HARDWARE "Hardware (%s mode) configure pagesize %d, but the Nand Flash pageszie is %d\n", + cfgmsg, pagesize, mtd->writesize); + return NULL; + } + + if (fit->oobsize > mtd->oobsize) { + hinfc_pr_bug(ERSTR_HARDWARE "(%s mode) The Nand Flash offer space area is %d bytes, but the controller request %d bytes in ecc %s. " + "Please make sure the hardware ECC configuration is correct.", + cfgmsg, mtd->oobsize, fit->oobsize, + nand_ecc_name(ecctype)); + return NULL; + } + + return fit; +} +/*****************************************************************************/ + +static void hinfc610_read_bitsflaps_reg(unsigned char ecc[], int begin, int end, + unsigned int reg) +{ + while (begin < end) { + ecc[begin] = (reg & 0xff); + reg = (reg >> 8); + begin++; + } +} +/*****************************************************************************/ + +static int hinfc610_max_bitsflags(unsigned char *ecc, int section) +{ + int num = 0; + + while (section-- > 0) { + if (ecc[section] > num) + num = ecc[section]; + } + + return num; +} +/*****************************************************************************/ + +static void hinfc610_read_bitsflags_32k(void *host, + unsigned char *bitsflap, + int *max_bitsflags) +{ + int ix, jx, kx; + unsigned char __bitsflap[32]; + struct hinfc_host *hinfc_host = (struct hinfc_host *)host; + + for (ix = 0, jx = 0; ix < 4; ix ++, jx += 4) + hinfc610_read_bitsflaps_reg(__bitsflap, jx, jx + 4, + hinfc_read(hinfc_host, 0xA0 + jx)); + kx = jx; + for (ix = 0, jx = 0; ix < 4; ix ++, jx += 4) + hinfc610_read_bitsflaps_reg(__bitsflap, kx, kx + 4, + hinfc_read(hinfc_host, 0xDC + jx)); + + if (max_bitsflags) + *max_bitsflags = hinfc610_max_bitsflags(__bitsflap, 32); + if (bitsflap) + memcpy(bitsflap, __bitsflap, sizeof(__bitsflap)); + + hinfc_host->ecc.bbm_bitsflap = __bitsflap[31]; +} +/*****************************************************************************/ + +static void hinfc610_read_bitsflap_16k(void *host, + unsigned char *bitsflap, + int *max_bitsflags) +{ + int ix, jx; + unsigned char __bitsflap[16] = {0}; + struct hinfc_host *hinfc_host = (struct hinfc_host *)host; + + for (ix = 0, jx = 0; ix < 4; ix ++, jx += 4) + hinfc610_read_bitsflaps_reg(__bitsflap, jx, jx + 4, + hinfc_read(hinfc_host, 0xA0 + jx)); + + if (max_bitsflags) + *max_bitsflags = hinfc610_max_bitsflags(__bitsflap, 16); + if (bitsflap) + memcpy(bitsflap, __bitsflap, sizeof(__bitsflap)); + + hinfc_host->ecc.bbm_bitsflap = __bitsflap[15]; +} +/*****************************************************************************/ + +static void hinfc610_read_bitsflap_8k(void *host, + unsigned char *bitsflap, + int *max_bitsflags) +{ + int ix, jx; + unsigned char __bitsflap[8] = {0}; + struct hinfc_host *hinfc_host = (struct hinfc_host *)host; + + for (ix = 0, jx = 0; ix < 2; ix ++, jx += 4) + hinfc610_read_bitsflaps_reg(__bitsflap, jx, jx + 4, + hinfc_read(hinfc_host, 0xA0 + jx)); + + if (max_bitsflags) + *max_bitsflags = hinfc610_max_bitsflags(__bitsflap, 8); + if (bitsflap) + memcpy(bitsflap, __bitsflap, sizeof(__bitsflap)); + + hinfc_host->ecc.bbm_bitsflap = __bitsflap[7]; +} +/*****************************************************************************/ + +static void hinfc610_read_bitsflap_4k(void *host, + unsigned char *bitsflap, + int *max_bitsflags) +{ + unsigned char __bitsflap[4] = {0}; + struct hinfc_host *hinfc_host = (struct hinfc_host *)host; + + hinfc610_read_bitsflaps_reg(__bitsflap, 0, 4, hinfc_read(hinfc_host, 0xA0)); + + if (max_bitsflags) + *max_bitsflags = hinfc610_max_bitsflags(__bitsflap, 4); + if (bitsflap) + memcpy(bitsflap, __bitsflap, sizeof(__bitsflap)); + + hinfc_host->ecc.bbm_bitsflap = __bitsflap[3]; +} +/*****************************************************************************/ + +static void hinfc610_read_bitsflap_2k(void *host, + unsigned char *bitsflap, + int *max_bitsflags) +{ + unsigned char __bitsflap[2] = {0}; + struct hinfc_host *hinfc_host = (struct hinfc_host *)host; + + hinfc610_read_bitsflaps_reg(__bitsflap, 0, 2, hinfc_read(hinfc_host, 0xA0)); + + if (max_bitsflags) + *max_bitsflags = hinfc610_max_bitsflags(__bitsflap, 2); + if (bitsflap) + memcpy(bitsflap, __bitsflap, sizeof(__bitsflap)); + + hinfc_host->ecc.bbm_bitsflap = __bitsflap[1]; +} +/*****************************************************************************/ + +static struct ecc_info_t hinfc610_ecc_info[] = { + /* pagesize ecctype threshold section dump */ + {32768, NAND_ECC_80BIT, 70, 32, hinfc610_read_bitsflags_32k}, + {32768, NAND_ECC_72BIT, 63, 32, hinfc610_read_bitsflags_32k}, + {32768, NAND_ECC_60BIT, 54, 32, hinfc610_read_bitsflags_32k}, + {32768, NAND_ECC_48BIT, 40, 32, hinfc610_read_bitsflags_32k}, + {32768, NAND_ECC_42BIT, 36, 32, hinfc610_read_bitsflags_32k}, + {32768, NAND_ECC_41BIT, 35, 32, hinfc610_read_bitsflags_32k}, + {32768, NAND_ECC_40BIT, 34, 32, hinfc610_read_bitsflags_32k}, + + {16384, NAND_ECC_80BIT, 70, 16, hinfc610_read_bitsflap_16k}, + {16384, NAND_ECC_72BIT, 63, 16, hinfc610_read_bitsflap_16k}, + {16384, NAND_ECC_60BIT, 54, 16, hinfc610_read_bitsflap_16k}, + {16384, NAND_ECC_48BIT, 40, 16, hinfc610_read_bitsflap_16k}, + {16384, NAND_ECC_42BIT, 36, 16, hinfc610_read_bitsflap_16k}, + {16384, NAND_ECC_41BIT, 35, 16, hinfc610_read_bitsflap_16k}, + {16384, NAND_ECC_40BIT, 34, 16, hinfc610_read_bitsflap_16k}, + + {8192, NAND_ECC_80BIT, 70, 8, hinfc610_read_bitsflap_8k}, + {8192, NAND_ECC_72BIT, 63, 8, hinfc610_read_bitsflap_8k}, + {8192, NAND_ECC_60BIT, 54, 8, hinfc610_read_bitsflap_8k}, + {8192, NAND_ECC_48BIT, 40, 8, hinfc610_read_bitsflap_8k}, + {8192, NAND_ECC_42BIT, 36, 8, hinfc610_read_bitsflap_8k}, + {8192, NAND_ECC_41BIT, 35, 8, hinfc610_read_bitsflap_8k}, + {8192, NAND_ECC_40BIT, 34, 8, hinfc610_read_bitsflap_8k}, + {8192, NAND_ECC_32BIT, 24, 8, hinfc610_read_bitsflap_8k}, + {8192, NAND_ECC_28BIT, 25, 8, hinfc610_read_bitsflap_8k}, + {8192, NAND_ECC_27BIT, 24, 8, hinfc610_read_bitsflap_8k}, + {8192, NAND_ECC_24BIT, 21, 8, hinfc610_read_bitsflap_8k}, + + {4096, NAND_ECC_32BIT, 24, 4, hinfc610_read_bitsflap_4k}, + {4096, NAND_ECC_28BIT, 25, 4, hinfc610_read_bitsflap_4k}, + {4096, NAND_ECC_27BIT, 24, 4, hinfc610_read_bitsflap_4k}, + {4096, NAND_ECC_24BIT, 21, 4, hinfc610_read_bitsflap_4k}, + {4096, NAND_ECC_18BIT, 15, 4, hinfc610_read_bitsflap_4k}, + {4096, NAND_ECC_16BIT, 13, 4, hinfc610_read_bitsflap_4k}, + {4096, NAND_ECC_13BIT, 11, 4, hinfc610_read_bitsflap_4k}, + {4096, NAND_ECC_8BIT, 7, 4, hinfc610_read_bitsflap_4k}, + + {2048, NAND_ECC_32BIT, 24, 2, hinfc610_read_bitsflap_2k}, + {2048, NAND_ECC_28BIT, 25, 2, hinfc610_read_bitsflap_2k}, + {2048, NAND_ECC_27BIT, 24, 2, hinfc610_read_bitsflap_2k}, + {2048, NAND_ECC_24BIT, 21, 2, hinfc610_read_bitsflap_2k}, + {2048, NAND_ECC_18BIT, 15, 2, hinfc610_read_bitsflap_2k}, + {2048, NAND_ECC_16BIT, 13, 2, hinfc610_read_bitsflap_2k}, + {2048, NAND_ECC_13BIT, 11, 2, hinfc610_read_bitsflap_2k}, + {2048, NAND_ECC_8BIT, 7, 2, hinfc610_read_bitsflap_2k}, + {0, 0, 0}, +}; +/******************************************************************************/ + +int hinfc610_ecc_info_init(struct hinfc_host *host) +{ + struct ecc_info_t *info = hinfc610_ecc_info; + + for (; info->ecctype; info++) + if (info->ecctype == host->ecctype && + info->pagesize == host->pagesize) + goto found; + return -1; + +found: + host->ecc.threshold = info->threshold; + host->ecc.section = info->section; + host->ecc.dump = info->dump; + + return 0; +} diff --git a/drivers/mtd/nand/hinfc610/hinfc610_ecc_info.h b/drivers/mtd/nand/hinfc610/hinfc610_ecc_info.h new file mode 100644 index 000000000..987461b1b --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_ecc_info.h @@ -0,0 +1,29 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-07-05 + * +******************************************************************************/ + +#ifndef HINFC610_ECC_INFOH +#define HINFC610_ECC_INFOH + +/* + * oob area for user, this MACRO used by cache. + * include all mark in oob area. + */ +#define HINFC610_OOB_OFFSET 0 +#define HINFC610_BB_OFFSET 0 +#define HINFC610_EPM_OFFSET 28 +#define HINFC610_OOB_SIZE 32 + +int hinfc610_ecc_info_init(struct hinfc_host *host); + +struct nand_ctrl_info_t *hinfc610_get_best_ecc(struct mtd_info *mtd); + +struct nand_ctrl_info_t *hinfc610_force_ecc(struct mtd_info *mtd, int pagesize, + int ecctype, char *cfgmsg, + int allow_pagediv); + +#endif /* HINFC610_ECC_INFOH */ diff --git a/drivers/mtd/nand/hinfc610/hinfc610_gen.c b/drivers/mtd/nand/hinfc610/hinfc610_gen.c new file mode 100644 index 000000000..36f57e697 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_gen.c @@ -0,0 +1,80 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-08-15 + * +******************************************************************************/ + +#include +#include "hinfc610_gen.h" + +/*****************************************************************************/ + +static struct match_t hinfc610_pagesize[] = { + MATCH_SET_TYPE_REG(SZ_2K, hinfc610_pagesize_2K), + MATCH_SET_TYPE_REG(SZ_4K, hinfc610_pagesize_4K), + MATCH_SET_TYPE_REG(SZ_8K, hinfc610_pagesize_8K), + MATCH_SET_TYPE_REG(SZ_16K, hinfc610_pagesize_16K), + MATCH_SET_TYPE_REG(SZ_32K, hinfc610_pagesize_32K), +}; + +int hinfc610_get_pagesize(struct hinfc_host *host) +{ + int regval = host->NFC_CON >> HINFC610_CON_PAGEISZE_SHIFT; + regval &= HINFC610_CON_PAGESIZE_MASK; + + return match_reg_to_type(hinfc610_pagesize, + ARRAY_SIZE(hinfc610_pagesize), regval, SZ_2K); +} + +void hinfc610_set_pagesize(struct hinfc_host *host, int pagesize) +{ + int mask = ~(HINFC610_CON_PAGESIZE_MASK << HINFC610_CON_PAGEISZE_SHIFT); + int regval = match_type_to_reg(hinfc610_pagesize, + ARRAY_SIZE(hinfc610_pagesize), pagesize, hinfc610_pagesize_2K); + + regval = (regval & HINFC610_CON_PAGESIZE_MASK) << HINFC610_CON_PAGEISZE_SHIFT; + + host->NFC_CON &= mask; + host->NFC_CON |= regval; + + host->NFC_CON_ECC_NONE &= mask; + host->NFC_CON_ECC_NONE |= regval; +} +/*****************************************************************************/ + +static struct match_t hinfc610_ecc[] = { + MATCH_SET_TYPE_REG(NAND_ECC_NONE, hinfc610_ecc_none), + MATCH_SET_TYPE_REG(NAND_ECC_8BIT, hinfc610_ecc_8bit), + MATCH_SET_TYPE_REG(NAND_ECC_13BIT, hinfc610_ecc_13bit), + MATCH_SET_TYPE_REG(NAND_ECC_18BIT, hinfc610_ecc_18bit), + MATCH_SET_TYPE_REG(NAND_ECC_24BIT, hinfc610_ecc_24bit), + MATCH_SET_TYPE_REG(NAND_ECC_27BIT, hinfc610_ecc_27bit), + MATCH_SET_TYPE_REG(NAND_ECC_32BIT, hinfc610_ecc_32bit), + MATCH_SET_TYPE_REG(NAND_ECC_41BIT, hinfc610_ecc_41bit), + MATCH_SET_TYPE_REG(NAND_ECC_48BIT, hinfc610_ecc_48bit), + MATCH_SET_TYPE_REG(NAND_ECC_60BIT, hinfc610_ecc_60bit), + MATCH_SET_TYPE_REG(NAND_ECC_72BIT, hinfc610_ecc_72bit), + MATCH_SET_TYPE_REG(NAND_ECC_80BIT, hinfc610_ecc_80bit), +}; + +int hinfc610_get_ecctype(struct hinfc_host *host) +{ + int regval = host->NFC_CON >> HINFC610_CON_ECCTYPE_SHIFT; + + regval &= HINFC610_CON_ECCTYPE_MASK; + + return match_reg_to_type(hinfc610_ecc, ARRAY_SIZE(hinfc610_ecc), + regval, NAND_ECC_8BIT); +} + +void hinfc610_set_ecctype(struct hinfc_host *host, int ecctype) +{ + int regval = match_type_to_reg(hinfc610_ecc, ARRAY_SIZE(hinfc610_ecc), + ecctype, hinfc610_ecc_8bit); + + host->NFC_CON &= ~(HINFC610_CON_ECCTYPE_MASK << HINFC610_CON_ECCTYPE_SHIFT); + + host->NFC_CON |= (regval & HINFC610_CON_ECCTYPE_MASK) << HINFC610_CON_ECCTYPE_SHIFT; +} diff --git a/drivers/mtd/nand/hinfc610/hinfc610_gen.h b/drivers/mtd/nand/hinfc610/hinfc610_gen.h new file mode 100644 index 000000000..0dd905605 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_gen.h @@ -0,0 +1,47 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-08-15 + * +******************************************************************************/ +#ifndef HINFC610_GENH +#define HINFC610_GENH +/******************************************************************************/ + +#include +#include "hinfc610.h" + +enum hinfc610_ecc_reg { + hinfc610_ecc_none = 0x00, + hinfc610_ecc_8bit = 0x01, + hinfc610_ecc_13bit = 0x02, + hinfc610_ecc_18bit = 0x03, + hinfc610_ecc_24bit = 0x04, + hinfc610_ecc_27bit = 0x05, + hinfc610_ecc_32bit = 0x06, + hinfc610_ecc_41bit = 0x07, + hinfc610_ecc_48bit = 0x08, + hinfc610_ecc_60bit = 0x09, + hinfc610_ecc_72bit = 0x0a, + hinfc610_ecc_80bit = 0x0b, +}; + +enum hinfc610_page_reg { + hinfc610_pagesize_2K = 0x01, + hinfc610_pagesize_4K = 0x02, + hinfc610_pagesize_8K = 0x03, + hinfc610_pagesize_16K = 0x04, + hinfc610_pagesize_32K = 0x05, +}; + +int hinfc610_get_pagesize(struct hinfc_host *host); + +void hinfc610_set_pagesize(struct hinfc_host *host, int pagesize); + +int hinfc610_get_ecctype(struct hinfc_host *host); + +void hinfc610_set_ecctype(struct hinfc_host *host, int ecctype); + +/******************************************************************************/ +#endif /* HINFC610_GENH */ diff --git a/drivers/mtd/nand/hinfc610/hinfc610_hi3716mv310.c b/drivers/mtd/nand/hinfc610/hinfc610_hi3716mv310.c new file mode 100644 index 000000000..91659871e --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_hi3716mv310.c @@ -0,0 +1,17 @@ +/****************************************************************************** +* NAND Flash Controller V504 Device Driver +* Copyright (c) 2009-2010 by Hisilicon. +* All rights reserved. +* *** +* +******************************************************************************/ +#include +#include + +#include "hinfc610.h" +#include "hinfc610_os.h" + +static void hinfc610_sync_clock(struct hinfc_host *host, unsigned int enable) +{ + return; +} diff --git a/drivers/mtd/nand/hinfc610/hinfc610_hifone.c b/drivers/mtd/nand/hinfc610/hinfc610_hifone.c new file mode 100644 index 000000000..f0a5afd0d --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_hifone.c @@ -0,0 +1,56 @@ +/****************************************************************************** +* NAND Flash Controller V504 Device Driver +* Copyright (c) 2009-2010 by Hisilicon. +* All rights reserved. +* *** +* +******************************************************************************/ +#include +#include + +#include "hinfc610.h" +#include "hinfc610_os.h" + + +#define HIFONE_HINFC610_PERI_CRG_REG_BASE __io_address(REG_BASE_CRG) +#define HIFONE_PERI_CRG24 (HIFONE_HINFC610_PERI_CRG_REG_BASE + 0x60) + +#define HIFONE_PERI_CRG24_CLK_EN (0x1U << 0) + +#define HIFONE_PERI_CRG24_CLK_SEL_MASK (0x3U << 8) +#define HIFONE_PERI_CRG24_CLK_SEL_24M (0x0U << 8) +#define HIFONE_PERI_CRG24_CLK_SEL_200M (0x1U << 8) +#define HIFONE_PERI_CRG24_CLK_SEL_150M (0x2U << 8) +#define HIFONE_PERI_CRG24_CLK_SEL_100M (0x3U << 8) + +#define HIFONE_PERI_CRG24_NF_SRST_REQ (0x1U << 4) + + +/*****************************************************************************/ + +static void hinfc610_sync_clock(struct hinfc_host *host, unsigned int enable) +{ + unsigned int regval; + + hinfc_write(host, HINFC610_SYNC_ONFI_T_CAD + | HINFC610_SYNC_ONFI_T_DQZ + | HINFC610_SYNC_TOGGLE_PRE_RDQS + | HINFC610_SYNC_TOGGLE_POST_RDQS + | HINFC610_SYNC_TOGGLE_PRE_WDQS + | HINFC610_SYNC_TOGGLE_POST_WDQS + | HINFC610_SYNC_TOGGLE_RW_PSTH, + HINFC610_SYNC_TIMING); + + /* + * toggle1.0 nandc clock must be lower than 150M, otherwise + * read/write will fail. + * here configure to 100M for safety. + */ + regval = readl(HIFONE_PERI_CRG24); + + regval &= ~HIFONE_PERI_CRG24_CLK_SEL_MASK; + regval |= enable ? HIFONE_PERI_CRG24_CLK_SEL_100M + : HIFONE_PERI_CRG24_CLK_SEL_200M; + + writel(regval, HIFONE_PERI_CRG24); +} diff --git a/drivers/mtd/nand/hinfc610/hinfc610_os.c b/drivers/mtd/nand/hinfc610/hinfc610_os.c new file mode 100644 index 000000000..47ca4c1c4 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_os.c @@ -0,0 +1,324 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-02-07 + * +******************************************************************************/ + +#define DRVNAME "hinand" +#define pr_fmt(fmt) DRVNAME ": " fmt + +#include "hinfc610_os.h" +#include "hinfc610.h" +#include "hinfc610_cache.h" +#include +#include +#include +#include +#include +/*****************************************************************************/ +#define MAX_MTD_PARTITIONS (32) + +struct partition_entry +{ + char name[16]; + unsigned long long start; + unsigned long long length; + unsigned int flags; +}; + +struct partition_info +{ + int parts_num; + struct partition_entry entry[MAX_MTD_PARTITIONS]; + struct mtd_partition parts[MAX_MTD_PARTITIONS]; +}; + +#ifdef CONFIG_MTD_PART_CHANGE +extern int register_mtd_partdev(struct mtd_info *mtd); +extern int unregister_mtd_partdev(struct mtd_info *mtd); +#else +static int register_mtd_partdev(struct mtd_info *mtd){ return 0; }; +static int unregister_mtd_partdev(struct mtd_info *mtd){return 0;}; +#endif + +static const char *part_probes_type[] = { "cmdlinepart", NULL, }; + +static struct partition_info ptn_info = {0}; + +/*****************************************************************************/ +static int __init parse_nand_partitions(const struct tag *tag) +{ + int i; + + if (tag->hdr.size <= 2) { + hinfc_pr_bug("tag->hdr.size <= 2\n"); + return 0; + } + ptn_info.parts_num = (tag->hdr.size - 2) + / (sizeof(struct partition_entry)/sizeof(int)); + memcpy(ptn_info.entry, + &tag->u, + ptn_info.parts_num * sizeof(struct partition_entry)); + + for (i = 0; i < ptn_info.parts_num; i++) { + ptn_info.parts[i].name = ptn_info.entry[i].name; + ptn_info.parts[i].size = (ptn_info.entry[i].length); + ptn_info.parts[i].offset = (ptn_info.entry[i].start); + ptn_info.parts[i].mask_flags = 0; + ptn_info.parts[i].ecclayout = 0; + } + + return 0; +} + +/* turn to ascii is "HiNp" */ +__tagtable(0x48694E70, parse_nand_partitions); +/*****************************************************************************/ +static unsigned int nand_otp_len = 0; +static unsigned char nand_otp[128] = {0}; + +/* Get NAND parameter table. */ +static int __init parse_nand_param(const struct tag *tag) +{ + if (tag->hdr.size <= 2) + return 0; + + nand_otp_len = ((tag->hdr.size << 2) - sizeof(struct tag_header)); + + if (nand_otp_len > sizeof(nand_otp)) { + hinfc_pr_bug("tag->hdr.size <= 2\n"); + return 0; + } + memcpy(nand_otp, &tag->u, nand_otp_len); + return 0; +} +/* 0x48694E77 equal to fastoot ATAG_NAND_PARAM */ +__tagtable(0x48694E77, parse_nand_param); +/*****************************************************************************/ + +static int hinfc610_os_enable(struct hinfc_host *host, int enable) +{ + if (enable == ENABLE) + clk_prepare_enable(host->clk); + else + clk_disable_unprepare(host->clk); + return 0; +} +/*****************************************************************************/ + +static int hinfc610_os_probe(struct platform_device * pltdev) +{ + int size; + int result = 0; + struct hinfc_host *host; + struct nand_chip *chip; + struct mtd_info *mtd; + struct resource *res; + size = sizeof(struct hinfc_host) + sizeof(struct nand_chip) + + sizeof(struct mtd_info); + host = devm_kzalloc(&pltdev->dev, size, GFP_KERNEL); + if (!host) { + pr_err("%s: allocate memroy fail.\n", __func__); + return -ENOMEM; + } + memset((char *)host, 0, size); + + platform_set_drvdata(pltdev, host); + + host->dev = &pltdev->dev; + host->chip = chip = (struct nand_chip *)&host[1]; + host->mtd = mtd = (struct mtd_info *)&chip[1]; + + res = platform_get_resource(pltdev, IORESOURCE_MEM, 0); + host->iobase = devm_ioremap_resource(&pltdev->dev, res); + if (IS_ERR_OR_NULL(host->iobase)) { + pr_err("%s: regbase ioremap fail.\n", __func__); + return PTR_ERR(host->iobase); + } + + mtd->priv = chip; + mtd->owner = THIS_MODULE; + mtd->name = DRVNAME; + + res = platform_get_resource(pltdev, IORESOURCE_MEM, 1); + + chip->IO_ADDR_R = chip->IO_ADDR_W = ioremap_nocache(res->start, + res->end - res->start + 1); + if (!chip->IO_ADDR_R) { + hinfc_pr_bug("ioremap failed\n"); + return -EIO; + } + + host->clk = devm_clk_get(&pltdev->dev, "clk"); + if (IS_ERR_OR_NULL(host->clk)) { + pr_err("get clock fail.\n"); + return PTR_ERR(host->clk); + } + + host->enable = hinfc610_os_enable; + + host->enable(host, ENABLE); + + chip->priv = host; + host->chip = chip; + chip->cmd_ctrl = hinfc610_cmd_ctrl; + chip->dev_ready = hinfc610_dev_ready; + chip->select_chip = hinfc610_select_chip; + chip->read_byte = hinfc610_read_byte; + chip->read_word = hinfc610_read_word; + chip->write_buf = hinfc610_write_buf; + chip->read_buf = hinfc610_read_buf; + + chip->chip_delay = HINFC610_CHIP_DELAY; + chip->options = NAND_NEED_READRDY | NAND_SKIP_BBTSCAN; + chip->ecc.layout = NULL; + chip->ecc.mode = NAND_ECC_NONE; + + if (hinfc610_nand_init(host, chip)) { + hinfc_pr_bug("failed to allocate device buffer.\n"); + return -EIO; + } + + if (nand_otp_len) { + hinfc_pr_msg("Copy Nand read retry parameter from boot," + " parameter length %d.\n", nand_otp_len); + memcpy(host->rr_data, nand_otp, nand_otp_len); + } + + if (nand_scan(mtd, CONFIG_HINFC610_MAX_CHIP)) { + result = -ENXIO; + goto fail; + } + + register_mtd_partdev(host->mtd); + + if (!mtd_device_parse_register(mtd, part_probes_type, + NULL, ptn_info.parts, ptn_info.parts_num)) + return 0; + + unregister_mtd_partdev(host->mtd); + + result = -ENODEV; + nand_release(mtd); + +fail: + hinfc610_nand_destory(host); + host->enable(host, DISABLE); + + iounmap(chip->IO_ADDR_W); + iounmap(host->iobase); + devm_kfree(&pltdev->dev, host); + platform_set_drvdata(pltdev, NULL); + + return result; +} +/*****************************************************************************/ + +static int hinfc610_os_remove(struct platform_device *pltdev) +{ + struct hinfc_host *host = platform_get_drvdata(pltdev); + + host->enable(host, DISABLE); + + hinfc610_nand_destory(host); + + unregister_mtd_partdev(host->mtd); + + nand_release(host->mtd); + + iounmap(host->chip->IO_ADDR_W); + iounmap(host->iobase); + kfree(host); + platform_set_drvdata(pltdev, NULL); + + return 0; +} +/*****************************************************************************/ + +#ifdef CONFIG_PM +static int hinfc610_os_suspend(struct platform_device *pltdev, + pm_message_t state) +{ + struct hinfc_host *host = platform_get_drvdata(pltdev); + + while ((hinfc_read(host, HINFC610_STATUS ) & 0x1) == 0x0) + ; + + while ((hinfc_read(host, HINFC610_DMA_CTRL)) + & HINFC610_DMA_CTRL_DMA_START) + _cond_resched(); + + host->enable(host, DISABLE); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_os_resume(struct platform_device *pltdev) +{ + int cs; + struct hinfc_host *host = platform_get_drvdata(pltdev); + struct nand_chip *chip = host->chip; + + host->enable(host, ENABLE); + for (cs = 0; cs < chip->numchips; cs++) + host->send_cmd_reset(host, cs); + hinfc_write(host, + SET_HINFC610_PWIDTH(CONFIG_HINFC610_W_LATCH, + CONFIG_HINFC610_R_LATCH, CONFIG_HINFC610_RW_LATCH), + HINFC610_PWIDTH); + + return 0; +} +#endif /* CONFIG_PM */ +/*****************************************************************************/ + +static const struct of_device_id +hi3716cv200_hinfc610_match[] __maybe_unused = { + { .compatible = "hi3716cv200.hinfc610", }, + { .compatible = "hi3798mv100.hinfc610", }, + { .compatible = "hi3716mv310.hinfc610", }, + {}, +}; +MODULE_DEVICE_TABLE(of, hi3716cv200_hinfc610_match); + +static struct platform_driver hinfc610_os_pltdrv = +{ + .probe = hinfc610_os_probe, + .remove = hinfc610_os_remove, +#ifdef CONFIG_PM + .suspend = hinfc610_os_suspend, + .resume = hinfc610_os_resume, +#endif /* CONFIG_PM */ + .driver = { + .name = DRVNAME, + .owner = THIS_MODULE, + .of_match_table = of_match_ptr(hi3716cv200_hinfc610_match), + }, +}; +/*****************************************************************************/ + +static int __init hinfc610_os_module_init(void) +{ + pr_notice("registerd new interface driver hinfc610.\n"); + return platform_driver_register(&hinfc610_os_pltdrv); +} +/*****************************************************************************/ + +static void __exit hinfc610_os_module_exit (void) +{ + platform_driver_unregister(&hinfc610_os_pltdrv); +} +/*****************************************************************************/ + +module_init(hinfc610_os_module_init); +module_exit(hinfc610_os_module_exit); + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Czyong"); +MODULE_DESCRIPTION("Hisilicon Nand Flash Controller V610 Device Driver," + " Version 1.30"); + +/*****************************************************************************/ diff --git a/drivers/mtd/nand/hinfc610/hinfc610_os.h b/drivers/mtd/nand/hinfc610/hinfc610_os.h new file mode 100644 index 000000000..357900027 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_os.h @@ -0,0 +1,35 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-02-07 + * +******************************************************************************/ +#ifndef HINFC610_OSH +#define HINFC610_OSH +/******************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 4, 5)) +# include "../../mtdcore.h" +#endif + +/******************************************************************************/ +#endif /* HINFC610_OSH */ diff --git a/drivers/mtd/nand/hinfc610/hinfc610_read_retry.c b/drivers/mtd/nand/hinfc610/hinfc610_read_retry.c new file mode 100644 index 000000000..aceef168f --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_read_retry.c @@ -0,0 +1,42 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2012-2013 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ +#include "hinfc610_gen.h" +#include "hinfc610.h" +#include "hinfc610_read_retry.h" + +extern struct read_retry_t hinfc610_hynix_bg_cdie_read_retry; +extern struct read_retry_t hinfc610_hynix_bg_bdie_read_retry; +extern struct read_retry_t hinfc610_hynix_cg_adie_read_retry; +extern struct read_retry_t hinfc610_micron_read_retry; +extern struct read_retry_t hinfc610_toshiba_24nm_read_retry; +extern struct read_retry_t hinfc610_toshiba_19nm_read_retry; +extern struct read_retry_t hinfc610_samsung_read_retry; + +static struct read_retry_t *read_retry_table[] = { + &hinfc610_hynix_bg_bdie_read_retry, + &hinfc610_hynix_bg_cdie_read_retry, + &hinfc610_hynix_cg_adie_read_retry, + &hinfc610_micron_read_retry, + &hinfc610_toshiba_24nm_read_retry, + &hinfc610_toshiba_19nm_read_retry, + &hinfc610_samsung_read_retry, + NULL, +}; + +struct read_retry_t *hinfc610_find_read_retry(int type) +{ + struct read_retry_t **rr; + + for (rr = read_retry_table; rr; rr++) { + if ((*rr)->type == type) + return *rr; + } + + return NULL; +} diff --git a/drivers/mtd/nand/hinfc610/hinfc610_read_retry.h b/drivers/mtd/nand/hinfc610/hinfc610_read_retry.h new file mode 100644 index 000000000..43f48c8c0 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_read_retry.h @@ -0,0 +1,15 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2012-2013 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ + +#ifndef HINFC610_READ_RETRY_H +#define HINFC610_READ_RETRY_H + +struct read_retry_t *hinfc610_find_read_retry(int type); + +#endif /* HINFC610_READ_RETRY_H */ \ No newline at end of file diff --git a/drivers/mtd/nand/hinfc610/hinfc610_read_retry_hynix_bg_bdie.c b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_hynix_bg_bdie.c new file mode 100644 index 000000000..5ee39527f --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_hynix_bg_bdie.c @@ -0,0 +1,127 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2009-2010 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ +#include "hinfc610_os.h" +#include "hinfc610.h" + +/*****************************************************************************/ + +static int hynix_bg_bdie_rr_org_exist = 0; +static char hynix_bg_bdie_rr_org[4] = {0}; + +/*****************************************************************************/ + +static int hinfc610_hynix_bg_bdie_set_rr_reg(struct hinfc_host *host, int index) +{ + int ix; + int regval; + char HYNIX_BG_BDIE_RR_REG[4] = {0xA7, 0xAD, 0xAE, 0xAF}; + char value_offset[7][4] = { + {0x00, 0x00, 0x00, 0x00}, + {0x00, 0x06, 0x0A, 0x06}, + {0x7F, -0x03, -0x07, -0x08}, + {0x7F, -0x06, -0x0D, -0x0F}, + {0x7F, -0x09, -0x14, -0x17}, + {0x7F, 0x7F, -0x1A, -0x1E}, + {0x7F, 0x7F, -0x20, -0x25} + }; + char *value = &value_offset[index][0]; + + regval = hinfc_read(host, HINFC610_PWIDTH); + hinfc_write(host, 0xFFF, HINFC610_PWIDTH); + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + hinfc_write(host, 1, HINFC610_DATA_NUM); + + if (!hynix_bg_bdie_rr_org_exist) { + + for (ix = 0; ix < 4; ix++) { + + memset(host->chip->IO_ADDR_R, 0xff, 32); + + hinfc_write(host, 0x37, HINFC610_CMD); + hinfc_write(host, HYNIX_BG_BDIE_RR_REG[ix], + HINFC610_ADDRL); + /* + * according to hynix doc, no need to config HINFC610_OP_WAIT_READY_EN, + * here not config this bit, confirmed by yubingxu. + */ + hinfc_write(host, HINFC610_READ_1CMD_1ADD_DATA(host), + HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + hynix_bg_bdie_rr_org[ix] + = (char)(readl(host->chip->IO_ADDR_R) & 0xff); + } + hynix_bg_bdie_rr_org_exist = 1; + } + + for (ix = 0; ix < 4; ix++) { + if (value[ix] == 0x7F) + value[ix] = 0x00; + else + value[ix] += hynix_bg_bdie_rr_org[ix]; + } + + writel(value[0], host->chip->IO_ADDR_W); + hinfc_write(host, HYNIX_BG_BDIE_RR_REG[0], HINFC610_ADDRL); + hinfc_write(host, 0x36, HINFC610_CMD); + /* + * according to hynix doc, no need to config HINFC610_OP_WAIT_READY_EN, + * here not config this bit. + */ + hinfc_write(host, HINFC610_WRITE_1CMD_1ADD_DATA(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + for (ix = 1; ix < 4; ix++) { + writel(value[ix], host->chip->IO_ADDR_W); + hinfc_write(host, HYNIX_BG_BDIE_RR_REG[ix], HINFC610_ADDRL); + /* + * according to hynix doc, no need to config HINFC610_OP_WAIT_READY_EN, + * here not config this bit. + */ + hinfc_write(host, HINFC610_WRITE_0CMD_1ADD_DATA(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + } + + hinfc_write(host, 0x16, HINFC610_CMD); + /* + * according to hynix doc, only 1 cmd: 0x16. + * And no need to config HINFC610_OP_WAIT_READY_EN, here not config this bit. + */ + hinfc_write(host, HINFC610_WRITE_1CMD_0ADD_NODATA(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + host->enable_ecc_randomizer(host, ENABLE, ENABLE); + hinfc_write(host, regval, HINFC610_PWIDTH); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_hynix_bg_bdie_set_rr_param(void *host, int param) +{ + if (!param) + return 0; + return hinfc610_hynix_bg_bdie_set_rr_reg((struct hinfc_host *)host, param); +} +/*****************************************************************************/ + +static int hinfc610_hynix_bg_bdie_reset_rr_param(void *host) +{ + return hinfc610_hynix_bg_bdie_set_rr_param(host, 0); +} +/*****************************************************************************/ + +struct read_retry_t hinfc610_hynix_bg_bdie_read_retry = { + .type = NAND_RR_HYNIX_BG_BDIE, + .count = 7, + .set_rr_param = hinfc610_hynix_bg_bdie_set_rr_param, + .get_rr_param = NULL, + .reset_rr_param = hinfc610_hynix_bg_bdie_reset_rr_param, +}; diff --git a/drivers/mtd/nand/hinfc610/hinfc610_read_retry_hynix_bg_cdie.c b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_hynix_bg_cdie.c new file mode 100644 index 000000000..8112cba0c --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_hynix_bg_cdie.c @@ -0,0 +1,246 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2009-2010 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ +#include "hinfc610_os.h" +#include "hinfc610.h" + +/*****************************************************************************/ + +static char * hinfc610_hynix_bg_cdie_otp_check(char *otp) +{ + int index = 0; + int ix, jx; + char *ptr = NULL; + int min, cur; + char *otp_origin, *otp_inverse; + + min = 64; + for (ix = 0; ix < 8; ix++, otp += 128) { + + otp_origin = otp; + otp_inverse = otp + 64; + cur = 0; + + for (jx = 0; jx < 64; jx++, otp_origin++, otp_inverse++) { + if (((*otp_origin) ^ (*otp_inverse)) == 0xFF) + continue; + cur ++; + } + + if (cur < min) { + min = cur; + index = ix; + ptr = otp; + if (!cur) + break; + } + } + + printk("RR select parameter %d from %d, error %d\n", + index, ix, min); + return ptr; +} +/*****************************************************************************/ + +static int hinfc610_hynix_bg_cdie_get_rr_param(void *host) +{ + char *otp; + struct hinfc_host *hinfc_host = (struct hinfc_host *)host; + + hinfc_host->enable_ecc_randomizer(hinfc_host, DISABLE, DISABLE); + /* step1: reset the chip */ + hinfc_host->send_cmd_reset(hinfc_host, hinfc_host->chipselect); + + /* step2: cmd: 0x36, address: 0xAE, data: 0x00 */ + hinfc_write(hinfc_host, 1, HINFC610_DATA_NUM);/* data length 1 */ + writel(0x00, hinfc_host->chip->IO_ADDR_R); /* data: 0x00 */ + hinfc_write(hinfc_host, 0xAE, HINFC610_ADDRL);/* address: 0xAE */ + hinfc_write(hinfc_host, 0x36, HINFC610_CMD); /* cmd: 0x36 */ + /* according to hynix doc, no need to config HINFC610_OP_WAIT_READY_EN */ + hinfc_write(hinfc_host, HINFC610_WRITE_1CMD_1ADD_DATA(hinfc_host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + /* step3: address: 0xB0, data: 0x4D */ + hinfc_write(hinfc_host, 1, HINFC610_DATA_NUM);/* data length 1 */ + writel(0x4D, hinfc_host->chip->IO_ADDR_R); /* data: 0x4d */ + hinfc_write(hinfc_host, 0xB0, HINFC610_ADDRL);/* address: 0xB0 */ + /* only address and data, without cmd */ + /* according to hynix doc, no need to config HINFC610_OP_WAIT_READY_EN */ + hinfc_write(hinfc_host, HINFC610_WRITE_0CMD_1ADD_DATA(hinfc_host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + /* step4: cmd: 0x16, 0x17, 0x04, 0x19 */ + hinfc_write(hinfc_host, 0x17 << 8 | 0x16, HINFC610_CMD); + /* according to hynix doc, no need to config HINFC610_OP_WAIT_READY_EN */ + hinfc_write(hinfc_host, HINFC610_WRITE_2CMD_0ADD_NODATA(hinfc_host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + hinfc_write(hinfc_host, 0x19 << 8 | 0x04, HINFC610_CMD); + /* according to hynix doc, no need to config HINFC610_OP_WAIT_READY_EN */ + hinfc_write(hinfc_host, HINFC610_WRITE_2CMD_0ADD_NODATA(hinfc_host), + HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + /* step5: cmd: 0x00 0x30, address: 0x02 00 00 00 */ + hinfc_write(hinfc_host, 0x2000000, HINFC610_ADDRL); + hinfc_write(hinfc_host, 0x00, HINFC610_ADDRH); + hinfc_write(hinfc_host, 0x30 << 8 | 0x00, HINFC610_CMD); + hinfc_write(hinfc_host, 0x800, HINFC610_DATA_NUM); + /* according to hynix doc, need to config HINFC610_OP_WAIT_READY_EN */ + hinfc_write(hinfc_host, HINFC610_READ_2CMD_5ADD(hinfc_host), + HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + /*step6 save otp read retry table to mem*/ + otp = hinfc610_hynix_bg_cdie_otp_check(hinfc_host->chip->IO_ADDR_R + 2); + if (!otp) { + printk(KERN_ERR "Read Retry select parameter failed, " + "this Nand Chip maybe invalidation.\n"); + return -1; + } + memcpy(hinfc_host->rr_data, otp, 64); + hinfc_host->need_rr_data = 1; + + /* step7: reset the chip */ + hinfc_host->send_cmd_reset(hinfc_host, hinfc_host->chipselect); + + /* step8: cmd: 0x38 */ + hinfc_write(hinfc_host, 0x38, HINFC610_CMD); + /* according to hynix doc, need to config HINFC610_OP_WAIT_READY_EN */ + hinfc_write(hinfc_host, + HINFC610_WRITE_1CMD_0ADD_NODATA_WAIT_READY(hinfc_host), + HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + hinfc_host->enable_ecc_randomizer(hinfc_host, ENABLE, ENABLE); + /* get hynix otp table finish */ + return 0; +} +/*****************************************************************************/ +static char hinfc610_hynix_bg_cdie_rr_reg[8] = { + 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7}; + +static int hinfc610_hynix_bg_cdie_set_rr_reg(struct hinfc_host *host, + char *val) +{ + int i; + int regval; + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + regval = hinfc_read(host, HINFC610_PWIDTH); + hinfc_write(host, 0xFFF, HINFC610_PWIDTH); + + hinfc_write(host, 1, HINFC610_DATA_NUM);/* data length 1 */ + + for (i = 0; i <= 8; i++) { + switch (i) { + case 0: + writel(val[i], host->chip->IO_ADDR_R); + hinfc_write(host, + hinfc610_hynix_bg_cdie_rr_reg[i], + HINFC610_ADDRL); + hinfc_write(host, + 0x36, HINFC610_CMD); + /* + * no need to config HINFC610_OP_WAIT_READY_EN, here not config this bit. + */ + hinfc_write(host, + HINFC610_WRITE_1CMD_1ADD_DATA(host), + HINFC610_OP); + break; + case 8: + hinfc_write(host, + 0x16, HINFC610_CMD); + /* + * according to hynix doc, only 1 cmd: 0x16. + * And no need to config HINFC610_OP_WAIT_READY_EN, here not config this bit. + */ + hinfc_write(host, + HINFC610_WRITE_1CMD_0ADD_NODATA(host), + HINFC610_OP); + break; + default: + writel(val[i], host->chip->IO_ADDR_R); + hinfc_write(host, + hinfc610_hynix_bg_cdie_rr_reg[i], + HINFC610_ADDRL); + /* + * no need to config HINFC610_OP_WAIT_READY_EN, here not config this bit. + */ + hinfc_write(host, + HINFC610_WRITE_0CMD_1ADD_DATA(host), + HINFC610_OP); + break; + } + WAIT_CONTROLLER_FINISH(host); + } + host->enable_ecc_randomizer(host, ENABLE, ENABLE); + hinfc_write(host, regval, HINFC610_PWIDTH); + + return 0; +} +/*****************************************************************************/ +#if 0 +static void hinfc610_hynix_bg_cdie_get_rr(struct hinfc_host *host) +{ + int index; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + hinfc_write(host, 1, HINFC610_DATA_NUM); + + for (index = 0; index < 8; index++) { + memset(host->chip->IO_ADDR_R, 0xff, 32); + hinfc_write(host, + 0x37, HINFC610_CMD); + hinfc_write(host, + hinfc610_hynix_bg_cdie_rr_reg[index], + HINFC610_ADDRL); + hinfc_write(host, + HINFC610_READ_1CMD_1ADD_DATA(host), + HINFC610_OP); + + WAIT_CONTROLLER_FINISH(host); + + printk("%02X ", readl(host->chip->IO_ADDR_R) & 0xff); + } + + host->enable_ecc_randomizer(host, ENABLE, ENABLE); +} +#endif +/*****************************************************************************/ + +static int hinfc610_hynix_bg_cdie_set_rr_param(void *host, + int param) +{ + unsigned char *rr; + struct hinfc_host *hinfc_host = (struct hinfc_host *)host; + + if (!(hinfc_host->rr_data[0] | hinfc_host->rr_data[1] + | hinfc_host->rr_data[2] | hinfc_host->rr_data[3]) || !param) + return -1; + + rr = (unsigned char *)&hinfc_host->rr_data[((param & 0x07) << 3)]; + + /* set the read retry regs to adjust reading level */ + return hinfc610_hynix_bg_cdie_set_rr_reg(hinfc_host, (char *)rr); +} +/*****************************************************************************/ + +static int hinfc610_hynix_bg_cdie_reset_rr_param(void *host) +{ + return hinfc610_hynix_bg_cdie_set_rr_param(host, 0); +} +/*****************************************************************************/ + +struct read_retry_t hinfc610_hynix_bg_cdie_read_retry = { + .type = NAND_RR_HYNIX_BG_CDIE, + .count = 8, + .set_rr_param = hinfc610_hynix_bg_cdie_set_rr_param, + .get_rr_param = hinfc610_hynix_bg_cdie_get_rr_param, + .reset_rr_param = hinfc610_hynix_bg_cdie_reset_rr_param, +}; diff --git a/drivers/mtd/nand/hinfc610/hinfc610_read_retry_hynix_cg_adie.c b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_hynix_cg_adie.c new file mode 100644 index 000000000..7d83fa597 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_hynix_cg_adie.c @@ -0,0 +1,252 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2009-2010 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ +#include "hinfc610_os.h" +#include "hinfc610.h" + +/*****************************************************************************/ +static char * hinfc610_hynix_cg_adie_otp_check(char *otp) +{ + int index = 0; + int ix, jx; + char *ptr = NULL; + int min, cur; + char *otp_origin, *otp_inverse; + + min = 64; + for (ix = 0; ix < 8; ix++, otp += 128) { + + otp_origin = otp; + otp_inverse = otp + 64; + cur = 0; + + for (jx = 0; jx < 64; jx++, otp_origin++, otp_inverse++) { + if (((*otp_origin) ^ (*otp_inverse)) == 0xFF) + continue; + cur ++; + } + + if (cur < min) { + min = cur; + index = ix; + ptr = otp; + if (!cur) + break; + } + } + + pr_err("RR select parameter %d from %d, error %d\n", + index, ix, min); + return ptr; +} +/*****************************************************************************/ + +static int hinfc610_hynix_cg_adie_get_rr_param(void *host) +{ + char *otp; + struct hinfc_host *hinfc_host = (struct hinfc_host *)host; + + hinfc_host->enable_ecc_randomizer(hinfc_host, DISABLE, DISABLE); + /* step1: reset the chip */ + hinfc_host->send_cmd_reset(hinfc_host, hinfc_host->chipselect); + + /* step2: cmd: 0x36, address: 0xFF, data: 0x40 */ + hinfc_write(hinfc_host, 1, HINFC610_DATA_NUM);/* data length 1 */ + writel(0x40, hinfc_host->chip->IO_ADDR_R); /* data: 0x00 */ + hinfc_write(hinfc_host, 0xFF, HINFC610_ADDRL);/* address: 0xAE */ + hinfc_write(hinfc_host, 0x36, HINFC610_CMD); /* cmd: 0x36 */ + /* + * no need to config HINFC610_OP_WAIT_READY_EN, here not config this bit. + */ + hinfc_write(hinfc_host, HINFC610_WRITE_1CMD_1ADD_DATA(hinfc_host), + HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + /* step3: address: 0xCC, data: 0x4D */ + hinfc_write(hinfc_host, 1, HINFC610_DATA_NUM);/* data length 1 */ + writel(0x4D, hinfc_host->chip->IO_ADDR_R); /* data: 0x4d */ + hinfc_write(hinfc_host, 0xCC, HINFC610_ADDRL);/* address: 0xB0 */ + /* + * no need to config HINFC610_OP_WAIT_READY_EN, here not config this bit. + * only address and data, without cmd + */ + hinfc_write(hinfc_host, HINFC610_WRITE_0CMD_1ADD_DATA(hinfc_host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + /* step4: cmd: 0x16, 0x17, 0x04, 0x19 */ + hinfc_write(hinfc_host, 0x17 << 8 | 0x16, HINFC610_CMD); + /* + * no need to config HINFC610_OP_WAIT_READY_EN, here not config this bit. + */ + hinfc_write(hinfc_host, HINFC610_WRITE_2CMD_0ADD_NODATA(hinfc_host), + HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + hinfc_write(hinfc_host, 0x19 << 8 | 0x04, HINFC610_CMD); + /* + * no need to config HINFC610_OP_WAIT_READY_EN, here not config this bit. + */ + hinfc_write(hinfc_host, HINFC610_WRITE_2CMD_0ADD_NODATA(hinfc_host), + HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + /* step5: cmd: 0x00 0x30, address: 0x02 00 00 00 */ + hinfc_write(hinfc_host, 0x2000000, HINFC610_ADDRL); + hinfc_write(hinfc_host, 0x00, HINFC610_ADDRH); + hinfc_write(hinfc_host, 0x30 << 8 | 0x00, HINFC610_CMD); + hinfc_write(hinfc_host, 0x800, HINFC610_DATA_NUM); + /* + * need to config HINFC610_OP_WAIT_READY_EN, here config this bit. + */ + hinfc_write(hinfc_host, HINFC610_READ_2CMD_5ADD(hinfc_host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + /*step6 save otp read retry table to mem*/ + otp = hinfc610_hynix_cg_adie_otp_check(hinfc_host->chip->IO_ADDR_R + 2); + if (!otp) { + pr_err("Read Retry select parameter failed, this Nand Chip maybe invalidation.\n"); + return -1; + } + memcpy(hinfc_host->rr_data, otp, 64); + hinfc_host->need_rr_data = 1; + + /* step7: reset the chip */ + hinfc_host->send_cmd_reset(hinfc_host, hinfc_host->chipselect); + + /* step8: cmd: 0x38 */ + hinfc_write(hinfc_host, 0x38, HINFC610_CMD); + /* + * need to config HINFC610_OP_WAIT_READY_EN, here config this bit. + */ + hinfc_write(hinfc_host, HINFC610_WRITE_1CMD_0ADD_NODATA_WAIT_READY(hinfc_host), + HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + hinfc_host->enable_ecc_randomizer(hinfc_host, ENABLE, ENABLE); + /* get hynix otp table finish */ + return 0; +} +/*****************************************************************************/ +static char hinfc610_hynix_cg_adie__rr_reg[8] = { + 0xCC, 0xBF, 0xAA, 0xAB, 0xCD, 0xAD, 0xAE, 0xAF}; + +static int hinfc610_hynix_cg_adie_set_rr_reg(struct hinfc_host *host, char *val) +{ + int i; + int regval; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + regval = hinfc_read(host, HINFC610_PWIDTH); + hinfc_write(host, 0xFFF, HINFC610_PWIDTH); + + hinfc_write(host, 1, HINFC610_DATA_NUM);/* data length 1 */ + + for (i = 0; i <= 8; i++) { + switch (i) { + case 0: + writel(val[i], host->chip->IO_ADDR_R); + hinfc_write(host, + hinfc610_hynix_cg_adie__rr_reg[i], HINFC610_ADDRL); + hinfc_write(host, + 0x36, HINFC610_CMD); + /* + * no need to config HINFC610_OP_WAIT_READY_EN, here not config this bit. + */ + hinfc_write(host, + HINFC610_WRITE_1CMD_1ADD_DATA(host), + HINFC610_OP); + break; + case 8: + hinfc_write(host, + 0x16, HINFC610_CMD); + /* + * only have 1 cmd: 0x16 + * no need to config HINFC610_OP_WAIT_READY_EN, here not config this bit. + */ + hinfc_write(host, + HINFC610_WRITE_1CMD_0ADD_NODATA(host), + HINFC610_OP); + break; + default: + writel(val[i], host->chip->IO_ADDR_R); + hinfc_write(host, + hinfc610_hynix_cg_adie__rr_reg[i], HINFC610_ADDRL); + /* + * no need to config HINFC610_OP_WAIT_READY_EN, here not config this bit. + */ + hinfc_write(host, + HINFC610_WRITE_0CMD_1ADD_DATA(host), + HINFC610_OP); + break; + } + WAIT_CONTROLLER_FINISH(host); + } + host->enable_ecc_randomizer(host, ENABLE, ENABLE); + hinfc_write(host, regval, HINFC610_PWIDTH); + return 0; +} +/*****************************************************************************/ +# if 0 +static void hinfc610_hynix_cg_adie_get_rr(struct hinfc_host *host) +{ + int index; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + hinfc_write(host, 1, HINFC610_DATA_NUM); + + for (index = 0; index < 8; index++) { + memset(host->chip->IO_ADDR_R, 0xff, 1024); + hinfc_write(host, + 0x37, HINFC610_CMD); + hinfc_write(host, + hinfc610_hynix_cg_adie__rr_reg[index], + HINFC610_ADDRL); + hinfc_write(host, + HINFC610_READ_1CMD_1ADD_DATA(host), + HINFC610_OP); + + WAIT_CONTROLLER_FINISH(host); + + printk("%02X ", readl(host->chip->IO_ADDR_R) & 0xff); + } + + host->enable_ecc_randomizer(host, ENABLE, ENABLE); +} +#endif +/*****************************************************************************/ + +static int hinfc610_hynix_cg_adie_set_rr_param(void *host, int param) +{ + unsigned char *rr; + struct hinfc_host *hinfc_host = (struct hinfc_host *)host; + + if (!(hinfc_host->rr_data[0] | hinfc_host->rr_data[1] + | hinfc_host->rr_data[2] | hinfc_host->rr_data[3]) || !param) + return -1; + + rr = (unsigned char *)&hinfc_host->rr_data[((param & 0x07) << 3)]; + + /* set the read retry regs to adjust reading level */ + return hinfc610_hynix_cg_adie_set_rr_reg(hinfc_host, (char *)rr); +} +/*****************************************************************************/ + +static int hinfc610_hynix_cg_adie_reset_rr_param(void *host) +{ + return hinfc610_hynix_cg_adie_set_rr_param(host, 0); +} +/*****************************************************************************/ + +struct read_retry_t hinfc610_hynix_cg_adie_read_retry = { + .type = NAND_RR_HYNIX_CG_ADIE, + .count = 8, + .set_rr_param = hinfc610_hynix_cg_adie_set_rr_param, + .get_rr_param = hinfc610_hynix_cg_adie_get_rr_param, + .reset_rr_param = hinfc610_hynix_cg_adie_reset_rr_param, +}; diff --git a/drivers/mtd/nand/hinfc610/hinfc610_read_retry_micron.c b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_micron.c new file mode 100644 index 000000000..222887c21 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_micron.c @@ -0,0 +1,87 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2009-2010 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ + +#include "hinfc610_os.h" +#include "hinfc610.h" + +/*****************************************************************************/ + +#define MICRON_RR_ADDR 0x89 + +static int hinfc610_micron_set_rr_reg(struct hinfc_host *host, int rr) +{ + int regval; + int reg_pwidth; + + reg_pwidth = hinfc_read(host, HINFC610_PWIDTH); + hinfc_write(host, 0xFFF, HINFC610_PWIDTH); + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, 4, HINFC610_DATA_NUM); + + writel(rr, host->chip->IO_ADDR_W); + hinfc_write(host, MICRON_RR_ADDR, HINFC610_ADDRL); + /* set read retry */ + hinfc_write(host, 0xEF, HINFC610_CMD); + + /* need to config WAIT_READY_EN, here config WAIT_READY_EN bit. */ + regval = (HINFC610_IS_SYNC(host) ? + HINFC610_WRITE_1CMD_1ADD_DATA_SYNC_WAIT_READY(host) : + HINFC610_WRITE_1CMD_1ADD_DATA_WAIT_READY(host)); + + hinfc_write(host, regval, HINFC610_OP); + + WAIT_CONTROLLER_FINISH(host); + + host->enable_ecc_randomizer(host, ENABLE, ENABLE); + hinfc_write(host, reg_pwidth, HINFC610_PWIDTH); + + return 0; +} +/*****************************************************************************/ + +#if 0 +static int hinfc610_micron_get_rr_param(struct hinfc_host *host) +{ +#define MICRON_GET_RR 0xEE + hinfc_write(host, 4, HINFC610_DATA_NUM); + + hinfc_write(host, MICRON_RR_ADDR, HINFC610_ADDRL); + hinfc_write(host, MICRON_GET_RR, HINFC610_CMD); + hinfc_write(host, HINFC610_READ_1CMD_1ADD_DATA(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + hinfc_write(host, NAND_CMD_READ0, HINFC610_CMD); + hinfc_write(host, HINFC610_READ_1CMD_0ADD_NODATA(host), HINFC610_OP); +#undef MICRON_GET_RR + return (readl(host->chip->IO_ADDR_R) & 0xff); +} +#endif +#undef MICRON_RR_ADDR +/*****************************************************************************/ + +static int hinfc610_micron_set_rr_param(void *host, int rr_option) +{ + return hinfc610_micron_set_rr_reg((struct hinfc_host *)host, rr_option); +} +/*****************************************************************************/ + +static int hinfc610_micron_reset_rr_param(void *host) +{ + return hinfc610_micron_set_rr_reg((struct hinfc_host *)host, 0); +} +/*****************************************************************************/ + +struct read_retry_t hinfc610_micron_read_retry = { + .type = NAND_RR_MICRON, + .count = 8, + .set_rr_param = hinfc610_micron_set_rr_param, + .get_rr_param = NULL, + .reset_rr_param = hinfc610_micron_reset_rr_param, +}; diff --git a/drivers/mtd/nand/hinfc610/hinfc610_read_retry_samsung.c b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_samsung.c new file mode 100644 index 000000000..fc60caba5 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_samsung.c @@ -0,0 +1,106 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2009-2010 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ + +#include "hinfc610_os.h" +#include "hinfc610.h" + +/*****************************************************************************/ + +static int hinfc610_samsung_set_rr_reg(struct hinfc_host *host,int param) +{ +#define SAMSUNG_RR_CMD 0xA1 + int opval; + int regval; + + unsigned char samsung_rr_params[15][4] = { + {0x00, 0x00, 0x00, 0x00}, + {0x05, 0x0A, 0x00, 0x00}, + {0x28, 0x00, 0xEC, 0xD8}, + {0xED, 0xF5, 0xED, 0xE6}, + {0x0A, 0x0F, 0x05, 0x00}, + {0x0F, 0x0A, 0xFB, 0xEC}, + {0xE8, 0xEF, 0xE8, 0xDC}, + {0xF1, 0xFB, 0xFE, 0xF0}, + {0x0A, 0x00, 0xFB, 0xEC}, + {0xD0, 0xE2, 0xD0, 0xC2}, + {0x14, 0x0F, 0xFB, 0xEC}, + {0xE8, 0xFB, 0xE8, 0xDC}, + {0x1E, 0x14, 0xFB, 0xEC}, + {0xFB, 0xFF, 0xFB, 0xF8}, + {0x07, 0x0C, 0x02, 0x00} + }; + + if (param >= 15) + param = (param % 15); + + regval = hinfc_read(host, HINFC610_PWIDTH); + hinfc_write(host, 0xFFF, HINFC610_PWIDTH); + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + /* no need to config WAIT_READY_EN, here not config WAIT_READY_EN bit */ + opval = (HINFC610_IS_SYNC(host) ? HINFC610_WRITE_1CMD_2ADD_DATA_SYNC(host) + : HINFC610_WRITE_1CMD_2ADD_DATA(host)); + + hinfc_write(host, 1, HINFC610_DATA_NUM); + + writel(samsung_rr_params[param][0], host->chip->IO_ADDR_R); + hinfc_write(host, 0xA700, HINFC610_ADDRL); + hinfc_write(host, SAMSUNG_RR_CMD, HINFC610_CMD); + hinfc_write(host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(samsung_rr_params[param][1], host->chip->IO_ADDR_R); + hinfc_write(host, 0xA400, HINFC610_ADDRL); + hinfc_write(host, SAMSUNG_RR_CMD, HINFC610_CMD); + hinfc_write(host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(samsung_rr_params[param][2], host->chip->IO_ADDR_R); + hinfc_write(host, 0xA500, HINFC610_ADDRL); + hinfc_write(host, SAMSUNG_RR_CMD, HINFC610_CMD); + hinfc_write(host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(samsung_rr_params[param][3], host->chip->IO_ADDR_R); + hinfc_write(host, 0xA600, HINFC610_ADDRL); + hinfc_write(host, SAMSUNG_RR_CMD, HINFC610_CMD); + hinfc_write(host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + host->enable_ecc_randomizer(host, ENABLE, ENABLE); + + hinfc_write(host, regval, HINFC610_PWIDTH); + + return 0; + +#undef SAMSUNG_RR_CMD +} +/*****************************************************************************/ + +static int hinfc610_samsung_set_rr_param(void *host,int param) +{ + return hinfc610_samsung_set_rr_reg((struct hinfc_host *)host, param); +} +/*****************************************************************************/ + +static int hinfc610_samsung_reset_rr_param(void *host) +{ + return hinfc610_samsung_set_rr_reg((struct hinfc_host *)host, 0); +} +/*****************************************************************************/ + +struct read_retry_t hinfc610_samsung_read_retry = { + .type = NAND_RR_SAMSUNG, + .count = 15, + .set_rr_param = hinfc610_samsung_set_rr_param, + .get_rr_param = NULL, + .reset_rr_param = hinfc610_samsung_reset_rr_param, +}; + diff --git a/drivers/mtd/nand/hinfc610/hinfc610_read_retry_toshiba_v2012.c b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_toshiba_v2012.c new file mode 100644 index 000000000..fe2a543c5 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_toshiba_v2012.c @@ -0,0 +1,110 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2009-2010 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ + +#include "hinfc610_os.h" +#include "hinfc610.h" + +/*****************************************************************************/ + +static int hinfc610_toshiba_24nm_set_rr_reg(struct hinfc_host *host, int param) +{ +#define TOSHIBA_RR_CMD 0x55 + int opval; + + static char toshiba_rr_param[] = {0x00, 0x04, 0x7c, 0x78, 0x74, 0x08}; + + if (!param) { + host->send_cmd_reset(host, host->chipselect); + return 0; + } + + if (param >= 6) + param = (param % 6); + + /* + * no need to config WAIT_READY_EN, here not config WAIT_READY_EN + */ + opval = (HINFC610_IS_SYNC(host) ? HINFC610_WRITE_1CMD_1ADD_DATA_SYNC(host) + : HINFC610_WRITE_1CMD_1ADD_DATA(host)); + + hinfc_write(host, 1, HINFC610_DATA_NUM); + + writel(toshiba_rr_param[param], host->chip->IO_ADDR_R); + hinfc_write(host, 0x4, HINFC610_ADDRL); + hinfc_write(host, TOSHIBA_RR_CMD, HINFC610_CMD); + hinfc_write(host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(toshiba_rr_param[param], host->chip->IO_ADDR_R); + hinfc_write(host, 0x5, HINFC610_ADDRL); + hinfc_write(host, TOSHIBA_RR_CMD, HINFC610_CMD); + hinfc_write(host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(toshiba_rr_param[param], host->chip->IO_ADDR_R); + hinfc_write(host, 0x6, HINFC610_ADDRL); + hinfc_write(host, TOSHIBA_RR_CMD, HINFC610_CMD); + hinfc_write(host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(toshiba_rr_param[param], host->chip->IO_ADDR_R); + hinfc_write(host, 0x7, HINFC610_ADDRL); + hinfc_write(host, TOSHIBA_RR_CMD, HINFC610_CMD); + hinfc_write(host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + return 0; + +#undef TOSHIBA_RR_CMD +} +/*****************************************************************************/ + +static int hinfc610_toshiba_24nm_set_rr_param(void *host, int param) +{ + int opval; + int regval; + struct hinfc_host *hinfc_host = (struct hinfc_host *)host; + + regval = hinfc_read(hinfc_host, HINFC610_PWIDTH); + hinfc_write(hinfc_host, 0xFFF, HINFC610_PWIDTH); + + hinfc_host->enable_ecc_randomizer(hinfc_host, DISABLE, DISABLE); + + opval = (HINFC610_IS_SYNC(hinfc_host) ? HINFC610_WRITE_2CMD_0ADD_NODATA_SYNC(hinfc_host) + : HINFC610_WRITE_2CMD_0ADD_NODATA(hinfc_host)); + + hinfc_write(hinfc_host, HINFC_CMD_SEQ(0x5C, 0xC5), HINFC610_CMD); + hinfc_write(hinfc_host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + hinfc610_toshiba_24nm_set_rr_reg(hinfc_host, param); + + hinfc_write(hinfc_host, HINFC_CMD_SEQ(0x26, 0x5D), HINFC610_CMD); + hinfc_write(hinfc_host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + hinfc_host->enable_ecc_randomizer(hinfc_host, ENABLE, ENABLE); + hinfc_write(hinfc_host, regval, HINFC610_PWIDTH); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_toshiba_24nm_reset_rr_param(void *host) +{ + return hinfc610_toshiba_24nm_set_rr_reg((struct hinfc_host *)host, 0); +} +/*****************************************************************************/ +struct read_retry_t hinfc610_toshiba_24nm_read_retry = { + .type = NAND_RR_TOSHIBA_V2012, + .count = 6, + .set_rr_param = hinfc610_toshiba_24nm_set_rr_param, + .get_rr_param = NULL, + .reset_rr_param = hinfc610_toshiba_24nm_reset_rr_param, +}; diff --git a/drivers/mtd/nand/hinfc610/hinfc610_read_retry_toshiba_v2013.c b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_toshiba_v2013.c new file mode 100644 index 000000000..7fb164080 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_read_retry_toshiba_v2013.c @@ -0,0 +1,147 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2009-2010 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ + +#include "hinfc610_os.h" +#include "hinfc610.h" + +/*****************************************************************************/ + +static int hinfc610_toshiba_19nm_set_rr_reg(struct hinfc_host *host, int param) +{ +#define TOSHIBA_RR_CMD 0x55 +#define TOSHIBA_RR_DATA_NUM 0x5 + unsigned int opval; + + static char toshiba_rr_param[][TOSHIBA_RR_DATA_NUM] = + { + {0x00, 0x00, 0x00, 0x00, 0x00}, + {0x04, 0x04, 0x7c, 0x7e, 0x00}, + {0x00, 0x7c, 0x78, 0x78, 0x00}, + {0x7c, 0x76, 0x74, 0x72, 0x00}, + {0x08, 0x08, 0x00, 0x00, 0x00}, + {0x0b, 0x7e, 0x76, 0x74, 0x00}, + {0x10, 0x76, 0x72, 0x70, 0x00}, + {0x02, 0x7c, 0x7e, 0x70, 0x00}, + }; + + if (param > 7) + param = (param % 7); + + /* + * no need to config WAIT_READY_EN, here not config WAIT_READY_EN + */ + opval = (HINFC610_IS_SYNC(host) ? HINFC610_WRITE_1CMD_1ADD_DATA_SYNC(host) + : HINFC610_WRITE_1CMD_1ADD_DATA(host)); + + hinfc_write(host, 1, HINFC610_DATA_NUM); + + writel(toshiba_rr_param[param][0], host->chip->IO_ADDR_R); + hinfc_write(host, 0x4, HINFC610_ADDRL); + hinfc_write(host, TOSHIBA_RR_CMD, HINFC610_CMD); + hinfc_write(host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(toshiba_rr_param[param][1], host->chip->IO_ADDR_R); + hinfc_write(host, 0x5, HINFC610_ADDRL); + hinfc_write(host, TOSHIBA_RR_CMD, HINFC610_CMD); + hinfc_write(host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(toshiba_rr_param[param][2], host->chip->IO_ADDR_R); + hinfc_write(host, 0x6, HINFC610_ADDRL); + hinfc_write(host, TOSHIBA_RR_CMD, HINFC610_CMD); + hinfc_write(host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(toshiba_rr_param[param][3], host->chip->IO_ADDR_R); + hinfc_write(host, 0x7, HINFC610_ADDRL); + hinfc_write(host, TOSHIBA_RR_CMD, HINFC610_CMD); + hinfc_write(host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(toshiba_rr_param[param][4], host->chip->IO_ADDR_R); + hinfc_write(host, 0xd, HINFC610_ADDRL); + hinfc_write(host, TOSHIBA_RR_CMD, HINFC610_CMD); + hinfc_write(host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + return 0; + +#undef TOSHIBA_RR_CMD +#undef TOSHIBA_RR_DATA_NUM +} +/*****************************************************************************/ + +static int hinfc610_toshiba_19nm_set_rr_param(void *host, int param) +{ + static int entry_rr_flag = 0; + int regval, opval; + struct hinfc_host *hinfc_host = (struct hinfc_host *)host; + + regval = hinfc_read(hinfc_host, HINFC610_PWIDTH); + hinfc_write(hinfc_host, 0xFFF, HINFC610_PWIDTH); + + hinfc_host->enable_ecc_randomizer(hinfc_host, DISABLE, DISABLE); + + opval = (HINFC610_IS_SYNC(hinfc_host) ? HINFC610_WRITE_2CMD_0ADD_NODATA_SYNC(hinfc_host) + : HINFC610_WRITE_2CMD_0ADD_NODATA(hinfc_host)); + + /* first entry RR mode. */ + if (!entry_rr_flag) { + hinfc_write(hinfc_host, HINFC_CMD_SEQ(0x5C, 0xC5), HINFC610_CMD); + hinfc_write(hinfc_host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + + entry_rr_flag = 1; + } + + hinfc610_toshiba_19nm_set_rr_reg(hinfc_host, param); + + /* according to 19nm rr spec, 4th rr need send 0xb3 cmd befor 0x5d26 cmd */ + if (param == 4) { + opval = (HINFC610_IS_SYNC(hinfc_host) ? HINFC610_WRITE_1CMD_0ADD_NODATA_SYNC(hinfc_host) + : HINFC610_WRITE_1CMD_0ADD_NODATA(hinfc_host)); + + hinfc_write(hinfc_host, 0xB3, HINFC610_CMD); + hinfc_write(hinfc_host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + } + + if (param) { + opval = (HINFC610_IS_SYNC(hinfc_host) ? HINFC610_WRITE_2CMD_0ADD_NODATA_SYNC(hinfc_host) + : HINFC610_WRITE_2CMD_0ADD_NODATA(hinfc_host)); + + hinfc_write(hinfc_host, HINFC_CMD_SEQ(0x26, 0x5D), HINFC610_CMD); + hinfc_write(hinfc_host, opval, HINFC610_OP); + WAIT_CONTROLLER_FINISH(hinfc_host); + } else { + /* exit RR mode. */ + hinfc_host->send_cmd_reset(hinfc_host, hinfc_host->chipselect); + entry_rr_flag = 0; + } + + hinfc_host->enable_ecc_randomizer(hinfc_host, ENABLE, ENABLE); + hinfc_write(hinfc_host, regval, HINFC610_PWIDTH); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_toshiba_19nm_reset_rr_param(void *host) +{ + return hinfc610_toshiba_19nm_set_rr_param(host, 0); +} +/*****************************************************************************/ +struct read_retry_t hinfc610_toshiba_19nm_read_retry = { + .type = NAND_RR_TOSHIBA_V2013, + .count = 8, + .set_rr_param = hinfc610_toshiba_19nm_set_rr_param, + .get_rr_param = NULL, + .reset_rr_param = hinfc610_toshiba_19nm_reset_rr_param, +}; diff --git a/drivers/mtd/nand/hinfc610/hinfc610_rw_latch.c b/drivers/mtd/nand/hinfc610/hinfc610_rw_latch.c new file mode 100644 index 000000000..9c405435f --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_rw_latch.c @@ -0,0 +1,25 @@ +/****************************************************************************** + * Copyright (c) 2009-2014 by Hisilicon Tech. Co., Ltd. + * All rights reserved. + * *** + * Create By Czyong +******************************************************************************/ +#include + +#include "hinfc610_rw_latch.h" +/*****************************************************************************/ + +//extern struct hinfc_rw_latch *hinfc_rw_latch_table; + +struct hinfc_rw_latch *get_hinfc_rw_latch(unsigned char id[8]) +{ + struct hinfc_rw_latch *rw_latch_table; + + for (rw_latch_table = hinfc_rw_latch_table; + rw_latch_table && rw_latch_table->length; rw_latch_table++) { + if (!memcmp(id, rw_latch_table->id, rw_latch_table->length)) + break; + } + + return rw_latch_table; +} diff --git a/drivers/mtd/nand/hinfc610/hinfc610_rw_latch.h b/drivers/mtd/nand/hinfc610/hinfc610_rw_latch.h new file mode 100644 index 000000000..6158029d6 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_rw_latch.h @@ -0,0 +1,21 @@ +/****************************************************************************** + * Copyright (c) 2009-2014 by Hisilicon Tech. Co., Ltd. + * All rights reserved. + * *** + * Create By Czyong +******************************************************************************/ +#ifndef HINFC_RW_LATCH_H +#define HINFC_RW_LATCH_H + +struct hinfc_rw_latch { + char *name; + unsigned char id[8]; + int length; + unsigned int rw_latch; +}; + +struct hinfc_rw_latch *get_hinfc_rw_latch(unsigned char id[8]); + +extern struct hinfc_rw_latch *hinfc_rw_latch_table; + +#endif /* HINFC_RW_LATCH_H */ diff --git a/drivers/mtd/nand/hinfc610/hinfc610_rw_latch_hi3716mv310.c b/drivers/mtd/nand/hinfc610/hinfc610_rw_latch_hi3716mv310.c new file mode 100644 index 000000000..6500b90fc --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_rw_latch_hi3716mv310.c @@ -0,0 +1,31 @@ +/****************************************************************************** + * Copyright (c) 2009-2014 by Hisilicon Tech. Co., Ltd. + * All rights reserved. + * *** + * Create By Czyong +******************************************************************************/ + +#include "hinfc610_rw_latch.h" +/*****************************************************************************/ + +struct hinfc_rw_latch hinfc610_rw_latch_hi3716mv310[] = { + { /* MLC 40bit/1k */ + .name = "MT29F32G08CBADA", + .id = {0x2C, 0x44, 0x44, 0x4B, 0xA9, 0x00, 0x00, 0x00}, + .length = 8, + /* datasheet says tRC=tWC=16ns(min); + * nand interface clk:200MHz, + * pwidth regsiter: 0x117, + * tRC=tWC=5ns * (2+3) = 25ns. + */ + .rw_latch = 0x127, + }, { + .name = "general", + .id = {0x00}, + .length = 0, + .rw_latch = 0x375, + } +}; + +struct hinfc_rw_latch *hinfc_rw_latch_table = hinfc610_rw_latch_hi3716mv310; + diff --git a/drivers/mtd/nand/hinfc610/hinfc610_rw_latch_hi3798mv100.c b/drivers/mtd/nand/hinfc610/hinfc610_rw_latch_hi3798mv100.c new file mode 100644 index 000000000..9d65bfb82 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_rw_latch_hi3798mv100.c @@ -0,0 +1,31 @@ +/****************************************************************************** + * Copyright (c) 2009-2014 by Hisilicon Tech. Co., Ltd. + * All rights reserved. + * *** + * Create By Czyong +******************************************************************************/ + +#include "hinfc610_rw_latch.h" +/*****************************************************************************/ + +struct hinfc_rw_latch hinfc610_rw_latch_hi3798mv100[] = { + { /* MLC 40bit/1k */ + .name = "MT29F32G08CBADA", + .id = {0x2C, 0x44, 0x44, 0x4B, 0xA9, 0x00, 0x00, 0x00}, + .length = 8, + /* datasheet says tRC=tWC=16ns(min); + * nand interface clk:200MHz, + * pwidth regsiter: 0x117, + * tRC=tWC=5ns * (2+3) = 25ns. + */ + .rw_latch = 0x127, + }, { + .name = "general", + .id = {0x00}, + .length = 0, + .rw_latch = 0x375, + } +}; + +struct hinfc_rw_latch *hinfc_rw_latch_table = hinfc610_rw_latch_hi3798mv100; + diff --git a/drivers/mtd/nand/hinfc610/hinfc610_rw_latch_hifone.c b/drivers/mtd/nand/hinfc610/hinfc610_rw_latch_hifone.c new file mode 100644 index 000000000..58554cd35 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_rw_latch_hifone.c @@ -0,0 +1,35 @@ +/****************************************************************************** + * Copyright (c) 2009-2014 by Hisilicon Tech. Co., Ltd. + * All rights reserved. + * *** + * Create By Czyong +******************************************************************************/ + +#include "hinfc610_rw_latch.h" +/*****************************************************************************/ + +struct hinfc_rw_latch hinfc610_rw_latch_hifone[] = { + { /* MLC 40bit/1k */ + .name = "MT29F32G08CBADA", + .id = {0x2C, 0x44, 0x44, 0x4B, 0xA9, 0x00, 0x00, 0x00}, + .length = 8, + /* datasheet says tRC=tWC=16ns(min); + * nand interface clk:200MHz, + * pwidth regsiter: 0x117, + * tRC=tWC=5ns * (2+3) = 25ns. + */ + .rw_latch = 0x127, + }, { + .name = "general", + .id = {0x00}, + .length = 0, +#ifdef CONFIG_HIFONE_FPGA + .rw_latch = 0x777, +#else + .rw_latch = 0x375, +#endif + } +}; + +struct hinfc_rw_latch *hinfc_rw_latch_table = hinfc610_rw_latch_hifone; + diff --git a/drivers/mtd/nand/hinfc610/hinfc610_rw_latch_s40.c b/drivers/mtd/nand/hinfc610/hinfc610_rw_latch_s40.c new file mode 100644 index 000000000..c46ebdb39 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_rw_latch_s40.c @@ -0,0 +1,21 @@ +/****************************************************************************** + * Copyright (c) 2009-2014 by Hisilicon Tech. Co., Ltd. + * All rights reserved. + * *** + * Create By Czyong +******************************************************************************/ + +#include "hinfc610_rw_latch.h" +/*****************************************************************************/ + +struct hinfc_rw_latch hinfc610_rw_latch_s40[] = { + { + .name = "general", + .id = {0x00}, + .length = 0, + .rw_latch = 0x375, + } +}; + +struct hinfc_rw_latch *hinfc_rw_latch_table = hinfc610_rw_latch_s40; + diff --git a/drivers/mtd/nand/hinfc610/hinfc610_s40.c b/drivers/mtd/nand/hinfc610/hinfc610_s40.c new file mode 100644 index 000000000..2010202b2 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_s40.c @@ -0,0 +1,55 @@ +/****************************************************************************** +* NAND Flash Controller V504 Device Driver +* Copyright (c) 2009-2010 by Hisilicon. +* All rights reserved. +* *** +* +******************************************************************************/ +#include +#include + +#include "hinfc610.h" +#include "hinfc610_os.h" + + +#define HI3716CV200_HINFC610_PERI_CRG_REG_BASE __io_address(REG_BASE_CRG) +#define HI3716CV200_PERI_CRG24 (HI3716CV200_HINFC610_PERI_CRG_REG_BASE + 0x60) + +#define HI3716CV200_PERI_CRG24_CLK_EN (0x1U << 0) + +#define HI3716CV200_PERI_CRG24_CLK_SEL_MASK (0x7U << 8) +#define HI3716CV200_PERI_CRG24_CLK_SEL_24M (0x0U << 8) +#define HI3716CV200_PERI_CRG24_CLK_SEL_200M (0x4U << 8) +#define HI3716CV200_PERI_CRG24_CLK_SEL_150M (0x5U << 8) +#define HI3716CV200_PERI_CRG24_CLK_SEL_125M (0x6U << 8) +#define HI3716CV200_PERI_CRG24_CLK_SEL_100M (0x7U << 8) + + +/*****************************************************************************/ + +static void hinfc610_sync_clock(struct hinfc_host *host, unsigned int enable) +{ + unsigned int regval; + + hinfc_write(host, HINFC610_SYNC_ONFI_T_CAD + | HINFC610_SYNC_ONFI_T_DQZ + | HINFC610_SYNC_TOGGLE_PRE_RDQS + | HINFC610_SYNC_TOGGLE_POST_RDQS + | HINFC610_SYNC_TOGGLE_PRE_WDQS + | HINFC610_SYNC_TOGGLE_POST_WDQS + | HINFC610_SYNC_TOGGLE_RW_PSTH, + HINFC610_SYNC_TIMING); + + /* + * toggle1.0 nandc clock must be lower than 150M, otherwise + * read/write will fail. + * here configure to 100M for safety. + */ + regval = readl(HI3716CV200_PERI_CRG24); + + regval &= ~HI3716CV200_PERI_CRG24_CLK_SEL_MASK; + regval |= enable ? HI3716CV200_PERI_CRG24_CLK_SEL_100M + : HI3716CV200_PERI_CRG24_CLK_SEL_200M; + + writel(regval, HI3716CV200_PERI_CRG24); +} diff --git a/drivers/mtd/nand/hinfc610/hinfc610_sync.c b/drivers/mtd/nand/hinfc610/hinfc610_sync.c new file mode 100644 index 000000000..e7824fbca --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_sync.c @@ -0,0 +1,181 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2012-2013 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ +#include "hinfc610_os.h" +#include "hinfc610_gen.h" +#include "hinfc610.h" +#include "hinfc610_sync.h" + +extern struct nand_sync hinfc610_sync_onfi_23; +extern struct nand_sync hinfc610_sync_onfi_30; +extern struct nand_sync hinfc610_sync_toggle_10; + +static struct nand_sync *nand_sync_table[] = { + &hinfc610_sync_onfi_23, + &hinfc610_sync_onfi_30, + &hinfc610_sync_toggle_10, + NULL, +}; + +static struct nand_sync *hinfc610_find_sync_type(int type) +{ + struct nand_sync **sync; + + for (sync = nand_sync_table; sync; sync++) { + if ((*sync)->type == type) + return *sync; + } + + return NULL; +} +/*****************************************************************************/ + +static int hinfc610_onfi_support_sync(struct hinfc_host *host) +{ + char buf[6]; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, sizeof(buf), HINFC610_DATA_NUM); + hinfc_write(host, NAND_CMD_READID, HINFC610_CMD); + hinfc_write(host, 0x20, HINFC610_ADDRL); + hinfc_write(host, HINFC610_READ_1CMD_1ADD_DATA(host), HINFC610_OP); + + WAIT_CONTROLLER_FINISH(host); + memcpy(buf, host->chip->IO_ADDR_R, sizeof(buf)); + + if (memcmp(buf, "ONFI", 4)) + return 0; + + hinfc_write(host, sizeof(buf), HINFC610_DATA_NUM); + hinfc_write(host, NAND_CMD_READID, HINFC610_CMD); + hinfc_write(host, 0x40, HINFC610_ADDRL); + hinfc_write(host, HINFC610_READ_1CMD_1ADD_DATA(host), HINFC610_OP); + + WAIT_CONTROLLER_FINISH(host); + memcpy(buf, host->chip->IO_ADDR_R, sizeof(buf)); + + if (memcmp(buf, "JEDEC", 5)) + return 0; + + return (buf[5] == 0x05); +} +/*****************************************************************************/ + +static int hinfc610_get_onfi_info(struct hinfc_host *host, int *type) +{ + char buf[6]; + + *type = 0; + + if (!hinfc610_onfi_support_sync(host)) + return 0; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, sizeof(buf), HINFC610_DATA_NUM); + hinfc_write(host, NAND_CMD_PARAM, HINFC610_CMD); + hinfc_write(host, 0x00, HINFC610_ADDRL); + hinfc_write(host, HINFC610_READ_1CMD_1ADD_DATA(host), HINFC610_OP); + + WAIT_CONTROLLER_FINISH(host); + memcpy(buf, host->chip->IO_ADDR_R, sizeof(buf)); + + if (memcmp(buf, "ONFI", 4)) + return 0; + + if (buf[4] & (1 << 6)) + *type = NAND_TYPE_ONFI_30; + else if (buf[4] & (1 << 5) || + buf[4] & (1 << 4) || + buf[4] & (1 << 3) || + buf[4] & (1 << 2)) + *type = NAND_TYPE_ONFI_23; + + return 1; +} +/*****************************************************************************/ + +static int hinfc610_toggle_support_sync(struct hinfc_host *host) +{ + char buf[6]; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, sizeof(buf), HINFC610_DATA_NUM); + hinfc_write(host, NAND_CMD_READID, HINFC610_CMD); + hinfc_write(host, 0x40, HINFC610_ADDRL); + hinfc_write(host, HINFC610_READ_1CMD_1ADD_DATA(host), HINFC610_OP); + + WAIT_CONTROLLER_FINISH(host); + + memcpy(buf, host->chip->IO_ADDR_R, sizeof(buf)); + + if (memcmp(buf, "JEDEC", 5)) + return 0; + + // TODO: toggle ddr/sync ddr μ???±e. + return 1; +} +/*****************************************************************************/ + +static int hinfc610_get_toggle_info(struct hinfc_host *host, int *type) +{ + char buf[8]; + + *type = 0; + + if (!hinfc610_toggle_support_sync(host)) + return 0; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, sizeof(buf), HINFC610_DATA_NUM); + hinfc_write(host, NAND_CMD_PARAM, HINFC610_CMD); + hinfc_write(host, 0x40, HINFC610_ADDRL); + hinfc_write(host, HINFC610_READ_1CMD_1ADD_DATA(host), HINFC610_OP); + + WAIT_CONTROLLER_FINISH(host); + + memcpy(buf, host->chip->IO_ADDR_R, sizeof(buf)); + + if (memcmp(buf, "JESD", 4)) + return 0; + + if (buf[4] & (1 << 1)) + /* supports revision 1.0 */ + *type = NAND_TYPE_TOGGLE_10; + else + pr_warn("sync NAND has unknown toggle revision. \n"); + + return 1; +} +/*****************************************************************************/ + +int hinfc610_get_sync_info(struct hinfc_host *host) +{ + int type = 0; + + if (IS_NAND_ONFI(host)) + hinfc610_get_onfi_info(host, &type); + else + hinfc610_get_toggle_info(host, &type); + + if (!type) { + host->flags &= ~NAND_MODE_SYNC_ASYNC; + return 0; + } + + host->sync = hinfc610_find_sync_type(type); + if (!host->sync) + hinfc_pr_bug(ERSTR_DRIVER "This Nand Flash need to enable the 'synchronous' feature. " + "but the driver dose not offer the feature.\n"); + + return 0; +} +/*****************************************************************************/ diff --git a/drivers/mtd/nand/hinfc610/hinfc610_sync.h b/drivers/mtd/nand/hinfc610/hinfc610_sync.h new file mode 100644 index 000000000..5671b7c79 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_sync.h @@ -0,0 +1,15 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2012-2013 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ + +#ifndef HINFC610_SYNC_H +#define HINFC610_SYNC_H + +int hinfc610_get_sync_info(struct hinfc_host *host); + +#endif /* HINFC610_SYNC_H */ \ No newline at end of file diff --git a/drivers/mtd/nand/hinfc610/hinfc610_sync_onfi_23.c b/drivers/mtd/nand/hinfc610/hinfc610_sync_onfi_23.c new file mode 100644 index 000000000..dbc0c939a --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_sync_onfi_23.c @@ -0,0 +1,95 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2009-2010 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ +#include +#include "hinfc610_os.h" +#include "hinfc610.h" + +/*****************************************************************************/ + +static int hinfc610_onfi_enable_sync(struct nand_chip *chip) +{ + struct hinfc_host *host = chip->priv; + unsigned char micron_sync_param[4] = { + 0x14, /* set sync mode timing */ 0x00, 0x00, 0x00, + }; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, 1, HINFC610_DATA_NUM); + hinfc_write(host, 0xEF, HINFC610_CMD); + hinfc_write(host, 0x01, HINFC610_ADDRL); + writel(micron_sync_param[0], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_1CMD_1ADD_DATA(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(micron_sync_param[1], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_0CMD_1ADD_DATA(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(micron_sync_param[2], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_0CMD_1ADD_DATA(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + /* need to config WAIT_READY_EN, here config this bit. */ + writel(micron_sync_param[3], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_0CMD_1ADD_DATA_WAIT_READY(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + host->enable_ecc_randomizer(host, ENABLE, ENABLE); + + return 0; +} + +/*****************************************************************************/ + +static int hinfc610_onfi_disable_sync(struct nand_chip *chip) +{ + struct hinfc_host *host = chip->priv; + unsigned char micron_sync_param[4] = { + 0x00, 0x00, 0x00, 0x00, + }; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, 1, HINFC610_DATA_NUM); + hinfc_write(host, 0xEF, HINFC610_CMD); + hinfc_write(host, 0x01, HINFC610_ADDRL); + writel(micron_sync_param[0], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_1CMD_1ADD_DATA_SYNC(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(micron_sync_param[1], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_0CMD_1ADD_DATA_SYNC(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(micron_sync_param[2], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_0CMD_1ADD_DATA_SYNC(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(micron_sync_param[3], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_0CMD_1ADD_DATA_SYNC_WAIT_READY(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + host->enable_ecc_randomizer(host, ENABLE, ENABLE); + + return 0; +} +/*****************************************************************************/ + +struct nand_sync hinfc610_sync_onfi_23 = { + .type = NAND_TYPE_ONFI_23, + .enable = hinfc610_onfi_enable_sync, + .disable = hinfc610_onfi_disable_sync, +}; + +struct nand_sync hinfc610_sync_onfi_30 = { + .type = NAND_TYPE_ONFI_30, + .enable = hinfc610_onfi_enable_sync, + .disable = hinfc610_onfi_disable_sync, +}; diff --git a/drivers/mtd/nand/hinfc610/hinfc610_sync_toggle.c b/drivers/mtd/nand/hinfc610/hinfc610_sync_toggle.c new file mode 100644 index 000000000..495e44675 --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc610_sync_toggle.c @@ -0,0 +1,89 @@ +/****************************************************************************** + * NAND Flash Controller V610 Device Driver + * Copyright (c) 2009-2010 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ +#include +#include "hinfc610_os.h" +#include "hinfc610.h" + +/*****************************************************************************/ + +static int hinfc610_toggle_enable_sync(struct nand_chip *chip) +{ + struct hinfc_host *host = chip->priv; + unsigned char toshiba_sync_param[4] = { + 0x00, 0x00, 0x00, 0x00, + }; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, 1, HINFC610_DATA_NUM); + hinfc_write(host, 0xEF, HINFC610_CMD); + hinfc_write(host, 0x80, HINFC610_ADDRL); + writel(toshiba_sync_param[0], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_1CMD_1ADD_DATA(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(toshiba_sync_param[1], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_0CMD_1ADD_DATA(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(toshiba_sync_param[2], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_0CMD_1ADD_DATA(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + /* need to config WAIT_READY_EN. */ + writel(toshiba_sync_param[3], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_0CMD_1ADD_DATA_WAIT_READY(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + host->enable_ecc_randomizer(host, ENABLE, ENABLE); + + return 0; +} +/*****************************************************************************/ + +static int hinfc610_toggle_disable_sync(struct nand_chip *chip) +{ + struct hinfc_host *host = chip->priv; + unsigned char toshiba_sync_param[4] = { + 0x01, 0x00, 0x00, 0x00, + }; + + host->enable_ecc_randomizer(host, DISABLE, DISABLE); + + hinfc_write(host, 1, HINFC610_DATA_NUM); + hinfc_write(host, 0xEF, HINFC610_CMD); + hinfc_write(host, 0x80, HINFC610_ADDRL); + writel(toshiba_sync_param[0], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_1CMD_1ADD_DATA_SYNC(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(toshiba_sync_param[1], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_0CMD_1ADD_DATA_SYNC(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + writel(toshiba_sync_param[2], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_0CMD_1ADD_DATA_SYNC(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + /* need to config WAIT_READY_EN */ + writel(toshiba_sync_param[3], host->chip->IO_ADDR_R); + hinfc_write(host, HINFC610_WRITE_0CMD_1ADD_DATA_SYNC_WAIT_READY(host), HINFC610_OP); + WAIT_CONTROLLER_FINISH(host); + + host->enable_ecc_randomizer(host, ENABLE, ENABLE); + + return 0; +} +/*****************************************************************************/ + +struct nand_sync hinfc610_sync_toggle_10 = { + .type = NAND_TYPE_TOGGLE_10, + .enable = hinfc610_toggle_enable_sync, + .disable = hinfc610_toggle_disable_sync, +}; diff --git a/drivers/mtd/nand/hinfc610/hinfc620_gen.c b/drivers/mtd/nand/hinfc610/hinfc620_gen.c new file mode 100644 index 000000000..4ac5785ae --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc620_gen.c @@ -0,0 +1,77 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-08-15 + * +******************************************************************************/ + +#include + +#include "hinfc620_gen.h" + +/*****************************************************************************/ + +static struct match_t hinfc620_pagesize[] = { + MATCH_SET_TYPE_REG(SZ_2K, hinfc620_pagesize_2K), + MATCH_SET_TYPE_REG(SZ_4K, hinfc620_pagesize_4K), + MATCH_SET_TYPE_REG(SZ_8K, hinfc620_pagesize_8K), + MATCH_SET_TYPE_REG(SZ_16K, hinfc620_pagesize_16K), + MATCH_SET_TYPE_REG(SZ_32K, hinfc620_pagesize_32K), +}; + +int hinfc620_get_pagesize(struct hinfc_host *host) +{ + int regval = host->NFC_CON >> HINFC610_CON_PAGEISZE_SHIFT; + regval &= HINFC610_CON_PAGESIZE_MASK; + + return match_reg_to_type(hinfc620_pagesize, + ARRAY_SIZE(hinfc620_pagesize), regval, SZ_2K); +} + +void hinfc620_set_pagesize(struct hinfc_host *host, int pagesize) +{ + int mask = ~(HINFC610_CON_PAGESIZE_MASK << HINFC610_CON_PAGEISZE_SHIFT); + int regval = match_type_to_reg(hinfc620_pagesize, + ARRAY_SIZE(hinfc620_pagesize), pagesize, hinfc620_pagesize_2K); + + regval = (regval & HINFC610_CON_PAGESIZE_MASK) << HINFC610_CON_PAGEISZE_SHIFT; + + host->NFC_CON &= mask; + host->NFC_CON |= regval; + + host->NFC_CON_ECC_NONE &= mask; + host->NFC_CON_ECC_NONE |= regval; +} +/*****************************************************************************/ + +static struct match_t hinfc620_ecc[] = { + MATCH_SET_TYPE_REG(NAND_ECC_NONE, hinfc620_ecc_none), + MATCH_SET_TYPE_REG(NAND_ECC_8BIT, hinfc620_ecc_8bit), + MATCH_SET_TYPE_REG(NAND_ECC_16BIT, hinfc620_ecc_16bit), + MATCH_SET_TYPE_REG(NAND_ECC_24BIT, hinfc620_ecc_24bit), + MATCH_SET_TYPE_REG(NAND_ECC_40BIT, hinfc620_ecc_40bit), + MATCH_SET_TYPE_REG(NAND_ECC_64BIT, hinfc620_ecc_64bit), + MATCH_SET_TYPE_REG(NAND_ECC_28BIT, hinfc620_ecc_28bit), + MATCH_SET_TYPE_REG(NAND_ECC_42BIT, hinfc620_ecc_42bit), +}; + +int hinfc620_get_ecctype(struct hinfc_host *host) +{ + int regval = host->NFC_CON >> HINFC610_CON_ECCTYPE_SHIFT; + + regval &= HINFC610_CON_ECCTYPE_MASK; + + return match_reg_to_type(hinfc620_ecc, ARRAY_SIZE(hinfc620_ecc), + regval, NAND_ECC_8BIT); +} + +void hinfc620_set_ecctype(struct hinfc_host *host, int ecctype) +{ + int regval = match_type_to_reg(hinfc620_ecc, ARRAY_SIZE(hinfc620_ecc), + ecctype, hinfc620_ecc_8bit); + + host->NFC_CON &= ~(HINFC610_CON_ECCTYPE_MASK << HINFC610_CON_ECCTYPE_SHIFT); + + host->NFC_CON |= (regval & HINFC610_CON_ECCTYPE_MASK) << HINFC610_CON_ECCTYPE_SHIFT; +} diff --git a/drivers/mtd/nand/hinfc610/hinfc620_gen.h b/drivers/mtd/nand/hinfc610/hinfc620_gen.h new file mode 100644 index 000000000..166b710bc --- /dev/null +++ b/drivers/mtd/nand/hinfc610/hinfc620_gen.h @@ -0,0 +1,43 @@ +/****************************************************************************** + * COPYRIGHT (C) 2013 Czyong. Hisilicon + * All rights reserved. + * *** + * Create by Czyong 2013-08-15 + * +******************************************************************************/ +#ifndef HINFC620_GENH +#define HINFC620_GENH +/******************************************************************************/ + +#include +#include "hinfc610.h" + +enum hinfc620_ecc_reg { + hinfc620_ecc_none = 0x00, + hinfc620_ecc_8bit = 0x02, + hinfc620_ecc_16bit = 0x03, + hinfc620_ecc_24bit = 0x04, + hinfc620_ecc_40bit = 0x05, + hinfc620_ecc_64bit = 0x06, + hinfc620_ecc_28bit = 0x07, + hinfc620_ecc_42bit = 0x08, +}; + +enum hinfc620_page_reg { + hinfc620_pagesize_2K = 0x01, + hinfc620_pagesize_4K = 0x02, + hinfc620_pagesize_8K = 0x03, + hinfc620_pagesize_16K = 0x04, + hinfc620_pagesize_32K = 0x05, +}; + +int hinfc620_get_pagesize(struct hinfc_host *host); + +void hinfc620_set_pagesize(struct hinfc_host *host, int pagesize); + +int hinfc620_get_ecctype(struct hinfc_host *host); + +void hinfc620_set_ecctype(struct hinfc_host *host, int ecctype); + +/******************************************************************************/ +#endif /* HINFC620_GENH */ diff --git a/drivers/mtd/nand/hinfc_gen.c b/drivers/mtd/nand/hinfc_gen.c new file mode 100644 index 000000000..08b424c0b --- /dev/null +++ b/drivers/mtd/nand/hinfc_gen.c @@ -0,0 +1,166 @@ +/****************************************************************************** +* Copyright (c) 2009-2011 by Hisi. +* All rights reserved. +* *** +* Create by Czyong. 2011-12-03 +* +******************************************************************************/ + +#include +#include + +#include "hinfc_gen.h" + +/*****************************************************************************/ +struct nand_flash_dev *(*get_spi_nand_flash_type)(struct mtd_info *mtd, + unsigned char *id, int *busw) = NULL; + +/*****************************************************************************/ +static struct match_t match_ecc[] = { + MATCH_SET_TYPE_DATA(NAND_ECC_NONE, "none"), + MATCH_SET_TYPE_DATA(NAND_ECC_1BIT_512, "1bit/512" ), + MATCH_SET_TYPE_DATA(NAND_ECC_4BIT_512, "4bit/512" ), + MATCH_SET_TYPE_DATA(NAND_ECC_8BIT, "4bit/512" ), + MATCH_SET_TYPE_DATA(NAND_ECC_8BIT_512, "8bit/512" ), + MATCH_SET_TYPE_DATA(NAND_ECC_24BIT, "24bit/1k" ), + MATCH_SET_TYPE_DATA(NAND_ECC_40BIT, "40bit/1k" ), + MATCH_SET_TYPE_DATA(NAND_ECC_4BYTE, "4byte/1k" ), + MATCH_SET_TYPE_DATA(NAND_ECC_8BYTE, "8byte/1k" ), + MATCH_SET_TYPE_DATA(NAND_ECC_13BIT, "13bit/1k" ), + MATCH_SET_TYPE_DATA(NAND_ECC_16BIT, "16bit/1k" ), + MATCH_SET_TYPE_DATA(NAND_ECC_18BIT, "18bit/1k" ), + MATCH_SET_TYPE_DATA(NAND_ECC_27BIT, "27bit/1k" ), + MATCH_SET_TYPE_DATA(NAND_ECC_32BIT, "32bit/1k" ), + MATCH_SET_TYPE_DATA(NAND_ECC_41BIT, "41bit/1k" ), + MATCH_SET_TYPE_DATA(NAND_ECC_48BIT, "48bit/1k" ), + MATCH_SET_TYPE_DATA(NAND_ECC_60BIT, "60bit/1k" ), + MATCH_SET_TYPE_DATA(NAND_ECC_72BIT, "72bit/1k" ), + MATCH_SET_TYPE_DATA(NAND_ECC_80BIT, "80bit/1k" ), +}; + +const char *nand_ecc_name(int type) +{ + return (char *)match_type_to_data(match_ecc, ARRAY_SIZE(match_ecc), + type, "unknown"); +} +/*****************************************************************************/ + +int get_bits(unsigned int n) +{ + int loop; + int ret = 0; + + if (!n) + return 0; + + if (n > 0xFFFF) + loop = n > 0xFFFFFF ? 32 : 24; + else + loop = n > 0xFF ? 16 : 8; + + while (loop-- > 0 && n) { + if (n & 1) + ret++; + n >>= 1; + } + return ret; +} + +/*****************************************************************************/ + +int (*hinfc_param_adjust)(struct mtd_info *, struct nand_chip *, struct nand_dev_t *) = NULL; + +static struct nand_dev_t __nand_dev; +/*****************************************************************************/ + +struct nand_flash_dev *hinfc_get_flash_type(struct mtd_info *mtd, + struct nand_chip *chip, + u8 *id_data, int *busw) +{ + struct nand_flash_dev *type; + struct nand_dev_t *nand_dev = &__nand_dev; + + memset(nand_dev, 0, sizeof(struct nand_dev_t)); + memcpy(nand_dev->ids, id_data, 8); + +#ifdef CONFIG_MTD_NAND_HISFC400 + if (!hisfc_nand_probe(mtd, chip, nand_dev)) + return NULL; +#else + if (!hinfc_nand_probe(mtd, chip, nand_dev)) + return NULL; +#endif + + type = &nand_dev->flash_dev; + + if (!mtd->name) + mtd->name = type->name; + + chip->chipsize = (uint64_t)type->chipsize << 20; + mtd->erasesize = type->erasesize; + mtd->writesize = type->pagesize; + mtd->oobsize = nand_dev->oobsize; + *busw = (type->options & NAND_BUSWIDTH_16); + + return type; +} +/*****************************************************************************/ + +void hinfc_nand_param_adjust(struct mtd_info *mtd, struct nand_chip *chip) +{ + struct nand_dev_t *nand_dev = &__nand_dev; + + if (!nand_dev->oobsize) + nand_dev->oobsize = mtd->oobsize; + + if (hinfc_param_adjust) + hinfc_param_adjust(mtd, chip, nand_dev); +} +/*****************************************************************************/ + +void hinfc_show_info(struct mtd_info *mtd, char *vendor, char *chipname) +{ + char buf[20]; + struct nand_dev_t *nand_dev = &__nand_dev; + + hinfc_pr_msg("Nand: %s %s ", vendor, chipname); + + if (IS_NAND_RANDOM(nand_dev)) + hinfc_pr_msg("Randomizer "); + + if (nand_dev->read_retry_type != NAND_RR_NONE) + hinfc_pr_msg("Read-Retry "); + + hinfc_pr_msg("\n"); + + if (nand_dev->start_type) + hinfc_pr_msg("Nand(%s): ", nand_dev->start_type); + else + hinfc_pr_msg("Nand: "); + + hinfc_pr_msg("Block:%sB ", ultohstr(mtd->erasesize, buf, sizeof(buf))); + hinfc_pr_msg("Page:%sB ", ultohstr(mtd->writesize, buf, sizeof(buf))); + hinfc_pr_msg("OOB:%dB ", nand_dev->oobsize); + hinfc_pr_msg("ECC:%s ", nand_ecc_name(nand_dev->ecctype)); +} +/*****************************************************************************/ + +void hinfc_show_chipsize(struct nand_chip *chip) +{ + char buf[20]; + + hinfc_pr_msg("Chip:%sB*%d\n", + ultohstr(chip->chipsize, buf, sizeof(buf)), + chip->numchips); +} + +/*****************************************************************************/ + +char *nand_dbgfs_options = NULL; + +static int __init dbgfs_options_setup(char *s) +{ + nand_dbgfs_options = s; + return 1; +} +__setup("nanddbgfs=", dbgfs_options_setup); diff --git a/drivers/mtd/nand/hinfc_gen.h b/drivers/mtd/nand/hinfc_gen.h new file mode 100644 index 000000000..8a87c4284 --- /dev/null +++ b/drivers/mtd/nand/hinfc_gen.h @@ -0,0 +1,204 @@ +/****************************************************************************** + * NAND Flash Controller V504 Device Driver + * Copyright (c) 2009-2010 by Hisilicon. + * All rights reserved. + * *** + * Create By Czyong. + * +******************************************************************************/ + +#ifndef __HINFC_GEN_H__ +#define __HINFC_GEN_H__ +/******************************************************************************/ +#include +#include +#include +#include +#include + +#define SZ_4G 0x100000000ULL +#define SZ_8G 0x200000000ULL +#define SZ_16G 0x400000000ULL + +/******************************************************************************/ + +#define HINFC_VER_300 (0x300) +#define HINFC_VER_301 (0x301) +#define HINFC_VER_310 (0x310) +#define HINFC_VER_504 (0x504) +#define HINFC_VER_505 (0x505) +#define HINFC_VER_600 (0x600) +#define HINFC_VER_610 (0x610) +#define HINFC_VER_620 (0x620) + +/******************************************************************************/ + +#define NAND_ECC_NONE 0 +#define NAND_ECC_1BIT_512 1 +#define NAND_ECC_4BIT 2 +#define NAND_ECC_4BIT_512 3 +#define NAND_ECC_4BYTE 4 +#define NAND_ECC_8BIT 5 +#define NAND_ECC_8BIT_512 6 +#define NAND_ECC_8BYTE 7 +#define NAND_ECC_13BIT 8 +#define NAND_ECC_16BIT 9 +#define NAND_ECC_18BIT 10 +#define NAND_ECC_24BIT 11 +#define NAND_ECC_27BIT 12 +#define NAND_ECC_28BIT 13 +#define NAND_ECC_32BIT 14 +#define NAND_ECC_40BIT 15 +#define NAND_ECC_41BIT 16 +#define NAND_ECC_42BIT 17 +#define NAND_ECC_48BIT 18 +#define NAND_ECC_60BIT 19 +#define NAND_ECC_64BIT 20 +#define NAND_ECC_72BIT 21 +#define NAND_ECC_80BIT 22 + +extern char *nand_dbgfs_options; + +const char *nand_ecc_name(int type); + +struct nand_ctrl_info_t { + int pagesize; + int ecctype; + unsigned int oobsize; + struct nand_ecclayout *layout; +}; + +struct hinfc_host; + +struct nand_sync { + +#define SET_NAND_SYNC_TYPE(_mfr, _onfi, _version) \ + (((_mfr) & 0xFF) << 16) | (((_version) & 0xFF) << 8) | ((_onfi) & 0xFF) + +#define GET_NAND_SYNC_TYPE_MFR(_type) (((_type) >> 16) & 0xFF) +#define GET_NAND_SYNC_TYPE_VER(_type) (((_type) >> 8) & 0xFF) +#define GET_NAND_SYNC_TYPE_INF(_type) ((_type)& 0xFF) + +#define NAND_TYPE_ONFI_23_MICRON SET_NAND_SYNC_TYPE(NAND_MFR_MICRON, NAND_IS_ONFI, 0x23) +#define NAND_TYPE_ONFI_30_MICRON SET_NAND_SYNC_TYPE(NAND_MFR_MICRON, NAND_IS_ONFI, 0x30) +#define NAND_TYPE_TOGGLE_TOSHIBA SET_NAND_SYNC_TYPE(NAND_MFR_TOSHIBA, 0, 0) +#define NAND_TYPE_TOGGLE_SAMSUNG SET_NAND_SYNC_TYPE(NAND_MFR_SAMSUNG, 0, 0) + +#define NAND_TYPE_TOGGLE_10 SET_NAND_SYNC_TYPE(0, 0, 0x10) +#define NAND_TYPE_ONFI_30 SET_NAND_SYNC_TYPE(0, NAND_IS_ONFI, 0x30) +#define NAND_TYPE_ONFI_23 SET_NAND_SYNC_TYPE(0, NAND_IS_ONFI, 0x23) + + int type; + int (*enable)(struct nand_chip *chip); + int (*disable)(struct nand_chip *chip); +}; + +struct read_retry_t { + int type; + int count; + int (*set_rr_param)(void *host, int param); + int (*get_rr_param)(void *host); + int (*reset_rr_param)(void *host); +}; + +struct ecc_info_t { + int pagesize; + int ecctype; + int threshold; + int section; + void (*dump)(void *host, unsigned char ecc[], int *max_bitsflag); +}; + +struct nand_dev_t { + struct nand_flash_dev flash_dev; + + char *start_type; + unsigned char ids[8]; + int oobsize; + int ecctype; + + /* (Controller) support ecc/page detect, driver don't need detect */ +#define NANDC_HW_AUTO 0x01 + /* (Controller) support ecc/page detect, and current ecc/page config finish */ +#define NANDC_CONFIG_DONE 0x02 + /* (Controller) is sync, default is async */ +#define NANDC_IS_SYNC_BOOT 0x04 + +/* (NAND) need randomizer */ +#define NAND_RANDOMIZER 0x10 +/* (NAND) is ONFI interface, combine with sync/async symble */ +#define NAND_IS_ONFI 0x20 +/* (NAND) support async and sync, such micron onfi, toshiba toggle 1.0 */ +#define NAND_MODE_SYNC_ASYNC 0x40 +/* (NAND) support only sync, such samsung sync. */ +#define NAND_MODE_ONLY_SYNC 0x80 + +#define NAND_CHIP_MICRON (NAND_MODE_SYNC_ASYNC | NAND_IS_ONFI) +/* This NAND is async, or sync/async, default is async mode, toggle1.0 interface */ +#define NAND_CHIP_TOSHIBA_TOGGLE_10 (NAND_MODE_SYNC_ASYNC) +/* This NAND is only sync mode, toggle2.0 interface */ +#define NAND_CHIP_TOSHIBA_TOGGLE_20 (NAND_MODE_ONLY_SYNC) +/* This NAND is only sync mode */ +#define NAND_CHIP_SAMSUNG (NAND_MODE_ONLY_SYNC) + + int flags; + int read_retry_type; +}; + +#define IS_NANDC_HW_AUTO(_host) ((_host)->flags & NANDC_HW_AUTO) +#define IS_NANDC_CONFIG_DONE(_host) ((_host)->flags & NANDC_CONFIG_DONE) +#define IS_NANDC_SYNC_BOOT(_host) ((_host)->flags & NANDC_IS_SYNC_BOOT) + +#define IS_NAND_RANDOM(_dev) ((_dev)->flags & NAND_RANDOMIZER) +#define IS_NAND_ONLY_SYNC(_dev) ((_dev)->flags & NAND_MODE_ONLY_SYNC) +#define IS_NAND_SYNC_ASYNC(_dev) ((_dev)->flags & NAND_MODE_SYNC_ASYNC) +#define IS_NAND_ONFI(_dev) ((_dev)->flags & NAND_IS_ONFI) + +#define ERSTR_HARDWARE "Hardware configuration error. " +#define ERSTR_DRIVER "Driver does not support. " + +#define ENABLE 1 +#define DISABLE 0 + +/*****************************************************************************/ + +extern int (*hinfc_param_adjust)(struct mtd_info *, struct nand_chip *, struct nand_dev_t *); + +struct nand_flash_dev *hinfc_get_flash_type(struct mtd_info *mtd, + struct nand_chip *chip, u8 *id_data, int *busw); + +struct nand_flash_dev *hinfc_nand_probe(struct mtd_info *mtd, + struct nand_chip *chip, + struct nand_dev_t *nand_dev); +struct nand_flash_dev *hisfc_nand_probe(struct mtd_info *mtd, + struct nand_chip *chip, + struct nand_dev_t *nand_dev); + +void hinfc_nand_param_adjust(struct mtd_info *mtd, struct nand_chip *chip); + +void hinfc_show_info(struct mtd_info *mtd, char *vendor, char *chipname); + +void hinfc_show_chipsize(struct nand_chip *chip); + +int get_bits(unsigned int n); + +#define hinfc_pr_msg(_fmt, arg...) printk(_fmt, ##arg) + +#define hinfc_pr_bug(fmt, args...) do{\ + printk("%s(%d): bug " fmt, __FILE__, __LINE__, ##args); \ + while(1); \ +} while (0) + +/******************************************************************************/ + +#define NAND_RR_NONE 0x0 +#define NAND_RR_HYNIX_BG_BDIE 0x1 +#define NAND_RR_HYNIX_BG_CDIE 0x2 +#define NAND_RR_HYNIX_CG_ADIE 0x3 +#define NAND_RR_MICRON 0x4 +#define NAND_RR_SAMSUNG 0x5 +#define NAND_RR_TOSHIBA_V2012 0x6 +#define NAND_RR_TOSHIBA_V2013 0x7 + +#endif /* HINFC_COMMONH */ + diff --git a/drivers/mtd/nand/hinfc_spl_ids.c b/drivers/mtd/nand/hinfc_spl_ids.c new file mode 100644 index 000000000..1c2475a1c --- /dev/null +++ b/drivers/mtd/nand/hinfc_spl_ids.c @@ -0,0 +1,763 @@ +/****************************************************************************** + * Copyright (c) 2009-2010 by Hisilicon Tech. Co., Ltd. + * All rights reserved. + * *** + * Create By Czyong +******************************************************************************/ +#include +#include "hinfc_gen.h" + +/*****************************************************************************/ +/* this is nand probe function. */ +/*****************************************************************************/ + +#define DRV_VERSION "1.36" +/*****************************************************************************/ + +struct nand_flash_special_dev +{ + unsigned char id[8]; + int length; /* length of id. */ + unsigned long long chipsize; + struct nand_flash_dev *(*probe)(struct nand_dev_t *nand_dev); + char *name; + + unsigned int pagesize; + unsigned int erasesize; + unsigned int oobsize; + unsigned int options; + unsigned int read_retry_type; + +#define BBP_LAST_PAGE 0x01 +#define BBP_FIRST_PAGE 0x02 + unsigned int badblock_pos; + int flags; +}; + +/*****************************************************************************/ + +static struct nand_flash_dev *hynix_probe_v02( + struct nand_dev_t *nand_dev) +{ + unsigned char *id = nand_dev->ids; + struct nand_flash_dev *type = &nand_dev->flash_dev; + + int pagesizes[] = {SZ_2K, SZ_4K, SZ_8K, 0}; + int oobsizes[] = {128, 224, 448, 0, 0, 0, 0, 0}; + int blocksizes[] = {SZ_128K, SZ_256K, SZ_512K, (SZ_256K + SZ_512K), SZ_1M, SZ_2M, 0, 0}; + + int blocktype = (((id[3] >> 5) & 0x04) | ((id[3] >> 4) & 0x03)); + int oobtype = (((id[3] >> 2) & 0x03) | ((id[3] >> 4) & 0x04)); + + type->options = 0; + type->pagesize = pagesizes[(id[3] & 0x03)]; + type->erasesize = blocksizes[blocktype]; + nand_dev->oobsize = oobsizes[oobtype]; + + return type; +} +/*****************************************************************************/ + +static struct nand_flash_dev * samsung_probe_v02( + struct nand_dev_t *nand_dev) +{ + unsigned char *id = nand_dev->ids; + struct nand_flash_dev *type = &nand_dev->flash_dev; + + int pagesizes[] = {SZ_2K, SZ_4K, SZ_8K, 0}; + int oobsizes[] = {0, 128, 218, 400, 436, 0, 0, 0}; + int blocksizes[] = {SZ_128K, SZ_256K, SZ_512K, SZ_1M, 0, 0, 0, 0}; + + int blocktype = (((id[3] >> 5) & 0x04) | ((id[3] >> 4) & 0x03)); + int oobtype = (((id[3] >> 4) & 0x04) | ((id[3] >> 2) & 0x03)); + + type->options = 0; + type->pagesize = pagesizes[(id[3] & 0x03)]; + type->erasesize = blocksizes[blocktype]; + nand_dev->oobsize = oobsizes[oobtype]; + + return type; +} +/*****************************************************************************/ +/* + * samsung: 27nm need randomizer, 21nm need read retry; + * micron: 25nm need read retry, datasheet will explain read retry. + * toshaba 32nm need randomizer, 24nm need read retry. + * hynix: 2xnm need read retry. + */ + +struct nand_flash_special_dev nand_flash_special_dev[] = +{ + { /* SLC 4bit/512 */ + .name = "FMND1G08U3B", + .id = {0xF8, 0xF1, 0x80, 0x91, 0x00, 0x00, 0x00, 0x00}, + .length = 4, + .chipsize = SZ_128M, + .probe = NULL, + .pagesize = SZ_2K, + .erasesize = SZ_128K, + .oobsize = 64, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, + { /* MLC 40bit/1k */ + .name = "MT29F64G08CBABA", + .id = {0x2C, 0x64, 0x44, 0x4B, 0xA9, 0x00, 0x00, 0x00}, + .length = 8, + .chipsize = SZ_8G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 744, + .options = 0, + .read_retry_type = NAND_RR_MICRON, + .badblock_pos = BBP_FIRST_PAGE, + .flags = NAND_RANDOMIZER | NAND_CHIP_MICRON, + }, + { /* MLC 40bit/1k */ + .name = "MT29F32G08CBADA", + .id = {0x2C, 0x44, 0x44, 0x4B, 0xA9, 0x00, 0x00, 0x00}, + .length = 8, + .chipsize = SZ_4G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 744, + .options = 0, + .read_retry_type = NAND_RR_MICRON, + .badblock_pos = BBP_FIRST_PAGE, + .flags = NAND_RANDOMIZER, + }, + { /* SLC 4bit/512 */ + .name = "MT29F8G08ABxBA", + .id = {0x2C, 0x38, 0x00, 0x26, 0x85, 0x00, 0x00, 0x00}, + .length = 8, + .chipsize = SZ_1G, + .probe = NULL, + .pagesize = SZ_4K, + .erasesize = SZ_512K, + .oobsize = 224, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, + { /* MLC 12bit/512 */ + .name = "MT29F16G08CBABx", + .id = {0x2C, 0x48, 0x04, 0x46, 0x85, 0x00, 0x00, 0x00}, + .length = 8, + .chipsize = SZ_2G, + .probe = NULL, + .pagesize = SZ_4K, + .erasesize = SZ_1M, + .oobsize = 224, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, + { /* MLC 24bit/1k */ + .name = "MT29F16G08CBACA", + .id = {0x2C, 0x48, 0x04, 0x4A, 0xA5, 0x00, 0x00, 0x00}, + .length = 8, + .chipsize = SZ_2G, + .probe = NULL, + .pagesize = SZ_4K, + .erasesize = SZ_1M, + .oobsize = 224, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, + { /* MLC 24bit/1k */ + .name = "MT29F32G08CBACA", + .id = {0x2C, 0x68, 0x04, 0x4A, 0xA9, 0x00, 0x00, 0x00}, + .length = 8, + .chipsize = SZ_4G, + .probe = NULL, + .pagesize = SZ_4K, + .erasesize = SZ_1M, + .oobsize = 224, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, + { /* MLC 24bit/1k */ + .name = "MT29F64G08CxxAA", + .id = {0x2C, 0x88, 0x04, 0x4B, 0xA9, 0x00, 0x00, 0x00}, + .length = 8, + .chipsize = SZ_8G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 448, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, + { /* MLC 24bit/1k 2CE */ + .name = "MT29F256G08CJAAA", + .id = {0x2C, 0xA8, 0x05, 0xCB, 0xA9, 0x00, 0x00, 0x00}, + .length = 8, + .chipsize = SZ_16G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 448, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, +#if 0 + /* + * MT29F256G08CMCBB has 4ce, Hi3716CV200/Hi3798MV100 only support 2ce, + * Hi3798CV200/Hi3798MV200 support 1ce. + */ + { /* MLC 40bit/1k */ + .name = "MT29F256G08CMCBB", + .id = {0x2C, 0x64, 0x44, 0x4B, 0xA9, 0x00, 0x00, 0x00}, + .length = 8, + .chipsize = SZ_8G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 744, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, +#endif + { /* SLC 8bit/512 */ + .name = "MT29F8G08ABACA", + .id = {0x2C, 0xD3, 0x90, 0xA6, 0x64, 0x00, 0x00, 0x00}, + .length = 5, + .chipsize = SZ_1G, + .probe = NULL, + .pagesize = SZ_4K, + .erasesize = SZ_256K, + .oobsize = 224, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, + { /* SLC 8bit/512 */ + .name = "MT29F4G08ABAEA", + .id = {0x2C, 0xDC, 0x90, 0xA6, 0x54, 0x00, 0x00, 0x00}, + .length = 5, + .chipsize = SZ_512M, + .probe = NULL, + .pagesize = SZ_4K, + .erasesize = SZ_256K, + .oobsize = 224, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, + { /* SLC 8bit/512 */ + .name = "MT29F2G08ABAFA", + .id = {0x2C, 0xDA, 0x90, 0x95, 0x04, 0x00, 0x00, 0x00}, + .length = 5, + .chipsize = SZ_256M, + .probe = NULL, + .pagesize = SZ_2K, + .erasesize = SZ_128K, + .oobsize = 224, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, + { /* SLC 8bit/512 */ + .name = "MT29F16G08ABACA", + .id = {0x2C, 0x48, 0x00, 0x26, 0xA9, 0x00, 0x00, 0x00}, + .length = 5, + .chipsize = SZ_2G, + .probe = NULL, + .pagesize = SZ_4K, + .erasesize = SZ_512K, + .oobsize = 224, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, + + /****************************** Toshaba *******************************/ + + { /* MLC 24bit/1k 32nm */ + .name = "TC58NVG4D2FTA00", + .id = {0x98, 0xD5, 0x94, 0x32, 0x76, 0x55, 0x00, 0x00}, + .length = 6, + .chipsize = SZ_2G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_1M, + .oobsize = 448, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + { /* MLC 24bit/1k 32nm 2CE*/ + .name = "TH58NVG6D2FTA20", + .id = {0x98, 0xD7, 0x94, 0x32, 0x76, 0x55, 0x00, 0x00}, + .length = 6, + .chipsize = SZ_4G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_1M, + .oobsize = 448, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + { /* MLC 40bit/1k 24nm */ + .name = "TC58NVG5D2HTA00 24nm", + .id = {0x98, 0xD7, 0x94, 0x32, 0x76, 0x56, 0x08, 0x00}, + .length = 6, + .chipsize = SZ_4G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_1M, + .oobsize = 640, + .options = 0, + .read_retry_type = NAND_RR_TOSHIBA_V2012, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = NAND_RANDOMIZER, + }, + { /* MLC 40bit/1k */ + .name = "TC58NVG6D2GTA00", + .id = {0x98, 0xDE, 0x94, 0x82, 0x76, 0x00, 0x00, 0x00}, + .length = 5, + .chipsize = SZ_8G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 640, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + { /* MLC 19nm */ + .name = "TC58NVG6DCJTA00 19nm", + .id = {0x98, 0xDE, 0x84, 0x93, 0x72, 0x57, 0x08, 0x04}, + .length = 8, + .chipsize = SZ_8G, + .probe = NULL, + .pagesize = SZ_16K, + .erasesize = SZ_4M, + .oobsize = 1280, + .options = 0, + .read_retry_type = NAND_RR_TOSHIBA_V2012, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = NAND_RANDOMIZER, + }, + { /* MLC 19nm */ + .name = "TC58TEG5DCJTA00 19nm", + .id = {0x98, 0xD7, 0x84, 0x93, 0x72, 0x57, 0x08, 0x04}, + .length = 6, + .chipsize = SZ_4G, + .probe = NULL, + .pagesize = SZ_16K, + .erasesize = SZ_4M, + .oobsize = 1280, + .options = 0, + .read_retry_type = NAND_RR_TOSHIBA_V2012, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = NAND_RANDOMIZER | NAND_CHIP_TOSHIBA_TOGGLE_10, + }, + { /* SLC 8bit/512 */ + .name = "TC58NVG0S3HTA00/QSV128M4TGE", + .id = {0x98, 0xF1, 0x80, 0x15, 0x72, 0x00, 0x00, 0x00}, + .length = 5, + .chipsize = SZ_128M, + .probe = NULL, + .pagesize = SZ_2K, + .erasesize = SZ_128K, + .oobsize = 128, + .options = 0, + .read_retry_type = NAND_RR_NONE, + /* + * Datasheet: read one column of any page in each block. If the + * data of the column is 00 (Hex), define the block as a bad + * block. + */ + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, + { /* SLC 8bit/512 */ + .name = "TC58NVG1S3HTA00/QSV256M3THE", + .id = {0x98, 0xDA, 0x90, 0x15, 0x76, 0x16, 0x08, 0x00}, + .length = 8, + .chipsize = SZ_256M, + .probe = NULL, + .pagesize = SZ_2K, + .erasesize = SZ_128K, + .oobsize = 128, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, + { /* SLC 8bit/512 */ + .name = "TC58NVG1S3ETA00", + .id = {0x98, 0xDA, 0x90, 0x15, 0x76, 0x14, 0x03, 0x00}, + .length = 8, + .chipsize = SZ_256M, + .probe = NULL, + .pagesize = SZ_2K, + .erasesize = SZ_128K, + .oobsize = 64, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, { /* SLC 8bit/512 */ + .name = "TC58NVG2S0HTA00", + .id = {0x98, 0xDC, 0x90, 0x26, 0x76, 0x16, 0x08, 0x00}, + .length = 8, + .chipsize = SZ_512M, + .probe = NULL, + .pagesize = SZ_4K, + .erasesize = SZ_256K, + .oobsize = 256, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE, + .flags = 0, + }, { /* TLC 60bit/1k 19nm */ + .name = "TC58NVG5T2JTA00 19nm TLC", + /* datasheet says 6 bytes id data, but really has 8 bytes. */ + .id = {0x98, 0xD7, 0x98, 0x92, 0x72, 0x57, 0x08, 0x10}, + .length = 6, + .chipsize = SZ_4G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_4M, + .oobsize = 1024, + .options = 0, + .read_retry_type = NAND_RR_TOSHIBA_V2012, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = NAND_RANDOMIZER, + }, + { /* TLC 60bit/1k 19nm */ + .name = "TC58TEG5DCKTAx0 19nm MLC", + /* datasheet says 6 bytes id data, but really has 8 bytes. */ + .id = {0x98, 0xD7, 0x84, 0x93, 0x72, 0x50, 0x08, 0x04}, + .length = 6, + .chipsize = SZ_4G, + .probe = NULL, + .pagesize = SZ_16K, + .erasesize = SZ_4M, + .oobsize = 1280, + .options = 0, + .read_retry_type = NAND_RR_TOSHIBA_V2013, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = NAND_RANDOMIZER, + }, + { + .name = "Tx58TEGxDDKTAx0 19nm MLC", + .id = {0x98, 0xDE, 0x94, 0x93, 0x76, 0x50}, + .length = 6, + .chipsize = SZ_4G, + .probe = NULL, + .pagesize = SZ_16K, + .erasesize = SZ_4M, + .oobsize = 1280, + .options = 0, + .read_retry_type = NAND_RR_TOSHIBA_V2013, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = NAND_RANDOMIZER, + }, + /******************************* Samsung ******************************/ + { /* MLC 8bit/512B */ + .name = "K9LB(HC/PD/MD)G08U0(1)D", + .id = {0xEC, 0xD7, 0xD5, 0x29, 0x38, 0x41, 0x00, 0x00}, + .length = 6, + .chipsize = SZ_4G, + .probe = samsung_probe_v02, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_LAST_PAGE, + .flags = 0, + }, + { /* MLC 24bit/1KB */ + .name = "K9GAG08U0E", + .id = {0xEC, 0xD5, 0x84, 0x72, 0x50, 0x42, 0x00, 0x00}, + .length = 6, + .chipsize = SZ_2G, + .probe = samsung_probe_v02, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + { /* MLC 24bit/1KB */ + .name = "K9LBG08U0E", + .id = {0xEC, 0xD7, 0xC5, 0x72, 0x54, 0x42, 0x00, 0x00}, + .length = 6, + .chipsize = SZ_4G, + .probe = samsung_probe_v02, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + { /* MLC 24bit/1KB */ + .name = "K9G8G08U0C", + .id = {0xEC, 0xD3, 0x84, 0x72, 0x50, 0x42, 0x00, 0x00}, + .length = 6, + .chipsize = SZ_1G, + .probe = samsung_probe_v02, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + { /* MLC 24bit/1k */ + .name = "K9GAG08U0F", + .id = {0xEC, 0xD5, 0x94, 0x76, 0x54, 0x43, 0x00, 0x00}, + .length = 6, + .chipsize = SZ_2G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_1M, + .oobsize = 512, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + { /* MLC */ + .name = "K9LBG08U0M", + .id = {0xEC, 0xD7, 0x55, 0xB6, 0x78, 0x00, 0x00, 0x00}, + .length = 5, + .chipsize = SZ_4G, + .probe = NULL, + .pagesize = SZ_4K, + .erasesize = SZ_512K, + .oobsize = 128, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_LAST_PAGE, + .flags = 0, + }, + { /* MLC 24bit/1k */ + .name = "K9GBG08U0A 20nm", + .id = {0xEC, 0xD7, 0x94, 0x7A, 0x54, 0x43, 0x00, 0x00}, + .length = 6, + .chipsize = SZ_4G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_1M, + .oobsize = 640, + .options = 0, + .read_retry_type = NAND_RR_SAMSUNG, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = NAND_RANDOMIZER, + }, + { /* MLC 40bit/1k */ + .name = "K9GBG08U0B", + .id = {0xEC, 0xD7, 0x94, 0x7E, 0x64, 0x44, 0x00, 0x00}, + .length = 6, + .chipsize = SZ_4G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_1M, + .oobsize = 1024, + .options = 0, + .read_retry_type = NAND_RR_SAMSUNG, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = NAND_RANDOMIZER, + }, + + /*********************************** Hynix ****************************/ + { /* MLC */ + .name = "H27UAG8T2A", + .id = {0xAD, 0xD5, 0x94, 0x25, 0x44, 0x41, }, + .length = 6, + .chipsize = SZ_2G, + .probe = hynix_probe_v02, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + { /* MLC */ + .name = "H27UAG8T2B", + .id = {0xAD, 0xD5, 0x94, 0x9A, 0x74, 0x42, }, + .length = 6, + .chipsize = SZ_2G, + .probe = hynix_probe_v02, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + { /* MLC */ + .name = "H27UBG8T2A", + .id = {0xAD, 0xD7, 0x94, 0x9A, 0x74, 0x42, }, + .length = 6, + .chipsize = SZ_4G, + .probe = hynix_probe_v02, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + { /* MLC 24bit/1K, 26nm TODO: Need read retry, chip is EOS */ + .name = "H27UBG8T2BTR 26nm", + .id = {0xAD, 0xD7, 0x94, 0xDA, 0x74, 0xC3, }, + .length = 6, + .chipsize = SZ_4G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 640, + .options = 0, + .read_retry_type = NAND_RR_HYNIX_BG_BDIE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = NAND_RANDOMIZER, + }, + { /* MLC 40bit/1k */ + .name = "H27UCG8T2A", + .id = {0xAD, 0xDE, 0x94, 0xDA, 0x74, 0xC4, }, + .length = 6, + .chipsize = SZ_8G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 640, + .options = 0, + .read_retry_type = NAND_RR_HYNIX_CG_ADIE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = NAND_RANDOMIZER, + }, + { /* MLC 40bit/1k */ + .name = "H27UBG8T2C", + .id = {0xAD, 0xD7, 0x94, 0x91, 0x60, 0x44, }, + .length = 6, + .chipsize = SZ_4G, + .probe = NULL, + .pagesize = SZ_8K, + .erasesize = SZ_2M, + .oobsize = 640, + .options = 0, + .read_retry_type = NAND_RR_HYNIX_BG_CDIE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = NAND_RANDOMIZER, + }, + + /********************** MISC ******************************************/ + { /* MLC 8bit/512 */ + .name = "P1UAGA30AT-GCA", + .id = {0xC8, 0xD5, 0x14, 0x29, 0x34, 0x01, }, + .length = 6, + .chipsize = SZ_2G, + .probe = NULL, + .pagesize = SZ_4K, + .erasesize = SZ_512K, + .oobsize = 218, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + { /* MLC 4bit/512 */ + /* + * PowerFlash ASU8GA30IT-G30CA ID and MIRA PSU8GA30AT-GIA ID are + * the same ID + */ + .name = "PSU8GA30AT-GIA/ASU8GA30IT-G30CA", + .id = {0xC8, 0xD3, 0x90, 0x19, 0x34, 0x01, }, + .length = 6, + .chipsize = SZ_1G, + .probe = NULL, + .pagesize = SZ_4K, + .erasesize = SZ_256K, + .oobsize = 218, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + { /* SLC 1bit/512 */ + .name = "PSU2GA30AT", + .id = {0x7F, 0x7F, 0x7F, 0x7F, 0xC8, 0xDA, 0x00, 0x15, }, + .length = 8, + .chipsize = SZ_256M, + .probe = NULL, + .pagesize = SZ_2K, + .erasesize = SZ_128K, + .oobsize = 64, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + /********************** Spansion ******************************************/ + { /* SLC 4bit/512 */ + .name = "S34ML02G200BHI000", + .id = {0x01, 0xDA, 0x90, 0x95, 0x46, 0x01, 0xDA, 0x90, }, + .length = 8, + .chipsize = SZ_256M, + .probe = NULL, + .pagesize = SZ_2K, + .erasesize = SZ_128K, + .oobsize = 128, + .options = 0, + .read_retry_type = NAND_RR_NONE, + .badblock_pos = BBP_FIRST_PAGE | BBP_LAST_PAGE, + .flags = 0, + }, + {{0},0,0,0,0,0,0,0,0}, +}; + +#define NUM_OF_SPECIAL_DEVICE \ + (sizeof(nand_flash_special_dev)/sizeof(struct nand_flash_special_dev)) + +/*****************************************************************************/ + +struct nand_flash_dev *hinfc_nand_probe(struct mtd_info *mtd, + struct nand_chip *chip, + struct nand_dev_t *nand_dev) +{ + + unsigned char *byte = nand_dev->ids; + struct nand_flash_dev *type = &nand_dev->flash_dev; + struct nand_flash_special_dev *spl_dev; + struct nand_flash_special_dev *nand_spl_dev = nand_flash_special_dev; + + hinfc_pr_msg("Nand ID: 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X\n", + byte[0], byte[1], byte[2], byte[3], + byte[4], byte[5], byte[6], byte[7]); + + for (spl_dev = nand_spl_dev; spl_dev->length; spl_dev++) { + if (memcmp(byte, spl_dev->id, spl_dev->length)) + continue; + + if (spl_dev->probe) { + type = spl_dev->probe(nand_dev); + } else { + type->options = spl_dev->options; + type->pagesize = spl_dev->pagesize; + type->erasesize = spl_dev->erasesize; + nand_dev->oobsize = spl_dev->oobsize; + } + + nand_dev->read_retry_type = spl_dev->read_retry_type; + nand_dev->flags = spl_dev->flags; + + type->id[1] = byte[1]; + type->chipsize = (unsigned long)(spl_dev->chipsize >> 20); + type->name = spl_dev->name; + return type; + } + nand_dev->read_retry_type = NAND_RR_NONE; + + return NULL; +} diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig index 323ec56e8..7a565c20d 100644 --- a/drivers/net/ethernet/Kconfig +++ b/drivers/net/ethernet/Kconfig @@ -79,6 +79,7 @@ source "drivers/net/ethernet/freescale/Kconfig" source "drivers/net/ethernet/fujitsu/Kconfig" source "drivers/net/ethernet/fungible/Kconfig" source "drivers/net/ethernet/google/Kconfig" +source "drivers/net/ethernet/hieth/Kconfig" source "drivers/net/ethernet/hisilicon/Kconfig" source "drivers/net/ethernet/huawei/Kconfig" source "drivers/net/ethernet/i825xx/Kconfig" diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile index 2fedbaa54..0786c898b 100644 --- a/drivers/net/ethernet/Makefile +++ b/drivers/net/ethernet/Makefile @@ -44,6 +44,7 @@ obj-$(CONFIG_NET_VENDOR_FREESCALE) += freescale/ obj-$(CONFIG_NET_VENDOR_FUJITSU) += fujitsu/ obj-$(CONFIG_NET_VENDOR_FUNGIBLE) += fungible/ obj-$(CONFIG_NET_VENDOR_GOOGLE) += google/ +obj-$(CONFIG_HIETH_SWITCH_FABRIC) += hieth/ obj-$(CONFIG_NET_VENDOR_HISILICON) += hisilicon/ obj-$(CONFIG_NET_VENDOR_HUAWEI) += huawei/ obj-$(CONFIG_NET_VENDOR_IBM) += ibm/ diff --git a/drivers/net/ethernet/hieth/Kconfig b/drivers/net/ethernet/hieth/Kconfig new file mode 100644 index 000000000..646e35723 --- /dev/null +++ b/drivers/net/ethernet/hieth/Kconfig @@ -0,0 +1,22 @@ +# +# hieth family network device configuration +# + +menuconfig HIETH_SWITCH_FABRIC + tristate "hieth(switch fabric) family network device support" + depends on (ARCH_GODBOX|| ARCH_S40 || ARCH_HI3798MX || ARCH_HI3798MV2X || ARCH_HI3796MV2X || ARCH_HI3716MV420N) + select PHYLIB + help + This selects the hieth family network device. + +if HIETH_SWITCH_FABRIC + +config HIETH_MAX_RX_POOLS + int "hieth max rx pool size" + default "1024" + help + hieth max static rx pool size. + +endif # HIETH_SWITCH_FABRIC + +#vim: set ts=8 sw=8 tw=78: diff --git a/drivers/net/ethernet/hieth/Makefile b/drivers/net/ethernet/hieth/Makefile new file mode 100644 index 000000000..36cb18108 --- /dev/null +++ b/drivers/net/ethernet/hieth/Makefile @@ -0,0 +1,6 @@ +# +# Makefile for the hisilicon hieth device drivers. +# + +obj-$(CONFIG_HIETH_SWITCH_FABRIC) += mdio.o hieth.o phy.o autoeee.o hieth_dbg.o + diff --git a/drivers/net/ethernet/hieth/autoeee.c b/drivers/net/ethernet/hieth/autoeee.c new file mode 100644 index 000000000..7e1fa4b61 --- /dev/null +++ b/drivers/net/ethernet/hieth/autoeee.c @@ -0,0 +1,219 @@ +#include +#include "phy.h" +#include "hieth.h" + +/*----------------------------Macro definition-------------------------------*/ +#define NO_EEE 0 +#define MAC_EEE 1 +#define PHY_EEE 2 +#define PARTNER_EEE 2 + +#define debug(fmt...) +struct phy_info { + char *name; + int phy_id; + char eee_available;/* eee support by this phy */ + int (*eee_init)(struct phy_device *phy_dev); +}; + +/* GMAC register definition */ +#define EEE_ENABLE 0x488 +#define BIT_EEE_ENABLE (1 << 0) +#define EEE_TIMER 0x48C +#define EEE_LINK_STATUS 0x490 +#define BIT_PHY_LINK_STATUS (1 << 0) +#define EEE_TIME_CLK_CNT 0x494 + +/* ----------------------------phy register-------------------------------*/ +/* MMD: MDIO Manageable Device */ +#define MACR 0x0D +#define MAADR 0x0E +#define EEE_DEV 0x3 +#define EEE_CAPABILITY 0x14 +#define EEELPAR_DEV 0x7 +#define EEELPAR 0x3D /* EEE link partner ability register */ +#define EEE_ADVERTISE 0x3c +#define LP_1000BASE_EEE (1 << 2) +#define LP_100BASE_EEE (1 << 1) + +static struct phy_info phy_info_table[]; + +static struct phy_info *phy_search_ids(int phy_id) +{ + int i; + struct phy_info *fit_info = NULL; + + for (i = 0; phy_info_table[i].name != NULL; i++) { + if (phy_id == phy_info_table[i].phy_id) + fit_info = &phy_info_table[i]; + } + + return fit_info; +} + +static inline int phy_mmd_read(struct phy_device *phy_dev, + u32 mmd_device, u32 regnum) +{ + phy_write(phy_dev, MACR, mmd_device);/* function = 00 address */ + phy_write(phy_dev, MAADR, regnum); + phy_write(phy_dev, MACR, 0x4000 | mmd_device);/* function = 01 data */ + + return phy_read(phy_dev, MAADR); +} + +static inline int phy_mmd_write(struct phy_device *phy_dev, + u32 mmd_device, u32 regnum, u16 val) +{ + phy_write(phy_dev, MACR, mmd_device);/* function = 00 address */ + phy_write(phy_dev, MAADR, regnum); + phy_write(phy_dev, MACR, 0x4000 | mmd_device);/* function = 01 data */ + + return phy_write(phy_dev, MAADR, val); +} + +static int smsc_lan8740_init(struct phy_device *phy_dev) +{ + static int first_time; + int v, eee_type = 0; + /* Realtek LAN 8740 start to enable eee */ + int eee_lan; + + if (!first_time) { + eee_lan = phy_read(phy_dev, 0x10); + eee_lan |= 0x4; + phy_write(phy_dev, 0x10, eee_lan); + eee_lan = phy_read(phy_dev, 0x10); + debug("eee enable bit[45?] :%x\n", eee_lan); + /* auto negotiate after enable eee*/ + eee_lan = phy_read(phy_dev, 0x0); + eee_lan |= 0x200; + phy_write(phy_dev, 0x0, eee_lan); + first_time = 1; + } + + v = phy_mmd_read(phy_dev, EEELPAR_DEV, EEELPAR); + debug("EEELPAR = 0x%x\n", v); + + if (v & LP_100BASE_EEE) + eee_type |= HIETH_P_MAC_PORTSET_SPD_100M; + + return eee_type; +} + +static int rtl8211EG_init(struct phy_device *phy_dev) +{ + int eee_type = 0, v; + + v = phy_mmd_read(phy_dev, EEELPAR_DEV, EEELPAR); + debug("EEELPAR = 0x%x\n", v); + + if (v & LP_100BASE_EEE) + eee_type |= HIETH_P_MAC_PORTSET_SPD_100M; + + return eee_type; +} + +static int festa_v200_init(struct phy_device *phy_dev) +{ + static int first_time_init; + int v, eee_type = 0; + + if (!first_time_init) { + /* EEE_CAPABILITY register: support 100M-BaseT */ + v = phy_mmd_read(phy_dev, EEE_DEV, EEE_CAPABILITY); + phy_mmd_write(phy_dev, EEE_DEV, EEE_CAPABILITY, v|(1<<1)); + + /* EEE_ADVERTISEMENT register: advertising 100M-BaseT */ + v = phy_mmd_read(phy_dev, EEELPAR_DEV, EEE_ADVERTISE); + phy_mmd_write(phy_dev, EEELPAR_DEV, EEE_ADVERTISE, v|(1<<1)); + + v = phy_read(phy_dev, MII_BMCR); + v |= (BMCR_ANENABLE | BMCR_ANRESTART); + phy_write(phy_dev, MII_BMCR, v);/* auto-neg restart */ + + first_time_init = 1; + } + + v = phy_mmd_read(phy_dev, EEELPAR_DEV, EEELPAR); + debug("EEELPAR = 0x%x\n", v); + + if (v & LP_100BASE_EEE) + eee_type |= HIETH_P_MAC_PORTSET_SPD_100M; + + return eee_type; +} + +static struct phy_info phy_info_table[] = { + /* phy_name phy_id eee_available phy_driver */ + /* SMSC */ + {"SMSC LAN8740", 0x0007c110, MAC_EEE, &smsc_lan8740_init}, + /* Realtek */ + {"Realtek 8211EG", 0x001cc915, PHY_EEE, &rtl8211EG_init}, + {"Festa V200", HISILICON_PHY_ID_FESTAV200, MAC_EEE, &festa_v200_init}, + {"Festa V300", HISILICON_PHY_ID_FESTAV300, MAC_EEE, &festa_v200_init}, + {0, 0, 0, 0}, +}; + +void hieth_autoeee_init(struct hieth_netdev_priv *priv, int link_stat) +{ + int phy_id = priv->phy->phy_id; + int eee_available, lp_eee_capable, v; + struct phy_info *phy_info; + + if (priv->eee_init) + goto eee_init; + + phy_info = phy_search_ids(phy_id); + if (phy_info) { + eee_available = phy_info->eee_available; + debug("fit phy_id:0x%x, phy_name:%s, eee:%d\n", + phy_info->phy_id, phy_info->name, eee_available); + + if (!eee_available) + goto not_support; + + if (eee_available == PHY_EEE) { + debug("enter phy-EEE mode\n"); + v = readl(priv->glb_base + EEE_ENABLE); + v &= ~BIT_EEE_ENABLE;/* disable auto-EEE */ + writel(v, priv->glb_base + EEE_ENABLE); + return; + } + + priv->eee_init = phy_info->eee_init; +eee_init: + lp_eee_capable = priv->eee_init(priv->phy); + if (link_stat & HIETH_P_MAC_PORTSET_LINKED) { + if (lp_eee_capable & link_stat) { + /* EEE_1us: 0x7c for 125M */ + writel(0x7c, priv->glb_base + EEE_TIME_CLK_CNT); + writel(0x4002710, priv->glb_base + EEE_TIMER); + + v = readl(priv->glb_base + EEE_LINK_STATUS); + v |= 0x3 << 1;/* auto EEE and ... */ + v |= BIT_PHY_LINK_STATUS;/* phy linkup */ + writel(v, priv->glb_base + EEE_LINK_STATUS); + + v = readl(priv->glb_base + EEE_ENABLE); + v |= BIT_EEE_ENABLE;/* enable EEE */ + writel(v, priv->glb_base + EEE_ENABLE); + + debug("enter auto-EEE mode\n"); + return; + } else { + debug("link partner not support EEE\n"); + return; + } + } else { + v = readl(priv->glb_base + EEE_LINK_STATUS); + v &= ~(BIT_PHY_LINK_STATUS);/* phy linkdown */ + writel(v, priv->glb_base + EEE_LINK_STATUS); + return; + } + } + +not_support: + priv->eee_init = NULL; + debug("non-EEE mode\n"); +} + diff --git a/drivers/net/ethernet/hieth/hieth.c b/drivers/net/ethernet/hieth/hieth.c new file mode 100644 index 000000000..f85729d87 --- /dev/null +++ b/drivers/net/ethernet/hieth/hieth.c @@ -0,0 +1,1540 @@ +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "hieth.h" +#include "mdio.h" +#include "hieth_dbg.h" + + +/*----------------------------Global variable-------------------------------*/ +struct hieth_phy_param_s hieth_phy_param[HIETH_MAX_PORT]; + +/*----------------------------Local variable-------------------------------*/ +static struct net_device *hieth_devs_save[HIETH_MAX_PORT] = { NULL, NULL }; +static struct hieth_netdev_priv hieth_priv; + +/* real port count */ +static int hieth_real_port_cnt; +/* default, eth enable */ +static bool hieth_disable; +/* autoeee, enabled by dts */ +static bool hieth_enable_autoeee; + +static int __init hieth_noeth(char *str) +{ + hieth_disable = true; + + return 0; +} + +early_param("noeth", hieth_noeth); + +#include "pm.c" + +static int hieth_hw_set_macaddress(struct hieth_netdev_priv *priv, + unsigned char *mac) +{ + u32 reg; + + if (priv->port == HIETH_PORT_1) { + reg = hieth_readl(priv->glb_base, HIETH_GLB_DN_HOSTMAC_ENA); + reg |= HIETH_GLB_DN_HOSTMAC_ENA_BIT; + hieth_writel(priv->glb_base, reg, HIETH_GLB_DN_HOSTMAC_ENA); + } + + reg = mac[1] | (mac[0] << 8); + if (priv->port == HIETH_PORT_0) + hieth_writel(priv->glb_base, reg, HIETH_GLB_HOSTMAC_H16); + else + hieth_writel(priv->glb_base, reg, HIETH_GLB_DN_HOSTMAC_H16); + + reg = mac[5] | (mac[4] << 8) | (mac[3] << 16) | (mac[2] << 24); + if (priv->port == HIETH_PORT_0) + hieth_writel(priv->glb_base, reg, HIETH_GLB_HOSTMAC_L32); + else + hieth_writel(priv->glb_base, reg, HIETH_GLB_DN_HOSTMAC_L32); + + return 0; +} + +static void hieth_irq_enable(struct hieth_netdev_priv *priv, int irqs) +{ + u32 val; + + local_lock(priv); + val = hieth_readl(priv->glb_base, HIETH_GLB_IRQ_ENA); + hieth_writel(priv->glb_base, val | irqs, HIETH_GLB_IRQ_ENA); + local_unlock(priv); +} + +static void hieth_irq_disable(struct hieth_netdev_priv *priv, int irqs) +{ + u32 val; + + local_lock(priv); + val = hieth_readl(priv->glb_base, HIETH_GLB_IRQ_ENA); + hieth_writel(priv->glb_base, val & (~irqs), HIETH_GLB_IRQ_ENA); + local_unlock(priv); +} + +static void hieth_clear_irqstatus(struct hieth_netdev_priv *priv, int irqs) +{ + local_lock(priv); + hieth_writel(priv->glb_base, irqs, HIETH_GLB_IRQ_RAW); + local_unlock(priv); +} + +static int hieth_port_reset(struct hieth_netdev_priv *priv) +{ + u32 rst_bit = 0; + u32 val; + + if (hieth_real_port_cnt == 1) + rst_bit = HIETH_GLB_SOFT_RESET_ALL; + else { + if (priv->port == HIETH_PORT_0) { + rst_bit |= HIETH_GLB_SOFT_RESET_P0; + } else if (priv->port == HIETH_PORT_1) { + rst_bit |= HIETH_GLB_SOFT_RESET_P1; + } else { + BUG(); + } + } + + val = hieth_readl(priv->glb_base, HIETH_GLB_SOFT_RESET); + + val |= rst_bit; + hieth_writel(priv->glb_base, val, HIETH_GLB_SOFT_RESET); + usleep_range(1000, 10000); + val &= ~rst_bit; + hieth_writel(priv->glb_base, val, HIETH_GLB_SOFT_RESET); + usleep_range(1000, 10000); + val |= rst_bit; + hieth_writel(priv->glb_base, val, HIETH_GLB_SOFT_RESET); + usleep_range(1000, 10000); + val &= ~rst_bit; + hieth_writel(priv->glb_base, val, HIETH_GLB_SOFT_RESET); + + return 0; +} + +static void hieth_port_init(struct hieth_netdev_priv *priv) +{ + u32 val; + int phy_intf = (priv->phy_mode == PHY_INTERFACE_MODE_MII ? + HIETH_P_MAC_PORTSEL_MII : HIETH_P_MAC_PORTSEL_RMII); + + /* set little endian */ + val = hieth_readl(priv->glb_base, HIETH_GLB_ENDIAN_MOD); + val |= HIETH_GLB_ENDIAN_MOD_IN; + val |= HIETH_GLB_ENDIAN_MOD_OUT; + hieth_writel(priv->glb_base, val, HIETH_GLB_ENDIAN_MOD); + + /* set stat ctrl to cpuset, and MII or RMII mode */ + hieth_writel(priv->port_base, phy_intf | HIETH_P_MAC_PORTSEL_STAT_CPU, + HIETH_P_MAC_PORTSEL); + + /*clear all interrupt status */ + hieth_clear_irqstatus(priv, UD_BIT_NAME(HIETH_GLB_IRQ_ENA_BIT)); + + /*disable interrupts */ + hieth_irq_disable(priv, UD_BIT_NAME(HIETH_GLB_IRQ_ENA_BIT) | + UD_BIT_NAME(HIETH_GLB_IRQ_ENA_IEN)); + + /* disable vlan, enable UpEther<->CPU */ + val = hieth_readl(priv->glb_base, HIETH_GLB_FWCTRL); + val &= ~HIETH_GLB_FWCTRL_VLAN_ENABLE; + val |= UD_BIT_NAME(HIETH_GLB_FWCTRL_FW2CPU_ENA); + val &= ~(UD_BIT_NAME(HIETH_GLB_FWCTRL_FWALL2CPU)); + hieth_writel(priv->glb_base, val, HIETH_GLB_FWCTRL); + val = hieth_readl(priv->glb_base, HIETH_GLB_MACTCTRL); + val |= UD_BIT_NAME(HIETH_GLB_MACTCTRL_BROAD2CPU); + val |= UD_BIT_NAME(HIETH_GLB_MACTCTRL_MACT_ENA); + hieth_writel(priv->glb_base, val, HIETH_GLB_MACTCTRL); + + /* set pre count limit */ + val = hieth_readl(priv->port_base, HIETH_P_MAC_TX_IPGCTRL); + val &= ~HIETH_P_MAC_TX_IPGCTRL_PRE_CNT_LMT_MSK; + val |= 0; + hieth_writel(priv->port_base, val, HIETH_P_MAC_TX_IPGCTRL); + + /* set max receive length */ + val = hieth_readl(priv->port_base, HIETH_P_MAC_SET); + val &= ~HIETH_P_MAC_SET_LEN_MAX_MSK; + val |= HIETH_P_MAC_SET_LEN_MAX(HIETH_MAX_RCV_LEN); + hieth_writel(priv->port_base, val, HIETH_P_MAC_SET); +} + +static void hieth_set_hwq_depth(struct hieth_netdev_priv *priv) +{ + u32 val; + + val = hieth_readl(priv->port_base, HIETH_P_GLB_QLEN_SET); + val &= ~HIETH_P_GLB_QLEN_SET_TXQ_DEP_MSK; + val |= HIETH_P_GLB_QLEN_SET_TXQ_DEP(priv->depth.hw_xmitq); + val &= ~HIETH_P_GLB_QLEN_SET_RXQ_DEP_MSK; + val |= HIETH_P_GLB_QLEN_SET_RXQ_DEP(HIETH_MAX_QUEUE_DEPTH - + priv->depth.hw_xmitq); + hieth_writel(priv->port_base, val, HIETH_P_GLB_QLEN_SET); +} + +static inline int hieth_hw_xmitq_ready(struct hieth_netdev_priv *priv) +{ + int ret; + + ret = hieth_readl(priv->port_base, HIETH_P_GLB_RO_QUEUE_STAT); + ret &= HIETH_P_GLB_RO_QUEUE_STAT_XMITQ_RDY_MSK; + + return ret; +} + +static int hieth_xmit_release_skb(struct hieth_netdev_priv *priv) +{ + u32 val; + int ret = 0; + struct sk_buff *skb; + u32 tx_comp = 0; + struct net_device *ndev = hieth_devs_save[priv->port]; + + local_lock(priv); + + val = hieth_readl(priv->port_base, HIETH_P_GLB_RO_QUEUE_STAT) & + HIETH_P_GLB_RO_QUEUE_STAT_XMITQ_CNT_INUSE_MSK; + while (val < priv->tx_hw_cnt) { + skb = skb_dequeue(&priv->tx_hw); + + if (!skb) { + pr_err("hw_xmitq_cnt_inuse=%d, tx_hw_cnt=%d\n", + val, priv->tx_hw_cnt); + + BUG(); + ret = -1; + goto error_exit; + } + dev_kfree_skb_any(skb); + + priv->tx_hw_cnt--; + tx_comp++; + + val = hieth_readl(priv->port_base, HIETH_P_GLB_RO_QUEUE_STAT) & + HIETH_P_GLB_RO_QUEUE_STAT_XMITQ_CNT_INUSE_MSK; + } + + if (tx_comp) + netif_wake_queue(ndev); + +error_exit: + local_unlock(priv); + return ret; +} + +static void hieth_xmit_real_send(struct hieth_netdev_priv *priv, + struct sk_buff *skb) +{ + u32 val; + + local_lock(priv); + + /* for recalc CRC, 4 bytes more is needed */ + hieth_writel(priv->port_base, virt_to_phys(skb->data), + HIETH_P_GLB_EQ_ADDR); + val = hieth_readl(priv->port_base, HIETH_P_GLB_EQFRM_LEN); + val &= ~HIETH_P_GLB_EQFRM_TXINQ_LEN_MSK; + val |= skb->len + 4; + hieth_writel(priv->port_base, skb->len + 4, HIETH_P_GLB_EQFRM_LEN); + + skb_queue_tail(&priv->tx_hw, skb); + + priv->tx_hw_cnt++; + + local_unlock(priv); +} + +static __maybe_unused struct sk_buff *hieth_platdev_alloc_skb(struct hieth_netdev_priv *priv) +{ + struct sk_buff *skb; + int i; + + skb = priv->rx_pool.sk_pool[priv->rx_pool.next_free_skb++]; + + if (priv->rx_pool.next_free_skb == CONFIG_HIETH_MAX_RX_POOLS) + priv->rx_pool.next_free_skb = 0; + + /*current skb is used by kernel or other process,find another skb*/ + if (skb_shared(skb) || (atomic_read(&(skb_shinfo(skb)->dataref)) > 1)) { + for (i = 0; i < CONFIG_HIETH_MAX_RX_POOLS; i++) { + skb = priv->rx_pool.sk_pool[priv-> + rx_pool.next_free_skb++]; + if (priv->rx_pool.next_free_skb == + CONFIG_HIETH_MAX_RX_POOLS) + priv->rx_pool.next_free_skb = 0; + + if ((skb_shared(skb) == 0) && + (atomic_read(&(skb_shinfo(skb)->dataref)) <= 1)) + break; + } + + if (i == CONFIG_HIETH_MAX_RX_POOLS) { + priv->stat.rx_pool_dry_times++; + pr_debug("%ld: no free skb\n", + priv->stat.rx_pool_dry_times); + skb = dev_alloc_skb(SKB_SIZE); + return skb; + } + } + memset(skb, 0, offsetof(struct sk_buff, tail)); + + skb->data = skb->head; + skb_reset_tail_pointer(skb); + WARN(skb->end != (skb->tail + SKB_DATA_ALIGN(SKB_SIZE + NET_SKB_PAD)), + "head=%p, tail=%x, end=%x\n", skb->head, (unsigned int)skb->tail, + (unsigned int)skb->end); + skb->end = skb->tail + SKB_DATA_ALIGN(SKB_SIZE + NET_SKB_PAD); + + skb_reserve(skb, NET_SKB_PAD); + skb->len = 0; + skb->data_len = 0; + skb->cloned = 0; + refcount_inc(&skb->users); + return skb; +} + +static int hieth_feed_hw(struct hieth_netdev_priv *priv) +{ + struct sk_buff *skb; + int cnt = 0; + int rx_head_len; + + /* if skb occupied too much, then do not alloc any more. */ + rx_head_len = skb_queue_len(&priv->rx_head); + if (rx_head_len > HIETH_MAX_RX_HEAD_LEN) + return 0; + + local_lock(priv); + + while (hieth_readl(priv->port_base, HIETH_P_GLB_RO_QUEUE_STAT) & + HIETH_P_GLB_RO_QUEUE_STAT_RECVQ_RDY_MSK) { + skb = dev_alloc_skb(SKB_SIZE); + if (!skb) + break; + + dma_map_single(priv->dev, skb->data, HIETH_MAX_FRAME_SIZE, + DMA_FROM_DEVICE); + hieth_writel(priv->port_base, virt_to_phys(skb->data + 2), + HIETH_P_GLB_IQ_ADDR); + skb_queue_tail(&priv->rx_hw, skb); + cnt++; + } + + local_unlock(priv); + return cnt; +} + +int hieth_recv_budget(struct hieth_netdev_priv *priv, int budget) +{ + struct sk_buff *skb; + uint32_t rlen; + int cnt = 0; + + local_lock(priv); + + while ((hieth_readl(priv->glb_base, HIETH_GLB_IRQ_RAW) & + (UD_BIT_NAME(HIETH_GLB_IRQ_INT_RX_RDY)))) { + + if (budget > 0 && cnt >= budget) + break; + + rlen = hieth_readl(priv->port_base, HIETH_P_GLB_RO_IQFRM_DES); + rlen &= HIETH_P_GLB_RO_IQFRM_DES_FDIN_LEN_MSK; + rlen -= 4; /* remove FCS 4Bytes */ + + /* hw set rx pkg finish */ + hieth_writel(priv->glb_base, + UD_BIT_NAME(HIETH_GLB_IRQ_INT_RX_RDY), + HIETH_GLB_IRQ_RAW); + + skb = skb_dequeue(&priv->rx_hw); + + if (!skb) { + pr_err("chip told us to receive pkg," + "but no more can be received!\n"); + BUG(); + break; + } + + dma_map_single(priv->dev, skb->data, HIETH_MAX_FRAME_SIZE, + DMA_FROM_DEVICE); + skb_reserve(skb, 2); + skb_put(skb, rlen); + + skb_queue_tail(&priv->rx_head, skb); + cnt++; + } + + local_unlock(priv); + + /* fill hardware receive queue again */ + hieth_feed_hw(priv); + + return cnt; +} + +static void hieth_adjust_link(struct net_device *dev) +{ + int stat = 0; + struct hieth_netdev_priv *priv = netdev_priv(dev); + + stat |= (priv->phy->link) ? HIETH_P_MAC_PORTSET_LINKED : 0; + stat |= (priv->phy->duplex == DUPLEX_FULL) ? + HIETH_P_MAC_PORTSET_DUP_FULL : 0; + stat |= (priv->phy->speed == SPEED_100) ? + HIETH_P_MAC_PORTSET_SPD_100M : 0; + + /* The following expression + * "(stat | priv->link_stat) & HIETH_P_MAC_PORTSET_LINKED" + * means we only consider three link status change as valid: + * 1) down -> up; + * 2) up -> down; + * 3) up -> up; (maybe the link speed and duplex changed) + * We will ignore the "down -> down" condition. + */ + if ((stat != priv->link_stat) && + ((stat | priv->link_stat) & HIETH_P_MAC_PORTSET_LINKED)) { + hieth_writel(priv->port_base, stat, HIETH_P_MAC_PORTSET); + phy_print_status(priv->phy); + priv->link_stat = stat; + + if (hieth_enable_autoeee) + hieth_autoeee_init(priv, stat); + } +} + +static int hieth_init_skb_buffers(struct hieth_netdev_priv *priv) +{ + int i; + struct sk_buff *skb; + + for (i = 0; i < CONFIG_HIETH_MAX_RX_POOLS; i++) { + skb = dev_alloc_skb(SKB_SIZE); + if (!skb) + break; + priv->rx_pool.sk_pool[i] = skb; + } + + if (i < CONFIG_HIETH_MAX_RX_POOLS) { + pr_err("no mem\n"); + for (i--; i > 0; i--) + dev_kfree_skb_any(priv->rx_pool.sk_pool[i]); + return -ENOMEM; + } + + priv->rx_pool.next_free_skb = 0; + priv->stat.rx_pool_dry_times = 0; + return 0; +} + +static void hieth_destroy_skb_buffers(struct hieth_netdev_priv *priv) +{ + int i; + + for (i = 0; i < CONFIG_HIETH_MAX_RX_POOLS; i++) + dev_kfree_skb_any(priv->rx_pool.sk_pool[i]); + + priv->rx_pool.next_free_skb = 0; + priv->stat.rx_pool_dry_times = 0; +} + +static void hieth_net_isr_proc(struct net_device *ndev, int ints) +{ + struct hieth_netdev_priv *priv = netdev_priv(ndev); + + if ((ints & UD_BIT_NAME(HIETH_GLB_IRQ_INT_MULTI_RXRDY)) || + (ints & UD_BIT_NAME(HIETH_GLB_IRQ_INT_TXQUE_RDY))) { + hieth_clear_irqstatus(priv, UD_BIT_NAME(HIETH_GLB_IRQ_INT_TXQUE_RDY)); + hieth_irq_disable(priv, + UD_BIT_NAME(HIETH_GLB_IRQ_INT_MULTI_RXRDY)); + hieth_irq_disable(priv, + UD_BIT_NAME(HIETH_GLB_IRQ_INT_TXQUE_RDY)); + napi_schedule(&priv->napi); + } +} + +static irqreturn_t hieth_net_isr(int irq, void *dev_id) +{ + int ints; + struct net_device *dev = (struct net_device *)dev_id; + struct hieth_netdev_priv *priv = netdev_priv(dev); + + /*mask the all interrupt */ + hieth_irq_disable(priv, HIETH_GLB_IRQ_ENA_IEN_A); + + ints = hieth_readl(priv->glb_base, HIETH_GLB_IRQ_STAT); + + if ((HIETH_PORT_0 == priv->port) && + likely(ints & HIETH_GLB_IRQ_ENA_BIT_U)) { + hieth_net_isr_proc(dev, (ints & HIETH_GLB_IRQ_ENA_BIT_U)); + hieth_clear_irqstatus(priv, (ints & HIETH_GLB_IRQ_ENA_BIT_U)); + ints &= ~HIETH_GLB_IRQ_ENA_BIT_U; + } + + if ((HIETH_PORT_1 == priv->port) && + likely(ints & HIETH_GLB_IRQ_ENA_BIT_D)) { + hieth_net_isr_proc(dev, (ints & HIETH_GLB_IRQ_ENA_BIT_D)); + hieth_clear_irqstatus(priv, (ints & HIETH_GLB_IRQ_ENA_BIT_D)); + ints &= ~HIETH_GLB_IRQ_ENA_BIT_D; + } + + /*unmask the all interrupt */ + hieth_irq_enable(priv, HIETH_GLB_IRQ_ENA_IEN_A); + + return IRQ_HANDLED; +} + +static void hieth_monitor_func(struct timer_list *t) +{ + struct hieth_netdev_priv *priv = from_timer(priv, t, monitor); + + if (!priv) { + pr_debug("network driver is stopped.\n"); + return; + } + + hieth_feed_hw(priv); + hieth_xmit_release_skb(priv); + + priv->monitor.expires = + jiffies + msecs_to_jiffies(HIETH_MONITOR_TIMER); + add_timer(&priv->monitor); +} + +static int hieth_net_open(struct net_device *dev) +{ + int ret = 0; + struct cpumask cpumask; + struct hieth_netdev_priv *priv = netdev_priv(dev); + + ret = request_irq(dev->irq, hieth_net_isr, IRQF_SHARED, + dev->name, dev); + if (ret) { + pr_err("request_irq %d failed!\n", dev->irq); + return ret; + } + + /* set irq affinity */ + if ((num_online_cpus() > 1) && cpu_online(HIETH_IRQ_AFFINITY_CPU)) { + cpumask_clear(&cpumask); + cpumask_set_cpu(HIETH_IRQ_AFFINITY_CPU, &cpumask); + irq_set_affinity(dev->irq, &cpumask); + } + + if (!is_valid_ether_addr(dev->dev_addr)) + eth_random_addr(dev->dev_addr); + + hieth_hw_set_macaddress(priv, dev->dev_addr); + + /* setup hardware */ + hieth_set_hwq_depth(priv); + hieth_clear_irqstatus(priv, UD_BIT_NAME(HIETH_GLB_IRQ_ENA_BIT)); + + netif_carrier_off(dev); + hieth_feed_hw(priv); + + netif_wake_queue(dev); + napi_enable(&priv->napi); + + priv->link_stat = 0; + if (priv->phy) + phy_start(priv->phy); + + hieth_irq_enable(priv, UD_BIT_NAME(HIETH_GLB_IRQ_INT_MULTI_RXRDY) | + UD_BIT_NAME(HIETH_GLB_IRQ_ENA_IEN) | + HIETH_GLB_IRQ_ENA_IEN_A); + + priv->monitor.expires = + jiffies + msecs_to_jiffies(HIETH_MONITOR_TIMER); + add_timer(&priv->monitor); + + return 0; +} + +static int hieth_net_close(struct net_device *dev) +{ + struct hieth_netdev_priv *priv = netdev_priv(dev); + + hieth_irq_disable(priv, UD_BIT_NAME(HIETH_GLB_IRQ_INT_MULTI_RXRDY)); + napi_disable(&priv->napi); + netif_stop_queue(dev); + if (priv->phy) + phy_stop(priv->phy); + + del_timer_sync(&priv->monitor); + + /* reset and init port */ + hieth_port_reset(priv); + + skb_queue_purge(&priv->rx_head); + skb_queue_purge(&priv->rx_hw); + skb_queue_purge(&priv->tx_hw); + priv->tx_hw_cnt = 0; + + free_irq(dev->irq, dev); + return 0; +} + +static void hieth_net_timeout(struct net_device *dev, unsigned int txqueue) +{ + pr_err("tx timeout\n"); +} + +#if defined(CONFIG_ARCH_HI3798MV2X) +#define HIETH_COPY_WHEN_XMIT +#endif + +#ifdef HIETH_COPY_WHEN_XMIT +static struct sk_buff *hieth_skb_copy(const struct sk_buff *skb, gfp_t gfp_mask) +{ + unsigned int size = skb->len + ETH_FCS_LEN; + struct sk_buff *n = __alloc_skb(size, gfp_mask, 0, NUMA_NO_NODE); + + if (!n) + return NULL; + + /* Set the tail pointer and length */ + skb_put(n, skb->len); + + if (skb_copy_bits(skb, 0, n->data, skb->len)) + BUG(); + + return n; +} +#endif + +static int hieth_net_hard_start_xmit(struct sk_buff *skb, + struct net_device *dev) +{ + struct hieth_netdev_priv *priv = netdev_priv(dev); +#ifdef HIETH_COPY_WHEN_XMIT + bool tx_buff_not_aligned = false; +#endif + + if (!hieth_hw_xmitq_ready(priv)) { + priv->stats.tx_dropped++; + netif_stop_queue(dev); + hieth_irq_enable(priv, + UD_BIT_NAME(HIETH_GLB_IRQ_INT_TXQUE_RDY)); + return NETDEV_TX_BUSY; + } + +#ifdef HIETH_COPY_WHEN_XMIT + tx_buff_not_aligned = (unsigned long)(skb->data) & GENMASK(5, 2); + if (tx_buff_not_aligned) { + struct sk_buff *new_skb = NULL; + + new_skb = hieth_skb_copy(skb, GFP_ATOMIC); + if (new_skb) { + dev_kfree_skb_any(skb); + skb = new_skb; + } + } +#endif + + dma_map_single(priv->dev, skb->data, skb->len, DMA_TO_DEVICE); + + hieth_xmit_real_send(priv, skb); + + netif_trans_update(dev); + priv->stats.tx_packets++; + priv->stats.tx_bytes += skb->len; + + return NETDEV_TX_OK; +} + +static struct net_device_stats *hieth_net_get_stats(struct net_device *dev) +{ + struct hieth_netdev_priv *priv = netdev_priv(dev); + + return &priv->stats; +} + +static int hieth_net_set_mac_address(struct net_device *dev, void *p) +{ + struct hieth_netdev_priv *priv = netdev_priv(dev); + struct sockaddr *addr = p; + + if (!is_valid_ether_addr(addr->sa_data)) + return -EADDRNOTAVAIL; + + eth_commit_mac_addr_change(dev, p); + dev->addr_assign_type &= ~NET_ADDR_RANDOM; + + hieth_hw_set_macaddress(priv, dev->dev_addr); + + return 0; +} + +static inline void hieth_enable_mac_addr_filter(struct hieth_netdev_priv *priv, + unsigned int reg_n, int enable) +{ + u32 val; + + val = hieth_readl(priv->glb_base, GLB_MAC_H16(priv->port, reg_n)); + if (enable) + val |= UD_BIT_NAME(HIETH_GLB_MACFLT_ENA); + else + val &= ~(UD_BIT_NAME(HIETH_GLB_MACFLT_ENA)); + hieth_writel(priv->glb_base, val, GLB_MAC_H16(priv->port, reg_n)); +} + +static void hieth_set_mac_addr(struct hieth_netdev_priv *priv, u8 addr[6], + unsigned int high, unsigned int low) +{ + u32 val; + u32 data; + + val = hieth_readl(priv->glb_base, high); + val |= UD_BIT_NAME(HIETH_GLB_MACFLT_ENA); + hieth_writel(priv->glb_base, val, high); + + val &= ~HIETH_GLB_MACFLT_HI16; + val |= ((addr[0] << 8) | addr[1]); + hieth_writel(priv->glb_base, val, high); + + data = (addr[2] << 24) | (addr[3] << 16) | (addr[4] << 8) | addr[5]; + hieth_writel(priv->glb_base, data, low); + + val |= UD_BIT_NAME(HIETH_GLB_MACFLT_FW2CPU); + hieth_writel(priv->glb_base, val, high); +} + +static inline void hieth_set_mac_addr_filter(struct hieth_netdev_priv *priv, + unsigned char *addr, + unsigned int reg_n) +{ + hieth_set_mac_addr(priv, addr, GLB_MAC_H16(priv->port, reg_n), + GLB_MAC_L32(priv->port, reg_n)); +} + +static void hieth_net_set_rx_mode(struct net_device *dev) +{ + u32 val; + struct hieth_netdev_priv *priv = netdev_priv(dev); + + local_lock(priv); + multicast_dump_netdev_flags(dev->flags); + val = hieth_readl(priv->glb_base, HIETH_GLB_FWCTRL); + if (dev->flags & IFF_PROMISC) { + val |= ((priv->port == HIETH_PORT_0) ? + HIETH_GLB_FWCTRL_FWALL2CPU_U : + HIETH_GLB_FWCTRL_FWALL2CPU_D); + hieth_writel(priv->glb_base, val, HIETH_GLB_FWCTRL); + } else { + val &= ~((priv->port == HIETH_PORT_0) ? + HIETH_GLB_FWCTRL_FWALL2CPU_U : + HIETH_GLB_FWCTRL_FWALL2CPU_D); + hieth_writel(priv->glb_base, val, HIETH_GLB_FWCTRL); + + val = hieth_readl(priv->glb_base, HIETH_GLB_MACTCTRL); + if ((netdev_mc_count(dev) > HIETH_MAX_MULTICAST_ADDRESSES) || + (dev->flags & IFF_ALLMULTI)) { + val |= UD_BIT_NAME(HIETH_GLB_MACTCTRL_MULTI2CPU); + } else { + int reg = HIETH_MAX_UNICAST_ADDRESSES; + int i, nr = 0; + struct netdev_hw_addr *ha; + + for (i = reg; i < HIETH_MAX_MAC_FILTER_NUM; i++) + hieth_enable_mac_addr_filter(priv, i, 0); + + netdev_for_each_mc_addr(ha, dev) { + hieth_set_mac_addr_filter(priv, ha->addr, reg); + multicast_dump_macaddr(nr++, ha->addr); + reg++; + } + + val &= ~(UD_BIT_NAME(HIETH_GLB_MACTCTRL_MULTI2CPU)); + } + + /* Handle multiple unicast addresses (perfect filtering)*/ + if (netdev_uc_count(dev) > HIETH_MAX_UNICAST_ADDRESSES) { + val |= UD_BIT_NAME(HIETH_GLB_MACTCTRL_UNI2CPU); + } else { + int reg = 0; + int i; + struct netdev_hw_addr *ha; + + for (i = reg; i < HIETH_MAX_UNICAST_ADDRESSES; i++) + hieth_enable_mac_addr_filter(priv, i, 0); + + netdev_for_each_uc_addr(ha, dev) { + hieth_set_mac_addr_filter(priv, ha->addr, reg); + reg++; + } + + val &= ~(UD_BIT_NAME(HIETH_GLB_MACTCTRL_UNI2CPU)); + } + hieth_writel(priv->glb_base, val, HIETH_GLB_MACTCTRL); + } + + local_unlock(priv); +} + +static int hieth_net_ioctl(struct net_device *net_dev, + struct ifreq *ifreq, int cmd) +{ + struct hieth_netdev_priv *priv = netdev_priv(net_dev); + struct hieth_pm_config pm_config; + + switch (cmd) { + case SIOCSETPM: + if (copy_from_user(&pm_config, ifreq->ifr_data, + sizeof(pm_config))) + return -EFAULT; + return hieth_pmt_config(&pm_config); + + default: + if (!netif_running(net_dev)) + return -EINVAL; + + if (!priv->phy) + return -EINVAL; + + return phy_mii_ioctl(priv->phy, ifreq, cmd); + } + + return 0; +} + +static void hieth_ethtools_get_drvinfo(struct net_device *net_dev, + struct ethtool_drvinfo *info) +{ + strcpy(info->driver, "hieth driver"); + strcpy(info->version, "v300"); + strcpy(info->bus_info, "platform"); +} + +static u32 hieth_ethtools_get_link(struct net_device *net_dev) +{ + struct hieth_netdev_priv *priv = netdev_priv(net_dev); + + return ((priv->phy->link) ? HIETH_P_MAC_PORTSET_LINKED : 0); +} + +static int hieth_ethtools_get_link_ksettings(struct net_device *net_dev, + struct ethtool_link_ksettings *cmd) +{ + struct hieth_netdev_priv *priv = netdev_priv(net_dev); + struct phy_device *phydev = priv->phy; + + if (!priv->phy) + return -EINVAL; + + phy_ethtool_ksettings_get(phydev, cmd); + return 0; +} + +static int hieth_ethtools_set_link_ksettings(struct net_device *net_dev, + const struct ethtool_link_ksettings *cmd) +{ + struct hieth_netdev_priv *priv = netdev_priv(net_dev); + struct phy_device *phydev = priv->phy; + + if (!priv->phy) + return -EINVAL; + + return phy_ethtool_ksettings_set(phydev, cmd); +} + +static void hieth_get_mac_wol(struct net_device *dev, + struct ethtool_wolinfo *wol) +{ + wol->supported = WAKE_UCAST | WAKE_MAGIC; + wol->wolopts = 0; +} + +static void hieth_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) +{ + wol->supported = 0; + wol->wolopts = 0; + + if (dev->phydev) + phy_ethtool_get_wol(dev->phydev, wol); + + if (!wol->supported) + hieth_get_mac_wol(dev, wol); +} + +static int hieth_set_mac_wol(struct net_device *dev, + struct ethtool_wolinfo *wol) +{ + struct hieth_netdev_priv *priv = netdev_priv(dev); + int err = 0; + struct hieth_pm_config mac_pm_config = { 0 }; + + mac_pm_config.index = BIT(priv->port); + if (wol->wolopts & WAKE_UCAST) + mac_pm_config.uc_pkts_enable = 1; + + if (wol->wolopts & WAKE_MAGIC) + mac_pm_config.magic_pkts_enable = 1; + + hieth_pmt_config(&mac_pm_config); + + return err; +} + +static int hieth_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) +{ + struct hieth_netdev_priv *priv = netdev_priv(dev); + int err = 0; + + if (dev->phydev) + err = phy_ethtool_set_wol(dev->phydev, wol); + if (err == -EOPNOTSUPP) + err = hieth_set_mac_wol(dev, wol); + + if (!err) + priv->mac_wol_enabled = true; + + return err; +} + +static int eth_change_mtu(struct net_device *dev, int new_mtu) +{ + netdev_warn(dev, "%s is deprecated\n", __func__); + dev->mtu = new_mtu; + return 0; +} + +static struct ethtool_ops hieth_ethtools_ops = { + .get_drvinfo = hieth_ethtools_get_drvinfo, + .get_link = hieth_ethtools_get_link, + .get_link_ksettings = hieth_ethtools_get_link_ksettings, + .set_link_ksettings = hieth_ethtools_set_link_ksettings, + .get_wol = hieth_get_wol, + .set_wol = hieth_set_wol, +}; + +static const struct net_device_ops hieth_netdev_ops = { + .ndo_open = hieth_net_open, + .ndo_stop = hieth_net_close, + .ndo_start_xmit = hieth_net_hard_start_xmit, + .ndo_tx_timeout = hieth_net_timeout, + .ndo_do_ioctl = hieth_net_ioctl, + .ndo_set_mac_address = hieth_net_set_mac_address, + .ndo_set_rx_mode = hieth_net_set_rx_mode, + .ndo_change_mtu = eth_change_mtu, + .ndo_get_stats = hieth_net_get_stats, +}; + +void hieth_clean_rx(struct hieth_netdev_priv *priv, unsigned int *workdone, int budget) +{ + unsigned int nr_recv = 0; + struct sk_buff *skb; + struct net_device *dev = hieth_devs_save[priv->port]; + int ret = 0; + + hieth_recv_budget(priv, budget); + + while ((skb = skb_dequeue(&priv->rx_head)) != NULL) { + + skb->protocol = eth_type_trans(skb, dev); + + if (HIETH_INVALID_RXPKG_LEN(skb->len)) { + pr_err("pkg len error"); + priv->stats.rx_errors++; + priv->stats.rx_length_errors++; + dev_kfree_skb_any(skb); + continue; + } + + priv->stats.rx_packets++; + priv->stats.rx_bytes += skb->len; + skb->dev = dev; + + ret = netif_receive_skb(skb); + if (ret) { + priv->stats.rx_dropped++; + } + + nr_recv++; + } + + if (workdone) + *workdone = nr_recv; +} + + +static int hieth_poll(struct napi_struct *napi, int budget) +{ + struct hieth_netdev_priv *priv = NULL; + unsigned int work_done = 0; + priv= container_of(napi, struct hieth_netdev_priv, napi); + + hieth_xmit_release_skb(priv); + hieth_clean_rx(priv, &work_done, budget); + + if (work_done < budget) { + napi_complete(napi); + hieth_irq_enable(priv, UD_BIT_NAME(HIETH_GLB_IRQ_INT_MULTI_RXRDY)); + } + return work_done; +} + + +static int hieth_platdev_probe_port(struct platform_device *pdev, + struct hieth_netdev_priv *com_priv, + int port) +{ + int ret = -1; + struct net_device *netdev = NULL; + struct device *dev = &pdev->dev; + struct hieth_netdev_priv *priv; + + if ((HIETH_PORT_0 != port) && (HIETH_PORT_1 != port)) { + pr_err("port error!\n"); + ret = -ENODEV; + goto _error_exit; + } + + netdev = alloc_etherdev(sizeof(*priv)); + if (netdev == NULL) { + pr_err("alloc_etherdev fail!\n"); + ret = -ENOMEM; + goto _error_exit; + } + + platform_set_drvdata(pdev, netdev); + SET_NETDEV_DEV(netdev, &pdev->dev); + + netdev->irq = com_priv->irq; + + netdev->watchdog_timeo = 3 * HZ; + netdev->netdev_ops = &hieth_netdev_ops; + netdev->ethtool_ops = &hieth_ethtools_ops; + + netdev->priv_flags |= IFF_UNICAST_FLT; + + if (hieth_phy_param[port].ismacaddr) + ether_addr_copy(netdev->dev_addr, + hieth_phy_param[port].macaddr); + + if (!is_valid_ether_addr(netdev->dev_addr)) + eth_hw_addr_random(netdev); + + /* init hieth_global somethings... */ + hieth_devs_save[port] = netdev; + + /* init hieth_local_driver */ + priv = netdev_priv(netdev); + memset(priv, 0, sizeof(*priv)); + memcpy(priv, com_priv, sizeof(*priv)); + + local_lock_init(priv); + + priv->port = port; + + if (port == HIETH_PORT_0) + priv->port_base = priv->glb_base; + else + priv->port_base = priv->glb_base + 0x2000; + + priv->dev = dev; + + timer_setup(&priv->monitor, hieth_monitor_func, 0); + priv->monitor.expires = + jiffies + msecs_to_jiffies(HIETH_MONITOR_TIMER); + + /* wol need */ + device_set_wakeup_capable(priv->dev, 1); + /* TODO: when we can let phy powerdown? + * In forcing fwd mode, we don't want phy powerdown, + * so I set wakeup enable all the time + */ + device_set_wakeup_enable(priv->dev, 1); + + /* reset and init port */ + hieth_port_init(priv); + + priv->depth.hw_xmitq = HIETH_HWQ_XMIT_DEPTH; + + priv->phy = of_phy_connect(netdev, priv->phy_node, + hieth_adjust_link, 0, priv->phy_mode); + if (!(priv->phy) || IS_ERR(priv->phy)) { + pr_info("connect to port[%d] PHY failed!\n", port); + priv->phy = NULL; + goto _error_phy_connect; + } + + pr_info("attached port %d PHY %d to driver %s\n", + port, -1 /* priv->phy->addr */, priv->phy->drv->name); + + if (hieth_enable_autoeee) + hieth_autoeee_init(priv, 0); + + skb_queue_head_init(&priv->rx_head); + skb_queue_head_init(&priv->rx_hw); + skb_queue_head_init(&priv->tx_hw); + priv->tx_hw_cnt = 0; + + ret = hieth_init_skb_buffers(priv); + if (ret) { + pr_err("hieth_init_skb_buffers failed!\n"); + goto _error_init_skb_buffers; + } + + netif_napi_add(netdev, &priv->napi, hieth_poll); + + ret = register_netdev(netdev); + if (ret) { + pr_err("register_netdev %s failed!\n", netdev->name); + goto _error_register_netdev; + } + + return ret; + +_error_register_netdev: + hieth_destroy_skb_buffers(priv); + +_error_init_skb_buffers: + phy_disconnect(priv->phy); + priv->phy = NULL; + +_error_phy_connect: + local_lock_exit(); + hieth_devs_save[port] = NULL; + free_netdev(netdev); + +_error_exit: + return ret; +} + +static int hieth_platdev_remove_port(struct platform_device *pdev, int port) +{ + struct net_device *ndev; + struct hieth_netdev_priv *priv; + + hieth_dbg_deinit(); + ndev = hieth_devs_save[port]; + + if (!ndev) + goto _ndev_exit; + + priv = netdev_priv(ndev); + + unregister_netdev(ndev); + hieth_destroy_skb_buffers(priv); + + phy_disconnect(priv->phy); + priv->phy = NULL; + + iounmap((void *)priv->glb_base); + + local_lock_exit(); + + hieth_devs_save[port] = NULL; + free_netdev(ndev); + +_ndev_exit: + return 0; +} + +#define DEFAULT_LD_AM 0xe +#define DEFAULT_LDO_AM 0x3 +#define DEFAULT_R_TUNING 0x16 +static void hieth_of_get_phy_trim_params(int port_index) +{ + struct device_node *chiptrim_node; + u32 phy_trim_val = 0; + u8 ld_am, ldo_am, r_tuning; + int ret; + + /* currently only one internal PHY */ + if (port_index == HIETH_PORT_1) + return; + + chiptrim_node = of_find_node_by_path("chiptrim"); + if (!chiptrim_node) + return; + + ld_am = DEFAULT_LD_AM; + ldo_am = DEFAULT_LDO_AM; + r_tuning = DEFAULT_R_TUNING; + + ret = of_property_read_u32(chiptrim_node, "chiptrim0", &phy_trim_val); + if (ret) { + pr_err("%s,%d: chiptrim0 property not found\n", + __func__, __LINE__); + return; + } + + if (phy_trim_val) { + ld_am = (phy_trim_val >> 11) & 0x1f; + ldo_am = (phy_trim_val >> 8) & 0x7; + r_tuning = phy_trim_val & 0x3f; + } + + hieth_phy_param[port_index].trim_params = + (r_tuning << 16) | (ldo_am << 8) | ld_am; +} + +static int hieth_of_get_param(struct device_node *node) +{ + struct device_node *child = NULL; + int idx = 0; + int data; + + /* get auto eee */ + hieth_enable_autoeee = of_property_read_bool(node, "autoeee"); + + for_each_available_child_of_node(node, child) { + /* get phy-addr */ + if (of_property_read_u32(child, "reg", &data)) + return -EINVAL; + if ((data < 0) || (data >= PHY_MAX_ADDR)) { + pr_info("%s has invalid PHY address\n", + child->full_name); + data = HIETH_INVALID_PHY_ADDR; + } + + hieth_phy_param[idx].phy_addr = data; + if (data != HIETH_INVALID_PHY_ADDR) + hieth_phy_param[idx].isvalid = true; + + /* get phy_mode */ + of_get_phy_mode(child, &hieth_phy_param[idx].phy_mode); + + /* get mac */ + hieth_phy_param[idx].ismacaddr = !of_get_mac_address(child, hieth_phy_param[idx].macaddr); + + /* get gpio_base and bit */ + of_property_read_u32(child, "phy-gpio-base", + (u32 *)(&hieth_phy_param[idx].gpio_base)); + of_property_read_u32(child, "phy-gpio-bit", + &hieth_phy_param[idx].gpio_bit); + + /* get internal flag */ + hieth_phy_param[idx].isinternal = + of_property_read_bool(child, "internal-phy"); + + hieth_of_get_phy_trim_params(idx); + + if (++idx >= HIETH_MAX_PORT) + break; + } + + return 0; +} + +static int hieth_plat_driver_probe(struct platform_device *pdev) +{ + int ret = 0; + int irq; + struct net_device *ndev = NULL; + struct device *dev = &pdev->dev; + struct device_node *node = dev->of_node; + struct resource *res; + struct hieth_netdev_priv *priv = &hieth_priv; + struct device_node *child = NULL; + int port = -1; + + memset(hieth_devs_save, 0, sizeof(hieth_devs_save)); + memset(hieth_phy_param, 0, sizeof(hieth_phy_param)); + memset(priv, 0, sizeof(*priv)); + + if (hieth_of_get_param(node)) { + pr_err("of get parameter fail\n"); + ret = -ENODEV; + goto exit; + } + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + priv->glb_base = devm_ioremap_resource(dev, res); + if (IS_ERR(priv->glb_base)) { + pr_err("error ioremap resource[%x - %x]\n", res->start, res->end); + ret = PTR_ERR(priv->glb_base); + goto exit; + } + hieth_dbg_init(priv->glb_base); + + priv->clk_bus = devm_clk_get(&pdev->dev, "bus"); + priv->clk_core = devm_clk_get(&pdev->dev, "core"); + priv->clk_sel = devm_clk_get(&pdev->dev, "sel"); + if (IS_ERR(priv->clk_bus) || IS_ERR(priv->clk_core) || IS_ERR(priv->clk_sel)) { + pr_err("failed to get clk\n"); + ret = -ENODEV; + goto exit; + } + clk_prepare_enable(priv->clk_sel); + + irq = platform_get_irq(pdev, 0); + if (irq < 0) { + pr_err("no IRQ defined!\n"); + ret = -ENODEV; + goto exit; + } + priv->irq = irq; + + /* first disable ETH clock, then reset PHY to load PHY address */ + hieth_phy_reset(); + + clk_prepare_enable(priv->clk_bus); + ret = clk_prepare_enable(priv->clk_core); + if (ret < 0) { + pr_err("failed to enable clk %d\n", ret); + goto exit; + } + /* After MDCK clock giving, wait 5ms before MDIO access */ + mdelay(5); + + if (hieth_mdiobus_driver_init(pdev, priv)) { + pr_err("mdio bus init error!\n"); + ret = -ENODEV; + goto exit_clk_disable; + } + + /* phy param */ + hieth_phy_register_fixups(); + + for_each_available_child_of_node(node, child) { + if (++port >= HIETH_MAX_PORT) + break; + + if (!hieth_phy_param[port].isvalid) + continue; + + priv->phy_node = of_parse_phandle(node, "phy-handle", port); + if (!priv->phy_node) { + pr_err("not find phy-handle [%d]\n", port); + continue; + } + + priv->phy_mode = hieth_phy_param[port].phy_mode; + + if (!hieth_platdev_probe_port(pdev, priv, port)) + hieth_real_port_cnt++; + } + + if (hieth_devs_save[HIETH_PORT_0]) + ndev = hieth_devs_save[HIETH_PORT_0]; + else if (hieth_devs_save[HIETH_PORT_1]) + ndev = hieth_devs_save[HIETH_PORT_1]; + + if (!ndev) { + pr_err("no dev probed!\n"); + ret = -ENODEV; + goto exit_mdiobus; + } + + return ret; + +exit_mdiobus: + hieth_mdiobus_driver_exit(priv); + +exit_clk_disable: + clk_disable_unprepare(priv->clk_core); + clk_disable_unprepare(priv->clk_bus); + +exit: + + return ret; +} + +static int hieth_plat_driver_remove(struct platform_device *pdev) +{ + int i; + struct net_device *ndev = NULL; + struct hieth_netdev_priv *priv = netdev_priv(ndev); + + if (hieth_devs_save[HIETH_PORT_0]) + ndev = hieth_devs_save[HIETH_PORT_0]; + else if (hieth_devs_save[HIETH_PORT_1]) + ndev = hieth_devs_save[HIETH_PORT_1]; + + free_irq(ndev->irq, hieth_devs_save); + + for (i = 0; i < HIETH_MAX_PORT; i++) + hieth_platdev_remove_port(pdev, i); + + hieth_mdiobus_driver_exit(priv); + + clk_disable_unprepare(priv->clk_core); + clk_disable_unprepare(priv->clk_bus); + + memset(hieth_devs_save, 0, sizeof(hieth_devs_save)); + + return 0; +} + +#ifdef CONFIG_PM +static int hieth_plat_driver_suspend_port(struct platform_device *pdev, + pm_message_t state, int port) +{ + struct net_device *ndev = hieth_devs_save[port]; + + if (ndev) { + if (netif_running(ndev)) { + netif_device_detach(ndev); + hieth_net_close(ndev); + } + } + + return 0; +} + +int hieth_plat_driver_suspend(struct platform_device *pdev, + pm_message_t state) +{ + int i; + bool power_off = true; + struct hieth_netdev_priv *priv = NULL; + + for (i = 0; i < HIETH_MAX_PORT; i++) + hieth_plat_driver_suspend_port(pdev, state, i); + + if (hieth_pmt_enter()) + power_off = false; + + if (power_off) { + for (i = 0; i < HIETH_MAX_PORT; i++) { + if (hieth_devs_save[i]) { + priv = netdev_priv(hieth_devs_save[i]); + genphy_suspend(priv->phy);/* power down phy */ + } + } + + /* need some time before phy suspend finished. */ + usleep_range(1000, 10000); + + if (priv) { + clk_disable_unprepare(priv->clk_core); + clk_disable_unprepare(priv->clk_bus); + } + } + + return 0; +} + +static int hieth_plat_driver_resume_port(struct platform_device *pdev, int port) +{ + struct net_device *ndev = hieth_devs_save[port]; + struct hieth_netdev_priv *priv = netdev_priv(ndev); + + if (ndev) { + if (netif_running(ndev)) { + hieth_port_init(priv); + hieth_net_open(ndev); + netif_device_attach(ndev); + } + } + + return 0; +} + +static bool hieth_mac_wol_enabled(void) +{ + struct hieth_netdev_priv *priv = NULL; + bool mac_wol_enabled = false; + int i; + + for (i = 0; i < HIETH_MAX_PORT; i++) { + if (!hieth_devs_save[i]) + continue; + + priv = netdev_priv(hieth_devs_save[i]); + if (priv->mac_wol_enabled) { + mac_wol_enabled = true; + break; + } + } + + return mac_wol_enabled; +} + +int hieth_plat_driver_resume(struct platform_device *pdev) +{ + int i; + struct hieth_netdev_priv *priv = &hieth_priv; + + /* first disable ETH clock, then reset PHY to load PHY address */ + if (hieth_mac_wol_enabled()) { + clk_disable_unprepare(priv->clk_core); + clk_disable_unprepare(priv->clk_bus); + } + hieth_phy_reset(); + /* enable clk */ + clk_prepare_enable(priv->clk_bus); + clk_prepare_enable(priv->clk_core); + /* After MDCK clock giving, wait 5ms before MDIO access */ + mdelay(5); + hieth_fix_festa_phy_trim(priv->mii_bus); + + for (i = 0; i < HIETH_MAX_PORT; i++) + hieth_plat_driver_resume_port(pdev, i); + + hieth_pmt_exit(); + return 0; +} +#else +# define hieth_plat_driver_suspend NULL +# define hieth_plat_driver_resume NULL +#endif + +static const struct of_device_id hieth_of_match[] = { + {.compatible = "hisilicon,hieth", }, + {}, +}; + +MODULE_DEVICE_TABLE(of, hieth_of_match); + +static struct platform_driver hieth_platform_driver = { + .probe = hieth_plat_driver_probe, + .remove = hieth_plat_driver_remove, + .suspend = hieth_plat_driver_suspend, + .resume = hieth_plat_driver_resume, + .driver = { + .owner = THIS_MODULE, + .name = HIETH_DRIVER_NAME, + .bus = &platform_bus_type, + .of_match_table = of_match_ptr(hieth_of_match), + }, +}; + +static int hieth_mod_init(void) +{ + int ret = 0; + + if (hieth_disable) + return 0; + + ret = platform_driver_register(&hieth_platform_driver); + if (ret) + pr_err("register platform driver failed!\n"); + + return ret; +} + +static void hieth_mod_exit(void) +{ + if (hieth_disable) + return; + + platform_driver_unregister(&hieth_platform_driver); +} + +module_init(hieth_mod_init); +module_exit(hieth_mod_exit); + +MODULE_DESCRIPTION("Hisilicon ETH driver whith MDIO support"); +MODULE_LICENSE("GPL"); + +/* vim: set ts=8 sw=8 tw=78: */ diff --git a/drivers/net/ethernet/hieth/hieth.h b/drivers/net/ethernet/hieth/hieth.h new file mode 100644 index 000000000..333d02440 --- /dev/null +++ b/drivers/net/ethernet/hieth/hieth.h @@ -0,0 +1,338 @@ +#ifndef __HIETH_H +#define __HIETH_H + +#include +#include +#include +#include +#include +#include +#include + +#define HIETH_MIIBUS_NAME "himii" +#define HIETH_DRIVER_NAME "hieth" + +/* hieth max port */ +#define HIETH_MAX_PORT 2 + +/* invalid phy addr */ +#define HIETH_INVALID_PHY_ADDR 31 + +/* hieth monitor timer, 10ms */ +#define HIETH_MONITOR_TIMER 10 + +/* hieth hardware queue send fifo depth, increase to optimize TX performance. */ +#define HIETH_HWQ_XMIT_DEPTH 12 + +/* set irq affinity to cpu1 when multi-processor */ +#define HIETH_IRQ_AFFINITY_CPU 1 + +#define HIETH_MAX_QUEUE_DEPTH 64 +#define HIETH_MAX_RX_HEAD_LEN (10000) /* max skbs for rx */ +#define HIETH_MAX_RCV_LEN 1535 /* max receive length */ + +#define HIETH_NAPI_WEIGHT 32 +/* mmu should be less than 1600 Bytes + */ + +#define HIETH_MAX_FRAME_SIZE (1600) +#define HIETH_INVALID_RXPKG_LEN(len) (!((len) >= 42 && \ + (len) <= HIETH_MAX_FRAME_SIZE)) + +#define HIETH_MAX_MAC_FILTER_NUM 8 +#define HIETH_MAX_UNICAST_ADDRESSES 2 +#define HIETH_MAX_MULTICAST_ADDRESSES (HIETH_MAX_MAC_FILTER_NUM - \ + HIETH_MAX_UNICAST_ADDRESSES) + +/* Register Definition + */ +/*------------------------- port register -----------------------------------*/ +/* Mac port sel */ +#define HIETH_P_MAC_PORTSEL 0x0200 +#define HIETH_P_MAC_PORTSEL_STAT 0 +#define HIETH_P_MAC_PORTSEL_STAT_MDIO 0 +#define HIETH_P_MAC_PORTSEL_STAT_CPU 1 +#define HIETH_P_MAC_PORTSEL_MII_MODE 1 +#define HIETH_P_MAC_PORTSEL_MII ~BIT(1) +#define HIETH_P_MAC_PORTSEL_RMII BIT(1) +/* Mac ro status */ +#define HIETH_P_MAC_RO_STAT 0x0204 +/* Mac port status set */ +#define HIETH_P_MAC_PORTSET 0x0208 +#define HIETH_P_MAC_PORTSET_SPD_100M BIT(2) +#define HIETH_P_MAC_PORTSET_LINKED BIT(1) +#define HIETH_P_MAC_PORTSET_DUP_FULL BIT(0) +/* Mac status change */ +#define HIETH_P_MAC_STAT_CHANGE 0x020C +/* Mac set */ +#define HIETH_P_MAC_SET 0x0210 +#define HIETH_P_MAC_SET_LEN_MAX(n) ((n) & 0x7FF) +#define HIETH_P_MAC_SET_LEN_MAX_MSK GENMASK(10, 0) + +#define HIETH_P_MAC_RX_IPGCTRL 0x0214 +#define HIETH_P_MAC_TX_IPGCTRL 0x0218 +#define HIETH_P_MAC_TX_IPGCTRL_PRE_CNT_LMT_SHIFT 23 +#define HIETH_P_MAC_TX_IPGCTRL_PRE_CNT_LMT_MSK GENMASK(25, 23) +/* queue length set */ +#define HIETH_P_GLB_QLEN_SET 0x0344 +#define HIETH_P_GLB_QLEN_SET_TXQ_DEP_MSK GENMASK(5, 0) +#define HIETH_P_GLB_QLEN_SET_TXQ_DEP(n) ((n) << 0) +#define HIETH_P_GLB_QLEN_SET_RXQ_DEP_MSK GENMASK(13, 8) +#define HIETH_P_GLB_QLEN_SET_RXQ_DEP(n) ((n) << 8) +/* Rx frame start addr */ +#define HIETH_P_GLB_RXFRM_SADDR 0x0350 +/* Rx (read only) Queue-ID and LEN */ +#define HIETH_P_GLB_RO_IQFRM_DES 0x0354 +#define HIETH_P_GLB_RO_IQFRM_DES_FDIN_LEN_MSK GENMASK(11, 0) +/* Rx ADDR */ +#define HIETH_P_GLB_IQ_ADDR 0x0358 +/* Tx ADDR and LEN */ +#define HIETH_P_GLB_EQ_ADDR 0x0360 +#define HIETH_P_GLB_EQFRM_LEN 0x0364 +#define HIETH_P_GLB_EQFRM_TXINQ_LEN_MSK GENMASK(10, 0) +/* Rx/Tx Queue ID */ +#define HIETH_P_GLB_RO_QUEUE_ID 0x0368 +/* Rx/Tx Queue staus */ +#define HIETH_P_GLB_RO_QUEUE_STAT 0x036C +/* check this bit to see if we can add a Tx package */ +#define HIETH_P_GLB_RO_QUEUE_STAT_XMITQ_RDY_MSK BIT(24) +/* check this bit to see if we can add a Rx addr */ +#define HIETH_P_GLB_RO_QUEUE_STAT_RECVQ_RDY_MSK BIT(25) +/* counts in queue, include currently sending */ +#define HIETH_P_GLB_RO_QUEUE_STAT_XMITQ_CNT_INUSE_MSK GENMASK(5, 0) + +/*------------------------- global register --------------------------------*/ +/* host mac address */ +#define HIETH_GLB_HOSTMAC_L32 0x1300 +#define HIETH_GLB_HOSTMAC_H16 0x1304 +/* soft reset */ +#define HIETH_GLB_SOFT_RESET 0x1308 +#define HIETH_GLB_SOFT_RESET_ALL BIT(0) +#define HIETH_GLB_SOFT_RESET_P0 BIT(2) +#define HIETH_GLB_SOFT_RESET_P1 BIT(3) +/* forward contrl */ +#define HIETH_GLB_FWCTRL 0x1310 +#define HIETH_GLB_FWCTRL_VLAN_ENABLE BIT(0) +#define HIETH_GLB_FWCTRL_FW2CPU_ENA_U BIT(5) +#define HIETH_GLB_FWCTRL_FW2CPU_ENA_D BIT(9) +#define HIETH_GLB_FWCTRL_FWALL2CPU_U BIT(7) +#define HIETH_GLB_FWCTRL_FWALL2CPU_D BIT(11) +#define HIETH_GLB_FWCTRL_FW2OTHPORT_ENA_U BIT(4) +#define HIETH_GLB_FWCTRL_FW2OTHPORT_ENA_D BIT(8) +#define HIETH_GLB_FWCTRL_FW2OTHPORT_FORCE_U BIT(6) +#define HIETH_GLB_FWCTRL_FW2OTHPORT_FORCE_D BIT(10) +/* Mac filter table control */ +#define HIETH_GLB_MACTCTRL 0x1314 +#define HIETH_GLB_MACTCTRL_MACT_ENA_U BIT(7) +#define HIETH_GLB_MACTCTRL_MACT_ENA_D BIT(15) +#define HIETH_GLB_MACTCTRL_BROAD2CPU_U BIT(5) +#define HIETH_GLB_MACTCTRL_BROAD2CPU_D BIT(13) +#define HIETH_GLB_MACTCTRL_BROAD2OTHPORT_U BIT(4) +#define HIETH_GLB_MACTCTRL_BROAD2OTHPORT_D BIT(12) +#define HIETH_GLB_MACTCTRL_MULTI2CPU_U BIT(3) +#define HIETH_GLB_MACTCTRL_MULTI2CPU_D BIT(11) +#define HIETH_GLB_MACTCTRL_MULTI2OTHPORT_U BIT(2) +#define HIETH_GLB_MACTCTRL_MULTI2OTHPORT_D BIT(10) +#define HIETH_GLB_MACTCTRL_UNI2CPU_U BIT(1) +#define HIETH_GLB_MACTCTRL_UNI2CPU_D BIT(9) +#define HIETH_GLB_MACTCTRL_UNI2OTHPORT_U BIT(0) +#define HIETH_GLB_MACTCTRL_UNI2OTHPORT_D BIT(8) +/* Host mac address */ +#define HIETH_GLB_DN_HOSTMAC_L32 0x1340 +#define HIETH_GLB_DN_HOSTMAC_H16 0x1344 +#define HIETH_GLB_DN_HOSTMAC_ENA 0x1348 +#define HIETH_GLB_DN_HOSTMAC_ENA_BIT BIT(0) +/* Mac filter */ +#define HIETH_GLB_MAC_L32_BASE 0x1400 +#define HIETH_GLB_MAC_H16_BASE 0x1404 +#define HIETH_GLB_MAC_L32_BASE_D (0x1400 + 16 * 0x8) +#define HIETH_GLB_MAC_H16_BASE_D (0x1404 + 16 * 0x8) +#define HIETH_GLB_MACFLT_HI16 GENMASK(15, 0) +#define HIETH_GLB_MACFLT_FW2CPU_U BIT(21) +#define HIETH_GLB_MACFLT_FW2CPU_D BIT(19) +#define HIETH_GLB_MACFLT_FW2PORT_U BIT(20) +#define HIETH_GLB_MACFLT_FW2PORT_D BIT(18) +#define HIETH_GLB_MACFLT_ENA_U BIT(17) +#define HIETH_GLB_MACFLT_ENA_D BIT(16) +/* ENDIAN */ +#define HIETH_GLB_ENDIAN_MOD 0x1318 +#define HIETH_GLB_ENDIAN_MOD_IN BIT(1) +#define HIETH_GLB_ENDIAN_MOD_OUT BIT(0) +/* IRQs */ +#define HIETH_GLB_IRQ_STAT 0x1330 +#define HIETH_GLB_IRQ_ENA 0x1334 +#define HIETH_GLB_IRQ_ENA_IEN_A BIT(19) +#define HIETH_GLB_IRQ_ENA_IEN_U BIT(18) +#define HIETH_GLB_IRQ_ENA_IEN_D BIT(17) +#define HIETH_GLB_IRQ_ENA_BIT_U GENMASK(7, 0) +#define HIETH_GLB_IRQ_ENA_BIT_D GENMASK(27, 20) +#define HIETH_GLB_IRQ_RAW 0x1338 +#define HIETH_GLB_IRQ_INT_MULTI_RXRDY_U BIT(7) +#define HIETH_GLB_IRQ_INT_MULTI_RXRDY_D BIT(27) +#define HIETH_GLB_IRQ_INT_TXQUE_RDY_U BIT(6) +#define HIETH_GLB_IRQ_INT_TXQUE_RDY_D BIT(26) +#define HIETH_GLB_IRQ_INT_RX_RDY_U BIT(0) +#define HIETH_GLB_IRQ_INT_RX_RDY_D BIT(20) + +/* *********************************************************** +* +* Only for internal used! +* +* *********************************************************** +*/ + +/* read/write IO */ +#define hieth_readl(base, ofs) \ + readl(base + (ofs)) +#define hieth_writel(base, v, ofs) \ + writel(v, base + (ofs)) + +#define hieth_trace_level 8 +#define hireg_trace(level, msg...) do { \ +if ((level) >= hieth_trace_level) { \ + pr_info("hireg_trace:%s:%d: ", __func__, __LINE__); \ + pr_info(msg); \ + pr_info("\n"); \ +} \ +} while (0) + +#define hireg_readl(base, ofs) ({ unsigned long reg = readl((base) + (ofs)); \ + hireg_trace(2, "_readl(0x%04X) = 0x%08lX", (ofs), reg); \ + reg; }) + +#define hireg_writel(base, v, ofs) do { writel((v), (base) + (ofs)); \ + hireg_trace(2, "_writel(0x%04X) = 0x%08lX", \ + (ofs), (unsigned long)(v)); \ +} while (0) + +#define hieth_dump_buf(buf, len) do {\ + int i;\ + char *p = (void *)(buf);\ + pr_info("%s->%d, buf=0x%.8x, len=%d\n", \ + __func__, __LINE__, \ + (int)(buf), (int)(len)); \ + for (i = 0; i < (len); i++) {\ + pr_info("0x%.2x ", *(p+i));\ + if (!((i+1) & 0x07)) \ + pr_info("\n");\ + } \ + pr_info("\n");\ +} while (0) + +/* port */ +enum hieth_port_e { + HIETH_PORT_0 = 0, + HIETH_PORT_1, + HIETH_PORT_NUM, +}; + +struct hieth_netdev_priv { + void __iomem *glb_base; /* virtual io global addr */ + void __iomem *port_base; /* virtual to port addr: + * port0-0; port1-0x2000 + */ + int port; /* 0 => up port, 1 => down port */ + int irq; + + struct device *dev; + struct net_device_stats stats; + struct phy_device *phy; + struct device_node *phy_node; + phy_interface_t phy_mode; + + struct mii_bus *mii_bus; + + struct sk_buff_head rx_head; /*received pkgs */ + struct sk_buff_head rx_hw; /*rx pkgs in hw */ + struct sk_buff_head tx_hw; /*tx pkgs in hw */ + u32 tx_hw_cnt; + + struct timer_list monitor; + + struct { + int hw_xmitq; + } depth; + + struct { + unsigned long rx_pool_dry_times; + } stat; + +#define SKB_SIZE (HIETH_MAX_FRAME_SIZE) + struct rx_skb_pool { + struct sk_buff *sk_pool[CONFIG_HIETH_MAX_RX_POOLS];/*skb pool*/ + int next_free_skb; /*next free skb*/ + } rx_pool; + + struct napi_struct napi; + + int link_stat; + int (*eee_init)(struct phy_device *phy_dev); + + spinlock_t lock; /* lock for reg rw */ + unsigned long lockflags; + + spinlock_t mdio_lock; /* lock for mdio reg */ + unsigned long mdio_lockflags; + + struct clk *clk_bus; + struct clk *clk_core; + struct clk *clk_sel; + bool mac_wol_enabled; +}; + +/* phy parameter */ +struct hieth_phy_param_s { + bool isvalid; /* valid or not */ + bool isinternal; /* internal phy or external phy */ + bool ismacaddr; + int phy_addr; + u32 trim_params; + phy_interface_t phy_mode; + u8 macaddr[ETH_ALEN]; + + /* gpio reset pin if has */ + void __iomem *gpio_base; + u32 gpio_bit; +}; + +#define local_lock_init(priv) spin_lock_init(&(priv)->lock) +#define local_lock_exit(priv) +#define local_lock(priv) spin_lock_irqsave(&(priv)->lock, \ + (priv)->lockflags) +#define local_unlock(priv) spin_unlock_irqrestore(&(priv)->lock, \ + (priv)->lockflags) + +#define hieth_mdio_lock_init(priv) spin_lock_init(&(priv)->mdio_lock) +#define hieth_mdio_lock_exit(priv) +#define hieth_mdio_lock(priv) spin_lock_irqsave(&(priv)->mdio_lock, \ + (priv)->mdio_lockflags) +#define hieth_mdio_unlock(priv) spin_unlock_irqrestore(&(priv)->mdio_lock, \ + (priv)->mdio_lockflags) + +#define UD_BIT_NAME(name) ((priv->port == HIETH_PORT_0) ? \ + name##_U : name##_D) + +#define GLB_MAC_H16(port, reg) ((((port) == HIETH_PORT_0) ? \ + HIETH_GLB_MAC_H16_BASE : \ + HIETH_GLB_MAC_H16_BASE_D) + (reg * 0x8)) +#define GLB_MAC_L32(port, reg) ((((port) == HIETH_PORT_0) ? \ + HIETH_GLB_MAC_L32_BASE : \ + HIETH_GLB_MAC_L32_BASE_D) + (reg * 0x8)) + +#define SIOCGETMODE (SIOCDEVPRIVATE) /* get work mode */ +#define SIOCSETMODE (SIOCDEVPRIVATE + 1) /* set work mode */ +#define SIOCGETFWD (SIOCDEVPRIVATE + 2) /* get forcing forward config */ +#define SIOCSETFWD (SIOCDEVPRIVATE + 3) /* set forcing forward config */ +#define SIOCSETPM (SIOCDEVPRIVATE + 4) /* set pmt wake up config */ +#define SIOCSETSUSPEND (SIOCDEVPRIVATE + 5) /* call dev->suspend */ +#define SIOCSETRESUME (SIOCDEVPRIVATE + 6) /* call dev->resume */ + +extern struct hieth_phy_param_s hieth_phy_param[]; + +void hieth_autoeee_init(struct hieth_netdev_priv *priv, int link_stat); +void hieth_phy_register_fixups(void); +void hieth_phy_reset(void); +void hieth_fix_festa_phy_trim(struct mii_bus *bus); +#endif + +/* vim: set ts=8 sw=8 tw=78: */ diff --git a/drivers/net/ethernet/hieth/hieth_dbg.c b/drivers/net/ethernet/hieth/hieth_dbg.c new file mode 100644 index 000000000..663058592 --- /dev/null +++ b/drivers/net/ethernet/hieth/hieth_dbg.c @@ -0,0 +1,322 @@ +/****************************************************************************** + * Copyright (C) 2014 Hisilicon STB Development Dept + * All rights reserved. + * *** + * Create by ZhangYixing + * +******************************************************************************/ +#define pr_fmt(fmt) "mmcdbg: " fmt + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define MAX_MULTICAST_FILTER 8 +#define MAX_MAC_LIMIT ETH_ALEN*MAX_MULTICAST_FILTER +#define MAC_FMT " MAC%d: %02x:%02x:%02x:%02x:%02x:%02x\n" + +struct ethstats { + void __iomem *base; + void __iomem *macbase[2]; + + char prbuf[SZ_4K]; + u32 sz_prbuf; + + struct dentry *dentry; +}; + +struct cmd_val_t { + const char *key; + int sz_key; + char *buf; + int sz_buf; +}; + +struct mcdump { + void __iomem *base; + u32 net_flags; + u32 mc_rcv; + u32 mc_drop; + u32 mac_nr; + spinlock_t lock; + char mac[MAX_MAC_LIMIT]; + char prbuf[SZ_1K]; + u32 sz_prbuf; + + struct dentry *dentry; +}; + +/******************************************************************************/ + +static struct ethstats ethstats = {0}; +static struct mcdump mcdump = {0}; +static struct dentry *root = NULL; + +/******************************************************************************/ +static int dump_eth_stats(int index, void __iomem *macbase, char *buf, int sz_buf) +{ + int ix; + int count; + char *ptr = buf; + + struct regdef { + char *fmt; + u32 offset; + } regdef[] = { + {" Rx:%u Bytes\n", 0x608}, + {" total packets:%u ", 0x610}, + {"broadcast:%u ", 0x614}, + {"multicast:%u ", 0x618}, + {"unicast:%u ", 0x61C}, + {"to me:%u\n", 0x60C}, + {" error packets:%u ", 0x620}, + {"crc/alignment:%u ", 0x624}, + {"invalid size:%u ", 0x628}, + {"nibble error:%u\n", 0x62C}, + {" pause frame:%u, ", 0x630}, + {"overflow: %u ", 0x634}, + {"mac filterd: %u\n", 0x64c}, + {" Tx:%u Bytes\n", 0x790}, + {" total packets:%u ", 0x780}, + {"broadcast:%u ", 0x784}, + {"multicast:%u ", 0x788}, + {"unicast:%u\n", 0x78C}, + }; + + count = snprintf(ptr, sz_buf, "eth%d:\n", index); + sz_buf -= count; + ptr += count; + + for (ix = 0; ix < ARRAY_SIZE(regdef); ix++) { + count = snprintf(ptr, sz_buf, regdef[ix].fmt, readl(macbase + regdef[ix].offset)); + sz_buf -= count; + ptr += count; + } + + return ptr - buf; +} + +/******************************************************************************/ + +static ssize_t fo_dump_ethstats_read(struct file *filp, char __user *ubuf, + size_t sz_ubuf, loff_t *ppos) +{ + struct ethstats *stats = filp->private_data; + + return simple_read_from_buffer(ubuf, sz_ubuf, ppos, stats->prbuf, + stats->sz_prbuf); +} + +/******************************************************************************/ + +static int fo_dump_ethstats_open(struct inode *inode, struct file *file) +{ + struct ethstats *data; + int count = 0, sz_buf; + char *ptr; + + data = ðstats; + + file->private_data = (void *)data; + + ptr = data->prbuf; + sz_buf = sizeof(data->prbuf); + + count = dump_eth_stats(0, data->macbase[0], ptr, sz_buf); + + data->sz_prbuf = count; + + return nonseekable_open(inode, file); +} +/******************************************************************************/ + +int multicast_dump_netdev_flags(u32 flags) +{ + u32 old = mcdump.net_flags; + spin_lock(&mcdump.lock); + mcdump.net_flags = flags; + spin_unlock(&mcdump.lock); + return old; +} +/******************************************************************************/ + +void multicast_dump_macaddr(u32 nr, char *macaddr) +{ + char *ptr; + if (nr > MAX_MULTICAST_FILTER) + return; + + ptr = mcdump.mac + nr*ETH_ALEN; + spin_lock(&mcdump.lock); + memcpy(ptr, macaddr, ETH_ALEN); + mcdump.mac_nr = nr+1; + spin_unlock(&mcdump.lock); +} + +/******************************************************************************/ + +static int dump_mc_drop(int index, struct mcdump *dump, char *buf, int sz_buf) +{ + int ix; + int count; + char *ptr = buf; + char *pmac; + + struct regdef { + char *fmt; + u32 offset; + } regdef[] = { + {" Rx packets:%u ", 0x618}, + {"dropped:%u\n", 0x64C}, + }; + + count = snprintf(ptr, sz_buf, "eth%d multicast:\n", index); + sz_buf -= count; + ptr += count; + + for (ix = 0; ix < ARRAY_SIZE(regdef); ix++) { + count = snprintf(ptr, sz_buf, regdef[ix].fmt, readl(dump->base + regdef[ix].offset)); + sz_buf -= count; + ptr += count; + } + + count = snprintf(ptr, sz_buf, "%s", " state:"); + sz_buf -= count; + ptr += count; + + if (dump->net_flags & IFF_MULTICAST) { + count = snprintf(ptr, sz_buf, "%s", "MULTICAST "); + sz_buf -= count; + ptr += count; + } + + if (dump->net_flags & IFF_PROMISC) { + count = snprintf(ptr, sz_buf, "%s", "PROMISC "); + sz_buf -= count; + ptr += count; + } + + if (dump->net_flags & IFF_ALLMULTI) { + count = snprintf(ptr, sz_buf, "%s", "ALLMULTI "); + sz_buf -= count; + ptr += count; + } + + count = snprintf(ptr, sz_buf, "\n mac filters:%d \n", dump->mac_nr); + sz_buf -= count; + ptr += count; + + for (ix = 0; ix < dump->mac_nr; ix++) { + pmac = dump->mac + ix*ETH_ALEN; + count = snprintf(ptr, sz_buf, MAC_FMT, ix, + pmac[0], pmac[1], pmac[2], + pmac[3], pmac[4], pmac[5]); + sz_buf -= count; + ptr += count; + } + + + return ptr - buf; +} +/******************************************************************************/ + +static int fo_dump_ethmc_open(struct inode *inode, struct file *file) +{ + struct mcdump *data; + int count = 0, sz_buf; + char *ptr; + + data = &mcdump; + + file->private_data = (void *)data; + + ptr = data->prbuf; + sz_buf = sizeof(data->prbuf); + + count = dump_mc_drop(0, data, ptr, sz_buf); + + data->sz_prbuf = count; + + return nonseekable_open(inode, file); + //return 0; +} + +/******************************************************************************/ + +static ssize_t fo_dump_ethmc_read(struct file *filp, char __user *ubuf, + size_t sz_ubuf, loff_t *ppos) +{ + struct mcdump *dump = (struct mcdump *)filp->private_data; + + return simple_read_from_buffer(ubuf, sz_ubuf, ppos, dump->prbuf, + dump->sz_prbuf); +} + +/******************************************************************************/ + +static struct file_operations ethmc_fops = { + .owner = THIS_MODULE, + .open = fo_dump_ethmc_open, + .read = fo_dump_ethmc_read, + .llseek = no_llseek, +}; + +static struct file_operations ethstats_fops = { + .owner = THIS_MODULE, + .open = fo_dump_ethstats_open, + .read = fo_dump_ethstats_read, + .llseek = no_llseek, +}; + +/******************************************************************************/ + +int hieth_dbg_init(void __iomem *base) +{ + char buf[16]; + unsigned int mode = S_IFREG | S_IRUSR | S_IWUSR; + + snprintf(buf, sizeof(buf), "%s", "hieth"); + root = debugfs_create_dir(buf, NULL); + if (!root) { + pr_err("Can't create '%s' dir.\n", buf); + return -ENOENT; + } + + mcdump.base = base; + mcdump.dentry = debugfs_create_file("multicast", mode, root, NULL, ðmc_fops); + if (!mcdump.dentry) { + pr_err("Can't create 'read' file.\n"); + goto fail; + } + spin_lock_init(&mcdump.lock); + + ethstats.base = base; + ethstats.macbase[0] = ethstats.base; + ethstats.macbase[1] = ethstats.base + 0x2000; + ethstats.dentry = debugfs_create_file("stats", mode, root, NULL, ðstats_fops); + if (!ethstats.dentry) { + pr_err("Can't create 'write' file.\n"); + goto fail; + } + + return 0; +fail: + debugfs_remove_recursive(root); + + return -ENOENT; +} +/*****************************************************************************/ + +int hieth_dbg_deinit(void) +{ + debugfs_remove_recursive(root); + return 0; +} diff --git a/drivers/net/ethernet/hieth/hieth_dbg.h b/drivers/net/ethernet/hieth/hieth_dbg.h new file mode 100644 index 000000000..2ad00c426 --- /dev/null +++ b/drivers/net/ethernet/hieth/hieth_dbg.h @@ -0,0 +1,16 @@ +/****************************************************************************** + * Copyright (C) 2014 Hisilicon STB Development Dept + * All rights reserved. + * *** + * Create by ZhangYixing + * +******************************************************************************/ +#ifndef HIETH_DBG_H +#define HIETH_DBG_H + +int hieth_dbg_init(void __iomem *base); +int hieth_dbg_deinit(void); +int multicast_dump_netdev_flags(u32 flags); +void multicast_dump_macaddr(u32 nr, char *macaddr); + +#endif diff --git a/drivers/net/ethernet/hieth/mdio.c b/drivers/net/ethernet/hieth/mdio.c new file mode 100644 index 000000000..c90f9e390 --- /dev/null +++ b/drivers/net/ethernet/hieth/mdio.c @@ -0,0 +1,184 @@ +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "hieth.h" +#include "mdio.h" + +/* MDIO Bus Interface */ + +static void hieth_mdio_init(struct hieth_netdev_priv *priv) +{ + hieth_mdio_lock_init(priv); + mdio_reg_reset(priv); +} + +static void hieth_mdio_exit(struct hieth_netdev_priv *priv) +{ + hieth_mdio_lock_exit(priv); +} + +static int hieth_wait_mdio_ready(struct hieth_netdev_priv *priv) +{ + int timeout_us = 1000; + + while (--timeout_us && !mdio_test_ready(priv)) + udelay(1); + + return timeout_us; +} + +int hieth_mdiobus_read(struct mii_bus *bus, int phy_addr, int regnum) +{ + int ret = 0; + struct hieth_netdev_priv *priv = bus->priv; + + hieth_mdio_lock(priv); + + if (!hieth_wait_mdio_ready(priv)) { + pr_err("%s,%d:mdio busy\n", __func__, __LINE__); + ret = -ETIMEDOUT; + goto error_exit; + } + + mdio_start_phyread(priv, phy_addr, regnum); + + if (hieth_wait_mdio_ready(priv)) { + ret = mdio_get_phyread_val(priv); + } else { + pr_err("%s,%d:mdio busy\n", __func__, __LINE__); + ret = -ETIMEDOUT; + } + +error_exit: + + hieth_mdio_unlock(priv); + + pr_debug("phy_addr = %d, regnum = %d, ret = 0x%04x\n", phy_addr, + regnum, ret); + + return ret; +} + +int hieth_mdiobus_write(struct mii_bus *bus, int phy_addr, int regnum, + u16 val) +{ + int ret = 0; + struct hieth_netdev_priv *priv = bus->priv; + + pr_debug("phy_addr = %d, regnum = %d\n", phy_addr, regnum); + + hieth_mdio_lock(priv); + + if (!hieth_wait_mdio_ready(priv)) { + pr_err("%s,%d:mdio busy\n", __func__, __LINE__); + ret = -ETIMEDOUT; + goto error_exit; + } + + mdio_phywrite(priv, phy_addr, regnum, val); + + udelay(500); + if (!hieth_wait_mdio_ready(priv)) { + pr_err("%s,%d:mdio busy\n", __func__, __LINE__); + ret = -ETIMEDOUT; + } + +error_exit: + hieth_mdio_unlock(priv); + + return ret; +} + +static int hieth_mdiobus_reset(struct mii_bus *bus) +{ + struct hieth_netdev_priv *priv = bus->priv; + + mdio_reg_reset(priv); + return 0; +} + +int hieth_mdiobus_driver_init(struct platform_device *pdev, + struct hieth_netdev_priv *priv) +{ + int phy, ret = 0; + struct mii_bus *bus; + struct device *dev = &pdev->dev; + struct device_node *node = dev->of_node; + + hieth_mdio_init(priv); + + /* register MII bus */ + bus = mdiobus_alloc(); + if (!bus) { + pr_err("get ioresource failed!\n"); + ret = -ENOMEM; + goto _error_exit; + } + + bus->name = HIETH_MIIBUS_NAME; + + snprintf(bus->id, MII_BUS_ID_SIZE, "%s", bus->name); + bus->read = hieth_mdiobus_read; + bus->write = hieth_mdiobus_write; + bus->reset = hieth_mdiobus_reset; + bus->priv = priv; + priv->mii_bus = bus; + bus->parent = &pdev->dev; /*for Power Management */ + + for (phy = 0; phy < PHY_MAX_ADDR; phy++) + bus->irq[phy] = PHY_POLL; + + hieth_fix_festa_phy_trim(bus); + + ret = of_mdiobus_register(bus, node); + if (ret) { + pr_err("failed to register MDIO bus\n"); + goto _error_free_mdiobus; + } + + return 0; + +_error_free_mdiobus: + kfree(bus->irq); + mdiobus_free(bus); + +_error_exit: + return ret; +} + +void hieth_mdiobus_driver_exit(struct hieth_netdev_priv *priv) +{ + struct mii_bus *bus = priv->mii_bus; + + mdiobus_unregister(bus); + kfree(bus->irq); + mdiobus_free(bus); + hieth_mdio_exit(priv); +} + +/* vim: set ts=8 sw=8 tw=78: */ diff --git a/drivers/net/ethernet/hieth/mdio.h b/drivers/net/ethernet/hieth/mdio.h new file mode 100644 index 000000000..462e12815 --- /dev/null +++ b/drivers/net/ethernet/hieth/mdio.h @@ -0,0 +1,64 @@ +#ifndef __HIETH_MDIO_H +#define __HIETH_MDIO_H + +#define HIETH_MDIO_FRQDIV 0 + +#define HIETH_MDIO_RWCTRL 0x1100 +#define HIETH_MDIO_RO_DATA 0x1104 +#define HIETH_U_MDIO_PHYADDR 0x0108 +#define HIETH_D_MDIO_PHYADDR 0x2108 +#define HIETH_U_MDIO_RO_STAT 0x010C +#define HIETH_D_MDIO_RO_STAT 0x210C +#define HIETH_U_MDIO_ANEG_CTRL 0x0110 +#define HIETH_D_MDIO_ANEG_CTRL 0x2110 +#define HIETH_U_MDIO_IRQENA 0x0114 +#define HIETH_D_MDIO_IRQENA 0x2114 + +#define MDIO_MK_RWCTL(cpu_data_in, finish, rw, phy_exaddr, frq_div, phy_regnum)\ + (((cpu_data_in) << 16) | \ + (((finish) & 0x01) << 15) | \ + (((rw) & 0x01) << 13) | \ + (((phy_exaddr) & 0x1F) << 8) | \ + (((frq_div) & 0x7) << 5) | \ + ((phy_regnum) & 0x1F)) + +/* hardware set bit'15 of MDIO_REG(0) if mdio ready */ +#define mdio_test_ready(priv) (hieth_readl(priv->glb_base, \ + HIETH_MDIO_RWCTRL) & (1 << 15)) + +#define mdio_start_phyread(priv, phy_addr, regnum) \ + hieth_writel(priv->glb_base, \ + MDIO_MK_RWCTL(0, 0, 0, phy_addr, HIETH_MDIO_FRQDIV, \ + regnum), \ + HIETH_MDIO_RWCTRL) + +#define mdio_get_phyread_val(priv) (hieth_readl(priv->glb_base, \ + HIETH_MDIO_RO_DATA) & 0xFFFF) + +#define mdio_phywrite(priv, phy_addr, regnum, val) \ + hieth_writel(priv->glb_base, \ + MDIO_MK_RWCTL(val, 0, 1, phy_addr, HIETH_MDIO_FRQDIV, \ + regnum), \ + HIETH_MDIO_RWCTRL) + +/* write mdio registers reset value */ +#define mdio_reg_reset(priv) do { \ + hieth_writel(priv->glb_base, 0x00008000, HIETH_MDIO_RWCTRL); \ + hieth_writel(priv->glb_base, 0x00000001, HIETH_U_MDIO_PHYADDR); \ + hieth_writel(priv->glb_base, 0x00000001, HIETH_D_MDIO_PHYADDR); \ + hieth_writel(priv->glb_base, 0x04631EA9, HIETH_U_MDIO_ANEG_CTRL); \ + hieth_writel(priv->glb_base, 0x04631EA9, HIETH_D_MDIO_ANEG_CTRL); \ + hieth_writel(priv->glb_base, 0x00000000, HIETH_U_MDIO_IRQENA); \ + hieth_writel(priv->glb_base, 0x00000000, HIETH_D_MDIO_IRQENA); \ +} while (0) + +int hieth_mdiobus_driver_init(struct platform_device *pdev, + struct hieth_netdev_priv *priv); +void hieth_mdiobus_driver_exit(struct hieth_netdev_priv *priv); + +int hieth_mdiobus_read(struct mii_bus *bus, int phy_addr, int regnum); +int hieth_mdiobus_write(struct mii_bus *bus, int phy_addr, int regnum, + u16 val); +#endif + +/* vim: set ts=8 sw=8 tw=78: */ diff --git a/drivers/net/ethernet/hieth/phy.c b/drivers/net/ethernet/hieth/phy.c new file mode 100644 index 000000000..e7a9d7782 --- /dev/null +++ b/drivers/net/ethernet/hieth/phy.c @@ -0,0 +1,2639 @@ +#include +#include +#include "hieth.h" +#include "mdio.h" +#include "phy.h" + +static const u32 phy_fix_param[] = { + 0x33f9, 0xbd, + 0x33fa, 0x34, + 0x33fb, 0x00, + 0x33fc, 0x39, + 0x3400, 0x39, + 0x3401, 0xCC, + 0x3402, 0x10, + 0x3403, 0x0F, + 0x3404, 0xFD, + 0x3405, 0xFF, + 0x3406, 0xF0, + 0x3407, 0xF6, + 0x3408, 0x39, + 0x3409, 0x0B, + 0x340A, 0x26, + 0x340B, 0x68, + 0x340C, 0xC6, + 0x340D, 0x01, + 0x340E, 0xF7, + 0x340F, 0x39, + 0x3410, 0x0B, + 0x3411, 0xC6, + 0x3412, 0xB0, + 0x3413, 0xF7, + 0x3414, 0x01, + 0x3415, 0xFE, + 0x3416, 0xC6, + 0x3417, 0x0F, + 0x3418, 0xF7, + 0x3419, 0x01, + 0x341A, 0xFF, + 0x341B, 0x5C, + 0x341C, 0xF7, + 0x341D, 0x02, + 0x341E, 0x00, + 0x341F, 0xCC, + 0x3420, 0x37, + 0x3421, 0x43, + 0x3422, 0xFD, + 0x3423, 0x00, + 0x3424, 0xD1, + 0x3425, 0x7F, + 0x3426, 0x01, + 0x3427, 0xC0, + 0x3428, 0xCC, + 0x3429, 0x00, + 0x342A, 0x0A, + 0x342B, 0xFD, + 0x342C, 0x31, + 0x342D, 0x69, + 0x342E, 0x5F, + 0x342F, 0xFD, + 0x3430, 0x31, + 0x3431, 0x67, + 0x3432, 0xFD, + 0x3433, 0x31, + 0x3434, 0x6D, + 0x3435, 0xFD, + 0x3436, 0x31, + 0x3437, 0x6B, + 0x3438, 0xB7, + 0x3439, 0x31, + 0x343A, 0x6F, + 0x343B, 0xFD, + 0x343C, 0x31, + 0x343D, 0x72, + 0x343E, 0xFD, + 0x343F, 0x31, + 0x3440, 0x70, + 0x3441, 0xCC, + 0x3442, 0x86, + 0x3443, 0xA0, + 0x3444, 0xFD, + 0x3445, 0x31, + 0x3446, 0x76, + 0x3447, 0xCC, + 0x3448, 0x00, + 0x3449, 0x01, + 0x344A, 0xFD, + 0x344B, 0x31, + 0x344C, 0x74, + 0x344D, 0xF7, + 0x344E, 0x31, + 0x344F, 0x80, + 0x3450, 0xCC, + 0x3451, 0x38, + 0x3452, 0xBB, + 0x3453, 0xFD, + 0x3454, 0x00, + 0x3455, 0xD3, + 0x3456, 0x7F, + 0x3457, 0x01, + 0x3458, 0xBF, + 0x3459, 0xCC, + 0x345A, 0x35, + 0x345B, 0x3E, + 0x345C, 0xFD, + 0x345D, 0x01, + 0x345E, 0xD6, + 0x345F, 0xCC, + 0x3460, 0x34, + 0x3461, 0xEF, + 0x3462, 0xFD, + 0x3463, 0x30, + 0x3464, 0x30, + 0x3465, 0xC6, + 0x3466, 0x0A, + 0x3467, 0xF7, + 0x3468, 0x31, + 0x3469, 0x4A, + 0x346A, 0xC6, + 0x346B, 0xE0, + 0x346C, 0xF7, + 0x346D, 0x00, + 0x346E, 0x7C, + 0x346F, 0xC6, + 0x3470, 0x54, + 0x3471, 0xF7, + 0x3472, 0x01, + 0x3473, 0xEE, + 0x3474, 0xF6, + 0x3475, 0x31, + 0x3476, 0x80, + 0x3477, 0x27, + 0x3478, 0x75, + 0x3479, 0xFC, + 0x347A, 0x31, + 0x347B, 0x72, + 0x347C, 0xC3, + 0x347D, 0x00, + 0x347E, 0x01, + 0x347F, 0xFD, + 0x3480, 0x31, + 0x3481, 0x72, + 0x3482, 0x24, + 0x3483, 0x08, + 0x3484, 0x7C, + 0x3485, 0x31, + 0x3486, 0x71, + 0x3487, 0x26, + 0x3488, 0x03, + 0x3489, 0x7C, + 0x348A, 0x31, + 0x348B, 0x70, + 0x348C, 0xFC, + 0x348D, 0x31, + 0x348E, 0x76, + 0x348F, 0xB3, + 0x3490, 0x31, + 0x3491, 0x72, + 0x3492, 0xFC, + 0x3493, 0x31, + 0x3494, 0x74, + 0x3495, 0xF2, + 0x3496, 0x31, + 0x3497, 0x71, + 0x3498, 0xB2, + 0x3499, 0x31, + 0x349A, 0x70, + 0x349B, 0x24, + 0x349C, 0x0E, + 0x349D, 0x4F, + 0x349E, 0x5F, + 0x349F, 0xFD, + 0x34A0, 0x31, + 0x34A1, 0x72, + 0x34A2, 0xFD, + 0x34A3, 0x31, + 0x34A4, 0x70, + 0x34A5, 0xFD, + 0x34A6, 0x31, + 0x34A7, 0x6D, + 0x34A8, 0xFD, + 0x34A9, 0x31, + 0x34AA, 0x6B, + 0x34AB, 0xFC, + 0x34AC, 0x31, + 0x34AD, 0x69, + 0x34AE, 0xB3, + 0x34AF, 0x31, + 0x34B0, 0x6D, + 0x34B1, 0xFC, + 0x34B2, 0x31, + 0x34B3, 0x67, + 0x34B4, 0xF2, + 0x34B5, 0x31, + 0x34B6, 0x6C, + 0x34B7, 0xB2, + 0x34B8, 0x31, + 0x34B9, 0x6B, + 0x34BA, 0x24, + 0x34BB, 0x32, + 0x34BC, 0xF6, + 0x34BD, 0x20, + 0x34BE, 0xB0, + 0x34BF, 0xC4, + 0x34C0, 0xFB, + 0x34C1, 0xF7, + 0x34C2, 0x20, + 0x34C3, 0xB0, + 0x34C4, 0xF6, + 0x34C5, 0x20, + 0x34C6, 0xB0, + 0x34C7, 0xC4, + 0x34C8, 0x7F, + 0x34C9, 0xF7, + 0x34CA, 0x20, + 0x34CB, 0xB0, + 0x34CC, 0xF6, + 0x34CD, 0x20, + 0x34CE, 0xB0, + 0x34CF, 0xCA, + 0x34D0, 0x04, + 0x34D1, 0xF7, + 0x34D2, 0x20, + 0x34D3, 0xB0, + 0x34D4, 0xF6, + 0x34D5, 0x20, + 0x34D6, 0xB0, + 0x34D7, 0xCA, + 0x34D8, 0x80, + 0x34D9, 0xF7, + 0x34DA, 0x20, + 0x34DB, 0xB0, + 0x34DC, 0xF6, + 0x34DD, 0x31, + 0x34DE, 0x6F, + 0x34DF, 0xC1, + 0x34E0, 0xFF, + 0x34E1, 0x24, + 0x34E2, 0x03, + 0x34E3, 0x7C, + 0x34E4, 0x31, + 0x34E5, 0x6F, + 0x34E6, 0x4F, + 0x34E7, 0x5F, + 0x34E8, 0xFD, + 0x34E9, 0x31, + 0x34EA, 0x6D, + 0x34EB, 0xFD, + 0x34EC, 0x31, + 0x34ED, 0x6B, + 0x34EE, 0x39, + 0x34EF, 0xC6, + 0x34F0, 0x77, + 0x34F1, 0xF7, + 0x34F2, 0x1C, + 0x34F3, 0xAB, + 0x34F4, 0xC6, + 0x34F5, 0x84, + 0x34F6, 0xF7, + 0x34F7, 0x1C, + 0x34F8, 0xA9, + 0x34F9, 0xC6, + 0x34FA, 0x08, + 0x34FB, 0xF7, + 0x34FC, 0x1C, + 0x34FD, 0xAA, + 0x34FE, 0xC6, + 0x34FF, 0x80, + 0x3500, 0xF7, + 0x3501, 0x1C, + 0x3502, 0xAC, + 0x3503, 0xC6, + 0x3504, 0xEE, + 0x3505, 0xF7, + 0x3506, 0x1C, + 0x3507, 0xAE, + 0x3508, 0xC6, + 0x3509, 0x01, + 0x350A, 0xF7, + 0x350B, 0x1C, + 0x350C, 0xAF, + 0x350D, 0xC6, + 0x350E, 0xFF, + 0x350F, 0xF7, + 0x3510, 0x12, + 0x3511, 0x90, + 0x3512, 0xF7, + 0x3513, 0x12, + 0x3514, 0x91, + 0x3515, 0xF7, + 0x3516, 0x12, + 0x3517, 0x92, + 0x3518, 0xF7, + 0x3519, 0x12, + 0x351A, 0x93, + 0x351B, 0xF7, + 0x351C, 0x12, + 0x351D, 0x94, + 0x351E, 0xC6, + 0x351F, 0x20, + 0x3520, 0xF7, + 0x3521, 0x1E, + 0x3522, 0x0D, + 0x3523, 0x7F, + 0x3524, 0x12, + 0x3525, 0x9E, + 0x3526, 0xC6, + 0x3527, 0xA2, + 0x3528, 0xF7, + 0x3529, 0x1C, + 0x352A, 0xA9, + 0x352B, 0x39, + 0x352C, 0x18, + 0x352D, 0xCE, + 0x352E, 0x39, + 0x352F, 0x04, + 0x3530, 0x18, + 0x3531, 0x3A, + 0x3532, 0xF6, + 0x3533, 0x20, + 0x3534, 0x09, + 0x3535, 0xC4, + 0x3536, 0xF0, + 0x3537, 0x18, + 0x3538, 0xEA, + 0x3539, 0x00, + 0x353A, 0xF7, + 0x353B, 0x20, + 0x353C, 0x09, + 0x353D, 0x39, + 0x353E, 0xF6, + 0x353F, 0x01, + 0x3540, 0xEC, + 0x3541, 0x27, + 0x3542, 0x68, + 0x3543, 0xF6, + 0x3544, 0x20, + 0x3545, 0x09, + 0x3546, 0xC4, + 0x3547, 0x0F, + 0x3548, 0xF7, + 0x3549, 0x01, + 0x354A, 0xE4, + 0x354B, 0xF6, + 0x354C, 0x1C, + 0x354D, 0xC2, + 0x354E, 0xC1, + 0x354F, 0x7F, + 0x3550, 0x23, + 0x3551, 0x0B, + 0x3552, 0xF6, + 0x3553, 0x1C, + 0x3554, 0xC2, + 0x3555, 0xC1, + 0x3556, 0x90, + 0x3557, 0x24, + 0x3558, 0x04, + 0x3559, 0xC6, + 0x355A, 0x01, + 0x355B, 0x20, + 0x355C, 0x2D, + 0x355D, 0xF6, + 0x355E, 0x1C, + 0x355F, 0xC2, + 0x3560, 0xC1, + 0x3561, 0x90, + 0x3562, 0x25, + 0x3563, 0x0B, + 0x3564, 0xF6, + 0x3565, 0x1C, + 0x3566, 0xC2, + 0x3567, 0xC1, + 0x3568, 0xA0, + 0x3569, 0x24, + 0x356A, 0x04, + 0x356B, 0xC6, + 0x356C, 0x02, + 0x356D, 0x20, + 0x356E, 0x1B, + 0x356F, 0xF6, + 0x3570, 0x1C, + 0x3571, 0xC2, + 0x3572, 0xC1, + 0x3573, 0xA0, + 0x3574, 0x25, + 0x3575, 0x0B, + 0x3576, 0xF6, + 0x3577, 0x1C, + 0x3578, 0xC2, + 0x3579, 0xC1, + 0x357A, 0xD0, + 0x357B, 0x24, + 0x357C, 0x04, + 0x357D, 0xC6, + 0x357E, 0x03, + 0x357F, 0x20, + 0x3580, 0x09, + 0x3581, 0xF6, + 0x3582, 0x1C, + 0x3583, 0xC2, + 0x3584, 0xC1, + 0x3585, 0xD0, + 0x3586, 0x25, + 0x3587, 0x04, + 0x3588, 0xC6, + 0x3589, 0x04, + 0x358A, 0x8D, + 0x358B, 0xA0, + 0x358C, 0xF6, + 0x358D, 0x20, + 0x358E, 0x09, + 0x358F, 0xC4, + 0x3590, 0x0F, + 0x3591, 0xF7, + 0x3592, 0x01, + 0x3593, 0xEB, + 0x3594, 0x7A, + 0x3595, 0x01, + 0x3596, 0xEC, + 0x3597, 0xF6, + 0x3598, 0x01, + 0x3599, 0xE4, + 0x359A, 0xF1, + 0x359B, 0x01, + 0x359C, 0xEB, + 0x359D, 0x27, + 0x359E, 0x0C, + 0x359F, 0xC6, + 0x35A0, 0x01, + 0x35A1, 0x37, + 0x35A2, 0xC6, + 0x35A3, 0x51, + 0x35A4, 0xBD, + 0x35A5, 0xD3, + 0x35A6, 0xDF, + 0x35A7, 0x31, + 0x35A8, 0xC6, + 0x35A9, 0x01, + 0x35AA, 0x39, + 0x35AB, 0x5F, + 0x35AC, 0x39, + 0x35AD, 0x3C, + 0x35AE, 0xF6, + 0x35AF, 0x00, + 0x35B0, 0x46, + 0x35B1, 0x4F, + 0x35B2, 0xC4, + 0x35B3, 0x0C, + 0x35B4, 0x83, + 0x35B5, 0x00, + 0x35B6, 0x08, + 0x35B7, 0x27, + 0x35B8, 0x07, + 0x35B9, 0xC6, + 0x35BA, 0x11, + 0x35BB, 0xF7, + 0x35BC, 0x01, + 0x35BD, 0xC0, + 0x35BE, 0x38, + 0x35BF, 0x39, + 0x35C0, 0xF6, + 0x35C1, 0x02, + 0x35C2, 0x01, + 0x35C3, 0x26, + 0x35C4, 0x33, + 0x35C5, 0xF6, + 0x35C6, 0x01, + 0x35C7, 0xF8, + 0x35C8, 0xC1, + 0x35C9, 0x05, + 0x35CA, 0x24, + 0x35CB, 0x27, + 0x35CC, 0xC6, + 0x35CD, 0x51, + 0x35CE, 0xBD, + 0x35CF, 0xD4, + 0x35D0, 0x7F, + 0x35D1, 0x5D, + 0x35D2, 0x26, + 0x35D3, 0x02, + 0x35D4, 0x38, + 0x35D5, 0x39, + 0x35D6, 0xF6, + 0x35D7, 0x1C, + 0x35D8, 0xC5, + 0x35D9, 0xC5, + 0x35DA, 0x01, + 0x35DB, 0x27, + 0x35DC, 0x08, + 0x35DD, 0xF6, + 0x35DE, 0x1C, + 0x35DF, 0xC2, + 0x35E0, 0xC0, + 0x35E1, 0x10, + 0x35E2, 0xF7, + 0x35E3, 0x1C, + 0x35E4, 0xC2, + 0x35E5, 0x7C, + 0x35E6, 0x01, + 0x35E7, 0xF8, + 0x35E8, 0xC6, + 0x35E9, 0x01, + 0x35EA, 0x37, + 0x35EB, 0xC6, + 0x35EC, 0x51, + 0x35ED, 0xBD, + 0x35EE, 0xD3, + 0x35EF, 0xDF, + 0x35F0, 0x31, + 0x35F1, 0x38, + 0x35F2, 0x39, + 0x35F3, 0xC6, + 0x35F4, 0x01, + 0x35F5, 0xF7, + 0x35F6, 0x02, + 0x35F7, 0x01, + 0x35F8, 0xC1, + 0x35F9, 0x01, + 0x35FA, 0x26, + 0x35FB, 0x43, + 0x35FC, 0xF6, + 0x35FD, 0x10, + 0x35FE, 0xC2, + 0x35FF, 0xC5, + 0x3600, 0x01, + 0x3601, 0x27, + 0x3602, 0x15, + 0x3603, 0xBD, + 0x3604, 0x97, + 0x3605, 0xC4, + 0x3606, 0x4F, + 0x3607, 0x5F, + 0x3608, 0xFD, + 0x3609, 0x31, + 0x360A, 0x6D, + 0x360B, 0xFD, + 0x360C, 0x31, + 0x360D, 0x6B, + 0x360E, 0x7C, + 0x360F, 0x00, + 0x3610, 0x54, + 0x3611, 0xC6, + 0x3612, 0x03, + 0x3613, 0xF7, + 0x3614, 0x02, + 0x3615, 0x01, + 0x3616, 0x38, + 0x3617, 0x39, + 0x3618, 0xF6, + 0x3619, 0x12, + 0x361A, 0x22, + 0x361B, 0xCA, + 0x361C, 0x04, + 0x361D, 0xF7, + 0x361E, 0x12, + 0x361F, 0x22, + 0x3620, 0xF6, + 0x3621, 0x12, + 0x3622, 0x22, + 0x3623, 0xC4, + 0x3624, 0xFB, + 0x3625, 0xF7, + 0x3626, 0x12, + 0x3627, 0x22, + 0x3628, 0xF6, + 0x3629, 0x12, + 0x362A, 0x41, + 0x362B, 0xCA, + 0x362C, 0x01, + 0x362D, 0xF7, + 0x362E, 0x12, + 0x362F, 0x41, + 0x3630, 0xF6, + 0x3631, 0x12, + 0x3632, 0x41, + 0x3633, 0xC4, + 0x3634, 0xFE, + 0x3635, 0xF7, + 0x3636, 0x12, + 0x3637, 0x41, + 0x3638, 0xC6, + 0x3639, 0x02, + 0x363A, 0xF7, + 0x363B, 0x02, + 0x363C, 0x01, + 0x363D, 0x38, + 0x363E, 0x39, + 0x363F, 0xC1, + 0x3640, 0x02, + 0x3641, 0x26, + 0x3642, 0x25, + 0x3643, 0xF6, + 0x3644, 0x12, + 0x3645, 0x20, + 0x3646, 0xC4, + 0x3647, 0x3F, + 0x3648, 0xC1, + 0x3649, 0x3A, + 0x364A, 0x26, + 0x364B, 0x15, + 0x364C, 0xBD, + 0x364D, 0x97, + 0x364E, 0xC4, + 0x364F, 0x4F, + 0x3650, 0x5F, + 0x3651, 0xFD, + 0x3652, 0x31, + 0x3653, 0x6D, + 0x3654, 0xFD, + 0x3655, 0x31, + 0x3656, 0x6B, + 0x3657, 0x7C, + 0x3658, 0x00, + 0x3659, 0x54, + 0x365A, 0xC6, + 0x365B, 0x03, + 0x365C, 0xF7, + 0x365D, 0x02, + 0x365E, 0x01, + 0x365F, 0x20, + 0x3660, 0x07, + 0x3661, 0xC6, + 0x3662, 0x03, + 0x3663, 0xF7, + 0x3664, 0x01, + 0x3665, 0xC0, + 0x3666, 0x38, + 0x3667, 0x39, + 0x3668, 0xC1, + 0x3669, 0x03, + 0x366A, 0x26, + 0x366B, 0x60, + 0x366C, 0xF6, + 0x366D, 0x01, + 0x366E, 0xF3, + 0x366F, 0x4F, + 0x3670, 0xC4, + 0x3671, 0x02, + 0x3672, 0x4D, + 0x3673, 0xC5, + 0x3674, 0x02, + 0x3675, 0x27, + 0x3676, 0x0F, + 0x3677, 0xF6, + 0x3678, 0x01, + 0x3679, 0xF3, + 0x367A, 0xC4, + 0x367B, 0x7D, + 0x367C, 0xF7, + 0x367D, 0x01, + 0x367E, 0xF3, + 0x367F, 0xC6, + 0x3680, 0x03, + 0x3681, 0xF7, + 0x3682, 0x01, + 0x3683, 0xC0, + 0x3684, 0x38, + 0x3685, 0x39, + 0x3686, 0x13, + 0x3687, 0x24, + 0x3688, 0x08, + 0x3689, 0x02, + 0x368A, 0x38, + 0x368B, 0x39, + 0x368C, 0xF6, + 0x368D, 0x10, + 0x368E, 0xC2, + 0x368F, 0xC5, + 0x3690, 0x01, + 0x3691, 0x27, + 0x3692, 0x02, + 0x3693, 0x38, + 0x3694, 0x39, + 0x3695, 0xF6, + 0x3696, 0x1C, + 0x3697, 0x82, + 0x3698, 0xF1, + 0x3699, 0x00, + 0x369A, 0xEC, + 0x369B, 0x22, + 0x369C, 0x10, + 0x369D, 0xFE, + 0x369E, 0x01, + 0x369F, 0x44, + 0x36A0, 0xAD, + 0x36A1, 0x00, + 0x36A2, 0xF6, + 0x36A3, 0x12, + 0x36A4, 0x20, + 0x36A5, 0xC4, + 0x36A6, 0x3F, + 0x36A7, 0xC1, + 0x36A8, 0x3A, + 0x36A9, 0x26, + 0x36AA, 0x03, + 0x36AB, 0x38, + 0x36AC, 0x39, + 0x36AD, 0x01, + 0x36AE, 0xF6, + 0x36AF, 0x31, + 0x36B0, 0x45, + 0x36B1, 0x5A, + 0x36B2, 0x26, + 0x36B3, 0x0E, + 0x36B4, 0xF6, + 0x36B5, 0x30, + 0x36B6, 0x61, + 0x36B7, 0x37, + 0x36B8, 0xC6, + 0x36B9, 0x52, + 0x36BA, 0xBD, + 0x36BB, 0xD3, + 0x36BC, 0xDF, + 0x36BD, 0x31, + 0x36BE, 0xC6, + 0x36BF, 0x10, + 0x36C0, 0x20, + 0x36C1, 0x05, + 0x36C2, 0xBD, + 0x36C3, 0x97, + 0x36C4, 0xD3, + 0x36C5, 0xC6, + 0x36C6, 0x03, + 0x36C7, 0xF7, + 0x36C8, 0x01, + 0x36C9, 0xC0, + 0x36CA, 0x38, + 0x36CB, 0x39, + 0x36CC, 0x38, + 0x36CD, 0x39, + 0x36CE, 0x3C, + 0x36CF, 0xFE, + 0x36D0, 0x01, + 0x36D1, 0x42, + 0x36D2, 0xAD, + 0x36D3, 0x00, + 0x36D4, 0xC6, + 0x36D5, 0x01, + 0x36D6, 0xF7, + 0x36D7, 0x10, + 0x36D8, 0xF5, + 0x36D9, 0xF7, + 0x36DA, 0x12, + 0x36DB, 0xF5, + 0x36DC, 0xFE, + 0x36DD, 0x30, + 0x36DE, 0x30, + 0x36DF, 0xAD, + 0x36E0, 0x00, + 0x36E1, 0xBD, + 0x36E2, 0xBB, + 0x36E3, 0x52, + 0x36E4, 0xC6, + 0x36E5, 0x90, + 0x36E6, 0xF7, + 0x36E7, 0x1C, + 0x36E8, 0xC0, + 0x36E9, 0xBD, + 0x36EA, 0x9A, + 0x36EB, 0xD9, + 0x36EC, 0xC6, + 0x36ED, 0x01, + 0x36EE, 0x37, + 0x36EF, 0xC6, + 0x36F0, 0x51, + 0x36F1, 0xBD, + 0x36F2, 0xD3, + 0x36F3, 0xDF, + 0x36F4, 0x31, + 0x36F5, 0xC6, + 0x36F6, 0x0E, + 0x36F7, 0xF7, + 0x36F8, 0x01, + 0x36F9, 0xC0, + 0x36FA, 0x38, + 0x36FB, 0x39, + 0x36FC, 0x3C, + 0x36FD, 0xC6, + 0x36FE, 0x52, + 0x36FF, 0xBD, + 0x3700, 0xD4, + 0x3701, 0x7F, + 0x3702, 0x5D, + 0x3703, 0x27, + 0x3704, 0x03, + 0x3705, 0xBD, + 0x3706, 0xBB, + 0x3707, 0x52, + 0x3708, 0xF6, + 0x3709, 0x00, + 0x370A, 0x46, + 0x370B, 0xC5, + 0x370C, 0x0C, + 0x370D, 0x26, + 0x370E, 0x07, + 0x370F, 0xC6, + 0x3710, 0x11, + 0x3711, 0xF7, + 0x3712, 0x01, + 0x3713, 0xC0, + 0x3714, 0x38, + 0x3715, 0x39, + 0x3716, 0xC6, + 0x3717, 0x51, + 0x3718, 0xBD, + 0x3719, 0xD4, + 0x371A, 0x7F, + 0x371B, 0x5D, + 0x371C, 0x26, + 0x371D, 0x02, + 0x371E, 0x38, + 0x371F, 0x39, + 0x3720, 0xFE, + 0x3721, 0x01, + 0x3722, 0xD6, + 0x3723, 0xAD, + 0x3724, 0x00, + 0x3725, 0x5D, + 0x3726, 0x27, + 0x3727, 0x02, + 0x3728, 0x38, + 0x3729, 0x39, + 0x372A, 0xFC, + 0x372B, 0x30, + 0x372C, 0x0E, + 0x372D, 0xBD, + 0x372E, 0x8F, + 0x372F, 0xEE, + 0x3730, 0xBD, + 0x3731, 0x9A, + 0x3732, 0xD9, + 0x3733, 0xC6, + 0x3734, 0x02, + 0x3735, 0x37, + 0x3736, 0xC6, + 0x3737, 0x51, + 0x3738, 0xBD, + 0x3739, 0xD3, + 0x373A, 0xDF, + 0x373B, 0x31, + 0x373C, 0xC6, + 0x373D, 0x08, + 0x373E, 0xF7, + 0x373F, 0x01, + 0x3740, 0xC0, + 0x3741, 0x38, + 0x3742, 0x39, + 0x3743, 0x3C, + 0x3744, 0x34, + 0x3745, 0x30, + 0x3746, 0xF6, + 0x3747, 0x01, + 0x3748, 0xC0, + 0x3749, 0xC1, + 0x374A, 0x13, + 0x374B, 0x25, + 0x374C, 0x03, + 0x374D, 0x7E, + 0x374E, 0x38, + 0x374F, 0x7D, + 0x3750, 0xBD, + 0x3751, 0xEE, + 0x3752, 0x8F, + 0x3753, 0x37, + 0x3754, 0x7C, + 0x3755, 0x37, + 0x3756, 0x7F, + 0x3757, 0x37, + 0x3758, 0xBA, + 0x3759, 0x37, + 0x375A, 0xC0, + 0x375B, 0x37, + 0x375C, 0xC6, + 0x375D, 0x37, + 0x375E, 0xD2, + 0x375F, 0x37, + 0x3760, 0xD8, + 0x3761, 0x37, + 0x3762, 0xE7, + 0x3763, 0x37, + 0x3764, 0xED, + 0x3765, 0x37, + 0x3766, 0xF3, + 0x3767, 0x38, + 0x3768, 0x12, + 0x3769, 0x38, + 0x376A, 0x15, + 0x376B, 0x38, + 0x376C, 0x34, + 0x376D, 0x38, + 0x376E, 0x39, + 0x376F, 0x38, + 0x3770, 0x4E, + 0x3771, 0x38, + 0x3772, 0x56, + 0x3773, 0x38, + 0x3774, 0x5B, + 0x3775, 0x38, + 0x3776, 0x60, + 0x3777, 0x38, + 0x3778, 0x63, + 0x3779, 0x7E, + 0x377A, 0x38, + 0x377B, 0x7D, + 0x377C, 0xBD, + 0x377D, 0xBC, + 0x377E, 0x25, + 0x377F, 0xF6, + 0x3780, 0x00, + 0x3781, 0x46, + 0x3782, 0x4F, + 0x3783, 0xC4, + 0x3784, 0x0C, + 0x3785, 0x83, + 0x3786, 0x00, + 0x3787, 0x08, + 0x3788, 0x26, + 0x3789, 0xEF, + 0x378A, 0xBD, + 0x378B, 0xBC, + 0x378C, 0x33, + 0x378D, 0xF6, + 0x378E, 0x01, + 0x378F, 0xFF, + 0x3790, 0xF7, + 0x3791, 0x20, + 0x3792, 0xA5, + 0x3793, 0xC6, + 0x3794, 0x08, + 0x3795, 0xF7, + 0x3796, 0x20, + 0x3797, 0xA8, + 0x3798, 0xF6, + 0x3799, 0x30, + 0x379A, 0x54, + 0x379B, 0xFB, + 0x379C, 0x31, + 0x379D, 0x4A, + 0x379E, 0xE7, + 0x379F, 0x00, + 0x37A0, 0xC1, + 0x37A1, 0x3F, + 0x37A2, 0x23, + 0x37A3, 0x02, + 0x37A4, 0xC6, + 0x37A5, 0x3F, + 0x37A6, 0x18, + 0x37A7, 0xFE, + 0x37A8, 0x30, + 0x37A9, 0x4A, + 0x37AA, 0x18, + 0x37AB, 0x3A, + 0x37AC, 0xF6, + 0x37AD, 0x20, + 0x37AE, 0xAA, + 0x37AF, 0xC4, + 0x37B0, 0xE0, + 0x37B1, 0x18, + 0x37B2, 0xEA, + 0x37B3, 0x00, + 0x37B4, 0xF7, + 0x37B5, 0x20, + 0x37B6, 0xAA, + 0x37B7, 0x7E, + 0x37B8, 0x38, + 0x37B9, 0x7D, + 0x37BA, 0xBD, + 0x37BB, 0xBC, + 0x37BC, 0x71, + 0x37BD, 0x7E, + 0x37BE, 0x38, + 0x37BF, 0x7D, + 0x37C0, 0xBD, + 0x37C1, 0xBC, + 0x37C2, 0x94, + 0x37C3, 0x7E, + 0x37C4, 0x38, + 0x37C5, 0x7D, + 0x37C6, 0xBD, + 0x37C7, 0xBD, + 0x37C8, 0x07, + 0x37C9, 0xC6, + 0x37CA, 0x02, + 0x37CB, 0x37, + 0x37CC, 0xC6, + 0x37CD, 0x51, + 0x37CE, 0xBD, + 0x37CF, 0xD3, + 0x37D0, 0xDF, + 0x37D1, 0x31, + 0x37D2, 0xBD, + 0x37D3, 0xBD, + 0x37D4, 0x38, + 0x37D5, 0x7E, + 0x37D6, 0x38, + 0x37D7, 0x7D, + 0x37D8, 0xBD, + 0x37D9, 0xBD, + 0x37DA, 0x90, + 0x37DB, 0xC6, + 0x37DC, 0x02, + 0x37DD, 0x37, + 0x37DE, 0xC6, + 0x37DF, 0x51, + 0x37E0, 0xBD, + 0x37E1, 0xD3, + 0x37E2, 0xDF, + 0x37E3, 0x31, + 0x37E4, 0x7E, + 0x37E5, 0x38, + 0x37E6, 0x7D, + 0x37E7, 0xBD, + 0x37E8, 0x36, + 0x37E9, 0xFC, + 0x37EA, 0x7E, + 0x37EB, 0x38, + 0x37EC, 0x7D, + 0x37ED, 0xBD, + 0x37EE, 0xBE, + 0x37EF, 0x07, + 0x37F0, 0x7E, + 0x37F1, 0x38, + 0x37F2, 0x7D, + 0x37F3, 0xBD, + 0x37F4, 0xBE, + 0x37F5, 0x6A, + 0x37F6, 0xF6, + 0x37F7, 0x01, + 0x37F8, 0xC0, + 0x37F9, 0xC1, + 0x37FA, 0x03, + 0x37FB, 0x26, + 0x37FC, 0xF3, + 0x37FD, 0xFC, + 0x37FE, 0x31, + 0x37FF, 0x6D, + 0x3800, 0xC3, + 0x3801, 0x00, + 0x3802, 0x01, + 0x3803, 0xFD, + 0x3804, 0x31, + 0x3805, 0x6D, + 0x3806, 0x24, + 0x3807, 0x75, + 0x3808, 0x7C, + 0x3809, 0x31, + 0x380A, 0x6C, + 0x380B, 0x26, + 0x380C, 0x70, + 0x380D, 0x7C, + 0x380E, 0x31, + 0x380F, 0x6B, + 0x3810, 0x20, + 0x3811, 0x6B, + 0x3812, 0xBD, + 0x3813, 0xBE, + 0x3814, 0xB0, + 0x3815, 0xBD, + 0x3816, 0xBF, + 0x3817, 0x05, + 0x3818, 0xF6, + 0x3819, 0x01, + 0x381A, 0xC0, + 0x381B, 0xC1, + 0x381C, 0x04, + 0x381D, 0x26, + 0x381E, 0x5E, + 0x381F, 0xFC, + 0x3820, 0x31, + 0x3821, 0x6D, + 0x3822, 0xC3, + 0x3823, 0x00, + 0x3824, 0x01, + 0x3825, 0xFD, + 0x3826, 0x31, + 0x3827, 0x6D, + 0x3828, 0x24, + 0x3829, 0x53, + 0x382A, 0x7C, + 0x382B, 0x31, + 0x382C, 0x6C, + 0x382D, 0x26, + 0x382E, 0x4E, + 0x382F, 0x7C, + 0x3830, 0x31, + 0x3831, 0x6B, + 0x3832, 0x20, + 0x3833, 0x49, + 0x3834, 0xBD, + 0x3835, 0xC0, + 0x3836, 0x60, + 0x3837, 0x20, + 0x3838, 0x44, + 0x3839, 0xBD, + 0x383A, 0x36, + 0x383B, 0xCE, + 0x383C, 0xF6, + 0x383D, 0x01, + 0x383E, 0xFE, + 0x383F, 0xF7, + 0x3840, 0x1C, + 0x3841, 0xC0, + 0x3842, 0xBD, + 0x3843, 0x9A, + 0x3844, 0xD9, + 0x3845, 0xC6, + 0x3846, 0x02, + 0x3847, 0x37, + 0x3848, 0xC6, + 0x3849, 0x51, + 0x384A, 0xBD, + 0x384B, 0xD3, + 0x384C, 0xDF, + 0x384D, 0x31, + 0x384E, 0xBD, + 0x384F, 0xC0, + 0x3850, 0xB2, + 0x3851, 0x7F, + 0x3852, 0x02, + 0x3853, 0x01, + 0x3854, 0x20, + 0x3855, 0x27, + 0x3856, 0xBD, + 0x3857, 0x35, + 0x3858, 0xAD, + 0x3859, 0x20, + 0x385A, 0x22, + 0x385B, 0xBD, + 0x385C, 0xC1, + 0x385D, 0x7E, + 0x385E, 0x20, + 0x385F, 0x1D, + 0x3860, 0xBD, + 0x3861, 0xC1, + 0x3862, 0x9F, + 0x3863, 0x7F, + 0x3864, 0x20, + 0x3865, 0xA8, + 0x3866, 0x18, + 0x3867, 0xFE, + 0x3868, 0x30, + 0x3869, 0x4A, + 0x386A, 0xF6, + 0x386B, 0x30, + 0x386C, 0x54, + 0x386D, 0x18, + 0x386E, 0x3A, + 0x386F, 0xF6, + 0x3870, 0x20, + 0x3871, 0xAA, + 0x3872, 0xC4, + 0x3873, 0xE0, + 0x3874, 0x18, + 0x3875, 0xEA, + 0x3876, 0x00, + 0x3877, 0xF7, + 0x3878, 0x20, + 0x3879, 0xAA, + 0x387A, 0xBD, + 0x387B, 0xC1, + 0x387C, 0xBF, + 0x387D, 0x31, + 0x387E, 0x38, + 0x387F, 0x39, + 0x3880, 0x3C, + 0x3881, 0xF6, + 0x3882, 0x00, + 0x3883, 0x46, + 0x3884, 0x4F, + 0x3885, 0xC4, + 0x3886, 0x03, + 0x3887, 0x83, + 0x3888, 0x00, + 0x3889, 0x02, + 0x388A, 0x27, + 0x388B, 0x02, + 0x388C, 0x38, + 0x388D, 0x39, + 0x388E, 0xF6, + 0x388F, 0x00, + 0x3890, 0x47, + 0x3891, 0xC4, + 0x3892, 0xFC, + 0x3893, 0xCA, + 0x3894, 0x02, + 0x3895, 0xF7, + 0x3896, 0x00, + 0x3897, 0x47, + 0x3898, 0xFE, + 0x3899, 0x00, + 0x389A, 0xB5, + 0x389B, 0xAD, + 0x389C, 0x00, + 0x389D, 0xF6, + 0x389E, 0x02, + 0x389F, 0x00, + 0x38A0, 0xF7, + 0x38A1, 0x20, + 0x38A2, 0xA5, + 0x38A3, 0x13, + 0x38A4, 0x00, + 0x38A5, 0x10, + 0x38A6, 0x03, + 0x38A7, 0x7F, + 0x38A8, 0x12, + 0x38A9, 0x37, + 0x38AA, 0xF6, + 0x38AB, 0x01, + 0x38AC, 0xEE, + 0x38AD, 0xF7, + 0x38AE, 0x12, + 0x38AF, 0x36, + 0x38B0, 0xC6, + 0x38B1, 0x01, + 0x38B2, 0xF7, + 0x38B3, 0x12, + 0x38B4, 0x51, + 0x38B5, 0x5C, + 0x38B6, 0xF7, + 0x38B7, 0x01, + 0x38B8, 0xBF, + 0x38B9, 0x38, + 0x38BA, 0x39, + 0x38BB, 0xF6, + 0x38BC, 0x01, + 0x38BD, 0xBF, + 0x38BE, 0xC1, + 0x38BF, 0x0B, + 0x38C0, 0x24, + 0x38C1, 0x41, + 0x38C2, 0xBD, + 0x38C3, 0xEE, + 0x38C4, 0x8F, + 0x38C5, 0x38, + 0x38C6, 0xDC, + 0x38C7, 0x38, + 0x38C8, 0xDF, + 0x38C9, 0x38, + 0x38CA, 0xE2, + 0x38CB, 0x38, + 0x38CC, 0xE5, + 0x38CD, 0x38, + 0x38CE, 0xED, + 0x38CF, 0x38, + 0x38D0, 0xF1, + 0x38D1, 0x38, + 0x38D2, 0xF5, + 0x38D3, 0x39, + 0x38D4, 0x00, + 0x38D5, 0x38, + 0x38D6, 0xE9, + 0x38D7, 0x38, + 0x38D8, 0xF9, + 0x38D9, 0x38, + 0x38DA, 0xFD, + 0x38DB, 0x39, + 0x38DC, 0xBD, + 0x38DD, 0xC2, + 0x38DE, 0x47, + 0x38DF, 0x8D, + 0x38E0, 0x9F, + 0x38E1, 0x39, + 0x38E2, 0xBD, + 0x38E3, 0xC2, + 0x38E4, 0x86, + 0x38E5, 0xBD, + 0x38E6, 0xC2, + 0x38E7, 0xC0, + 0x38E8, 0x39, + 0x38E9, 0xBD, + 0x38EA, 0xC3, + 0x38EB, 0x40, + 0x38EC, 0x39, + 0x38ED, 0xBD, + 0x38EE, 0xC4, + 0x38EF, 0x07, + 0x38F0, 0x39, + 0x38F1, 0xBD, + 0x38F2, 0xC4, + 0x38F3, 0x45, + 0x38F4, 0x39, + 0x38F5, 0xBD, + 0x38F6, 0xC4, + 0x38F7, 0x98, + 0x38F8, 0x39, + 0x38F9, 0xBD, + 0x38FA, 0xC4, + 0x38FB, 0xF3, + 0x38FC, 0x39, + 0x38FD, 0xBD, + 0x38FE, 0xC5, + 0x38FF, 0x14, + 0x3900, 0xBD, + 0x3901, 0xC5, + 0x3902, 0x2E, + 0x3903, 0x39, + 0x3904, 0x00, + 0x3905, 0x04, + 0x3906, 0x08, + 0x3907, 0x09, + 0x3908, 0x0D, + 0x3909, 0x0E, + 0x390A, 0x0F, + 0x390B, 0x00, + 0x3400, 0x01, + 0x33f8, 0x01, +}; + +static const u32 phy300_fix_param[] = { + 0x33f9,0xbd, + 0x33fa,0x34, + 0x33fb,0x00, + 0x33fc,0x39, + 0x3400,0x39, + 0x3401,0xCC, + 0x3402,0x41, + 0x3403,0x09, + 0x3404,0xFD, + 0x3405,0xFF, + 0x3406,0xF0, + 0x3407,0xF6, + 0x3408,0x37, + 0x3409,0x97, + 0x340A,0x26, + 0x340B,0x16, + 0x340C,0xC6, + 0x340D,0x01, + 0x340E,0xF7, + 0x340F,0x37, + 0x3410,0x97, + 0x3411,0xC6, + 0x3412,0x13, + 0x3413,0xF7, + 0x3414,0x31, + 0x3415,0x63, + 0x3416,0xC6, + 0x3417,0x1F, + 0x3418,0xF7, + 0x3419,0x31, + 0x341A,0x64, + 0x341B,0x7F, + 0x341C,0x31, + 0x341D,0x65, + 0x341E,0x5C, + 0x341F,0xF7, + 0x3420,0x31, + 0x3421,0x66, + 0x3422,0xFC, + 0x3423,0x00, + 0x3424,0xB5, + 0x3425,0x83, + 0x3426,0x36, + 0x3427,0x1A, + 0x3428,0x27, + 0x3429,0x34, + 0x342A,0xCC, + 0x342B,0x37, + 0x342C,0x4E, + 0x342D,0xFD, + 0x342E,0x30, + 0x342F,0x30, + 0x3430,0xCC, + 0x3431,0x36, + 0x3432,0x1A, + 0x3433,0xFD, + 0x3434,0x00, + 0x3435,0xB5, + 0x3436,0x7F, + 0x3437,0x01, + 0x3438,0xC1, + 0x3439,0xC6, + 0x343A,0xE0, + 0x343B,0xF7, + 0x343C,0x00, + 0x343D,0x79, + 0x343E,0xC6, + 0x343F,0x54, + 0x3440,0xF7, + 0x3441,0x01, + 0x3442,0xE9, + 0x3443,0xC6, + 0x3444,0x80, + 0x3445,0xF7, + 0x3446,0x00, + 0x3447,0xEC, + 0x3448,0xC6, + 0x3449,0x01, + 0x344A,0xF7, + 0x344B,0x20, + 0x344C,0x08, + 0x344D,0xCC, + 0x344E,0x37, + 0x344F,0x8B, + 0x3450,0xFD, + 0x3451,0x30, + 0x3452,0x08, + 0x3453,0xC6, + 0x3454,0xB4, + 0x3455,0xF7, + 0x3456,0x30, + 0x3457,0x64, + 0x3458,0xCC, + 0x3459,0x36, + 0x345A,0x9D, + 0x345B,0xFD, + 0x345C,0x01, + 0x345D,0x01, + 0x345E,0x39, + 0x345F,0x7F, + 0x3460,0x20, + 0x3461,0x0F, + 0x3462,0xC6, + 0x3463,0x07, + 0x3464,0xF7, + 0x3465,0x20, + 0x3466,0x11, + 0x3467,0xC6, + 0x3468,0xB0, + 0x3469,0xF7, + 0x346A,0x20, + 0x346B,0x12, + 0x346C,0xC6, + 0x346D,0x80, + 0x346E,0xF7, + 0x346F,0x20, + 0x3470,0x13, + 0x3471,0x7F, + 0x3472,0x20, + 0x3473,0x15, + 0x3474,0x7F, + 0x3475,0x20, + 0x3476,0x16, + 0x3477,0x39, + 0x3478,0xC6, + 0x3479,0x02, + 0x347A,0xF7, + 0x347B,0x20, + 0x347C,0x06, + 0x347D,0xF6, + 0x347E,0x20, + 0x347F,0x06, + 0x3480,0xC4, + 0x3481,0xCF, + 0x3482,0xFA, + 0x3483,0x31, + 0x3484,0x66, + 0x3485,0xF7, + 0x3486,0x20, + 0x3487,0x06, + 0x3488,0xC6, + 0x3489,0x90, + 0x348A,0xF7, + 0x348B,0x20, + 0x348C,0x05, + 0x348D,0xF6, + 0x348E,0x20, + 0x348F,0x05, + 0x3490,0xC4, + 0x3491,0xC0, + 0x3492,0xFA, + 0x3493,0x31, + 0x3494,0x63, + 0x3495,0xF7, + 0x3496,0x20, + 0x3497,0x05, + 0x3498,0xC6, + 0x3499,0xB0, + 0x349A,0xF7, + 0x349B,0x20, + 0x349C,0x09, + 0x349D,0xC6, + 0x349E,0x80, + 0x349F,0xF7, + 0x34A0,0x20, + 0x34A1,0x0D, + 0x34A2,0xF7, + 0x34A3,0x20, + 0x34A4,0x0E, + 0x34A5,0xC6, + 0x34A6,0xE9, + 0x34A7,0xF7, + 0x34A8,0x20, + 0x34A9,0x14, + 0x34AA,0x39, + 0x34AB,0xC6, + 0x34AC,0x02, + 0x34AD,0xF7, + 0x34AE,0x20, + 0x34AF,0x06, + 0x34B0,0xC6, + 0x34B1,0x94, + 0x34B2,0xF7, + 0x34B3,0x20, + 0x34B4,0x05, + 0x34B5,0xF6, + 0x34B6,0x20, + 0x34B7,0x05, + 0x34B8,0xC4, + 0x34B9,0xC0, + 0x34BA,0xFA, + 0x34BB,0x31, + 0x34BC,0x64, + 0x34BD,0xF7, + 0x34BE,0x20, + 0x34BF,0x05, + 0x34C0,0xC6, + 0x34C1,0x88, + 0x34C2,0xF7, + 0x34C3,0x20, + 0x34C4,0x09, + 0x34C5,0xC6, + 0x34C6,0x40, + 0x34C7,0xF7, + 0x34C8,0x20, + 0x34C9,0x0D, + 0x34CA,0xC6, + 0x34CB,0xC0, + 0x34CC,0xF7, + 0x34CD,0x20, + 0x34CE,0x0E, + 0x34CF,0x39, + 0x34D0,0x3C, + 0x34D1,0x34, + 0x34D2,0x30, + 0x34D3,0xBD, + 0x34D4,0x87, + 0x34D5,0x8D, + 0x34D6,0xE7, + 0x34D7,0x00, + 0x34D8,0xF6, + 0x34D9,0x1E, + 0x34DA,0x0E, + 0x34DB,0xF7, + 0x34DC,0x01, + 0x34DD,0xEF, + 0x34DE,0xE6, + 0x34DF,0x00, + 0x34E0,0xC0, + 0x34E1,0x02, + 0x34E2,0x27, + 0x34E3,0x15, + 0x34E4,0x5A, + 0x34E5,0x27, + 0x34E6,0x34, + 0x34E7,0x5A, + 0x34E8,0x27, + 0x34E9,0x6C, + 0x34EA,0x5A, + 0x34EB,0x26, + 0x34EC,0x03, + 0x34ED,0x7E, + 0x34EE,0x35, + 0x34EF,0x8C, + 0x34F0,0x5A, + 0x34F1,0x27, + 0x34F2,0x63, + 0x34F3,0x5A, + 0x34F4,0x27, + 0x34F5,0xF7, + 0x34F6,0x7E, + 0x34F7,0x35, + 0x34F8,0xC9, + 0x34F9,0xF6, + 0x34FA,0x20, + 0x34FB,0x0E, + 0x34FC,0xCA, + 0x34FD,0x10, + 0x34FE,0xF7, + 0x34FF,0x20, + 0x3500,0x0E, + 0x3501,0xF6, + 0x3502,0x1E, + 0x3503,0x0F, + 0x3504,0xC4, + 0x3505,0xFC, + 0x3506,0xF7, + 0x3507,0x1E, + 0x3508,0x0F, + 0x3509,0xBD, + 0x350A,0x86, + 0x350B,0x38, + 0x350C,0xF6, + 0x350D,0x1E, + 0x350E,0x0F, + 0x350F,0xCA, + 0x3510,0x01, + 0x3511,0xF7, + 0x3512,0x1E, + 0x3513,0x0F, + 0x3514,0xBD, + 0x3515,0x86, + 0x3516,0x38, + 0x3517,0xC6, + 0x3518,0xC8, + 0x3519,0x20, + 0x351A,0x20, + 0x351B,0xF6, + 0x351C,0x20, + 0x351D,0x0E, + 0x351E,0xCA, + 0x351F,0x10, + 0x3520,0xF7, + 0x3521,0x20, + 0x3522,0x0E, + 0x3523,0xF6, + 0x3524,0x1E, + 0x3525,0x0F, + 0x3526,0xC4, + 0x3527,0xFC, + 0x3528,0xF7, + 0x3529,0x1E, + 0x352A,0x0F, + 0x352B,0xBD, + 0x352C,0x86, + 0x352D,0x38, + 0x352E,0xF6, + 0x352F,0x1E, + 0x3530,0x0F, + 0x3531,0xCA, + 0x3532,0x02, + 0x3533,0xF7, + 0x3534,0x1E, + 0x3535,0x0F, + 0x3536,0xBD, + 0x3537,0x86, + 0x3538,0x38, + 0x3539,0xC6, + 0x353A,0xE8, + 0x353B,0xF7, + 0x353C,0x20, + 0x353D,0x10, + 0x353E,0xF6, + 0x353F,0x20, + 0x3540,0x10, + 0x3541,0xC4, + 0x3542,0xE7, + 0x3543,0xFA, + 0x3544,0x31, + 0x3545,0x65, + 0x3546,0xF7, + 0x3547,0x20, + 0x3548,0x10, + 0x3549,0xF6, + 0x354A,0x20, + 0x354B,0x0E, + 0x354C,0xC4, + 0x354D,0xEF, + 0x354E,0xF7, + 0x354F,0x20, + 0x3550,0x0E, + 0x3551,0xBD, + 0x3552,0x34, + 0x3553,0x78, + 0x3554,0x20, + 0x3555,0x73, + 0x3556,0xF6, + 0x3557,0x20, + 0x3558,0x0E, + 0x3559,0xCA, + 0x355A,0x10, + 0x355B,0xF7, + 0x355C,0x20, + 0x355D,0x0E, + 0x355E,0xF6, + 0x355F,0x1E, + 0x3560,0x0F, + 0x3561,0xC4, + 0x3562,0xFC, + 0x3563,0xF7, + 0x3564,0x1E, + 0x3565,0x0F, + 0x3566,0xBD, + 0x3567,0x86, + 0x3568,0x38, + 0x3569,0xF6, + 0x356A,0x1E, + 0x356B,0x0F, + 0x356C,0xCA, + 0x356D,0x01, + 0x356E,0xF7, + 0x356F,0x1E, + 0x3570,0x0F, + 0x3571,0xBD, + 0x3572,0x86, + 0x3573,0x38, + 0x3574,0xC6, + 0x3575,0x90, + 0x3576,0xF7, + 0x3577,0x20, + 0x3578,0x10, + 0x3579,0xF6, + 0x357A,0x20, + 0x357B,0x0E, + 0x357C,0xC4, + 0x357D,0xEF, + 0x357E,0xF7, + 0x357F,0x20, + 0x3580,0x0E, + 0x3581,0xBD, + 0x3582,0x34, + 0x3583,0xAB, + 0x3584,0xE6, + 0x3585,0x00, + 0x3586,0xC1, + 0x3587,0x06, + 0x3588,0x26, + 0x3589,0x3A, + 0x358A,0x20, + 0x358B,0x34, + 0x358C,0xF6, + 0x358D,0x20, + 0x358E,0x0E, + 0x358F,0xCA, + 0x3590,0x10, + 0x3591,0xF7, + 0x3592,0x20, + 0x3593,0x0E, + 0x3594,0xF6, + 0x3595,0x1E, + 0x3596,0x0F, + 0x3597,0xC4, + 0x3598,0xFC, + 0x3599,0xF7, + 0x359A,0x1E, + 0x359B,0x0F, + 0x359C,0xBD, + 0x359D,0x86, + 0x359E,0x38, + 0x359F,0xF6, + 0x35A0,0x1E, + 0x35A1,0x0F, + 0x35A2,0xCA, + 0x35A3,0x02, + 0x35A4,0xF7, + 0x35A5,0x1E, + 0x35A6,0x0F, + 0x35A7,0xBD, + 0x35A8,0x86, + 0x35A9,0x38, + 0x35AA,0xC6, + 0x35AB,0xB0, + 0x35AC,0xF7, + 0x35AD,0x20, + 0x35AE,0x10, + 0x35AF,0xF6, + 0x35B0,0x20, + 0x35B1,0x0E, + 0x35B2,0xC4, + 0x35B3,0xEF, + 0x35B4,0xF7, + 0x35B5,0x20, + 0x35B6,0x0E, + 0x35B7,0xBD, + 0x35B8,0x34, + 0x35B9,0xAB, + 0x35BA,0xE6, + 0x35BB,0x00, + 0x35BC,0xC1, + 0x35BD,0x07, + 0x35BE,0x26, + 0x35BF,0x04, + 0x35C0,0xC6, + 0x35C1,0xE9, + 0x35C2,0x20, + 0x35C3,0x02, + 0x35C4,0xC6, + 0x35C5,0xEB, + 0x35C6,0xF7, + 0x35C7,0x20, + 0x35C8,0x14, + 0x35C9,0xBD, + 0x35CA,0x34, + 0x35CB,0x5F, + 0x35CC,0xF6, + 0x35CD,0x1E, + 0x35CE,0x0E, + 0x35CF,0xE7, + 0x35D0,0x00, + 0x35D1,0x7F, + 0x35D2,0x1E, + 0x35D3,0x0E, + 0x35D4,0xF7, + 0x35D5,0x1E, + 0x35D6,0x0E, + 0x35D7,0x18, + 0x35D8,0xFE, + 0x35D9,0x30, + 0x35DA,0x00, + 0x35DB,0xF6, + 0x35DC,0x30, + 0x35DD,0x54, + 0x35DE,0x86, + 0x35DF,0x03, + 0x35E0,0x3D, + 0x35E1,0x18, + 0x35E2,0x3A, + 0x35E3,0xF6, + 0x35E4,0x20, + 0x35E5,0x11, + 0x35E6,0xC4, + 0x35E7,0xF0, + 0x35E8,0x18, + 0x35E9,0xEA, + 0x35EA,0x00, + 0x35EB,0xF7, + 0x35EC,0x20, + 0x35ED,0x11, + 0x35EE,0x18, + 0x35EF,0xFE, + 0x35F0,0x30, + 0x35F1,0x00, + 0x35F2,0xF6, + 0x35F3,0x30, + 0x35F4,0x54, + 0x35F5,0x86, + 0x35F6,0x03, + 0x35F7,0x3D, + 0x35F8,0xCB, + 0x35F9,0x02, + 0x35FA,0x18, + 0x35FB,0x3A, + 0x35FC,0xF6, + 0x35FD,0x20, + 0x35FE,0x12, + 0x35FF,0xC4, + 0x3600,0xF8, + 0x3601,0x18, + 0x3602,0xEA, + 0x3603,0x00, + 0x3604,0xF7, + 0x3605,0x20, + 0x3606,0x12, + 0x3607,0x12, + 0x3608,0x23, + 0x3609,0x80, + 0x360A,0x04, + 0x360B,0x13, + 0x360C,0x23, + 0x360D,0x40, + 0x360E,0x08, + 0x360F,0xF6, + 0x3610,0x20, + 0x3611,0x10, + 0x3612,0xC4, + 0x3613,0x7F, + 0x3614,0xF7, + 0x3615,0x20, + 0x3616,0x10, + 0x3617,0x31, + 0x3618,0x38, + 0x3619,0x39, + 0x361A,0xD6, + 0x361B,0x25, + 0x361C,0xC4, + 0x361D,0x02, + 0x361E,0xF7, + 0x361F,0x00, + 0x3620,0xFE, + 0x3621,0x8D, + 0x3622,0x7A, + 0x3623,0xBD, + 0x3624,0x86, + 0x3625,0x38, + 0x3626,0xBD, + 0x3627,0x86, + 0x3628,0x38, + 0x3629,0xF6, + 0x362A,0x1E, + 0x362B,0x08, + 0x362C,0xCA, + 0x362D,0x01, + 0x362E,0xF7, + 0x362F,0x1E, + 0x3630,0x08, + 0x3631,0xBD, + 0x3632,0x96, + 0x3633,0xB6, + 0x3634,0xBD, + 0x3635,0x96, + 0x3636,0xCF, + 0x3637,0xBD, + 0x3638,0xE0, + 0x3639,0x37, + 0x363A,0xBD, + 0x363B,0x86, + 0x363C,0x38, + 0x363D,0xBD, + 0x363E,0x86, + 0x363F,0xF2, + 0x3640,0xF6, + 0x3641,0x00, + 0x3642,0x41, + 0x3643,0xC5, + 0x3644,0x01, + 0x3645,0x26, + 0x3646,0x03, + 0x3647,0xBD, + 0x3648,0x34, + 0x3649,0xD0, + 0x364A,0xF6, + 0x364B,0x1E, + 0x364C,0x08, + 0x364D,0xCA, + 0x364E,0x03, + 0x364F,0xF7, + 0x3650,0x1E, + 0x3651,0x08, + 0x3652,0xBD, + 0x3653,0xD4, + 0x3654,0xE8, + 0x3655,0xBD, + 0x3656,0x89, + 0x3657,0xD1, + 0x3658,0xBD, + 0x3659,0x8D, + 0x365A,0x35, + 0x365B,0xBD, + 0x365C,0x8B, + 0x365D,0xB1, + 0x365E,0xFC, + 0x365F,0x00, + 0x3660,0x42, + 0x3661,0xBD, + 0x3662,0x8A, + 0x3663,0xD4, + 0x3664,0xFC, + 0x3665,0x00, + 0x3666,0x42, + 0x3667,0xBD, + 0x3668,0x8C, + 0x3669,0x95, + 0x366A,0xBD, + 0x366B,0x8D, + 0x366C,0x01, + 0x366D,0xF6, + 0x366E,0x20, + 0x366F,0x0E, + 0x3670,0xC4, + 0x3671,0xED, + 0x3672,0xF7, + 0x3673,0x20, + 0x3674,0x0E, + 0x3675,0xBD, + 0x3676,0x89, + 0x3677,0x5A, + 0x3678,0xBD, + 0x3679,0xE0, + 0x367A,0xCD, + 0x367B,0xF6, + 0x367C,0x00, + 0x367D,0x41, + 0x367E,0xC5, + 0x367F,0x20, + 0x3680,0x27, + 0x3681,0x10, + 0x3682,0xF6, + 0x3683,0x12, + 0x3684,0x31, + 0x3685,0xCA, + 0x3686,0x20, + 0x3687,0xF7, + 0x3688,0x12, + 0x3689,0x31, + 0x368A,0xF6, + 0x368B,0x12, + 0x368C,0x22, + 0x368D,0xCA, + 0x368E,0x20, + 0x368F,0xF7, + 0x3690,0x12, + 0x3691,0x22, + 0x3692,0xBD, + 0x3693,0x87, + 0x3694,0x2B, + 0x3695,0x13, + 0x3696,0x23, + 0x3697,0x80, + 0x3698,0x03, + 0x3699,0xBD, + 0x369A,0x96, + 0x369B,0x30, + 0x369C,0x39, + 0x369D,0x3C, + 0x369E,0x34, + 0x369F,0x30, + 0x36A0,0xF6, + 0x36A1,0x00, + 0x36A2,0xFE, + 0x36A3,0x26, + 0x36A4,0x08, + 0x36A5,0xF6, + 0x36A6,0x1E, + 0x36A7,0x0C, + 0x36A8,0xC4, + 0x36A9,0xFD, + 0x36AA,0xF7, + 0x36AB,0x1E, + 0x36AC,0x0C, + 0x36AD,0x7F, + 0x36AE,0x10, + 0x36AF,0xF1, + 0x36B0,0x7F, + 0x36B1,0x10, + 0x36B2,0xF3, + 0x36B3,0x7F, + 0x36B4,0x1C, + 0x36B5,0xF1, + 0x36B6,0x7F, + 0x36B7,0x1C, + 0x36B8,0xF2, + 0x36B9,0x7F, + 0x36BA,0x12, + 0x36BB,0xF2, + 0x36BC,0x7F, + 0x36BD,0x12, + 0x36BE,0xF3, + 0x36BF,0x7F, + 0x36C0,0x10, + 0x36C1,0xF0, + 0x36C2,0x7F, + 0x36C3,0x10, + 0x36C4,0xF2, + 0x36C5,0x7F, + 0x36C6,0x1C, + 0x36C7,0xF0, + 0x36C8,0x7F, + 0x36C9,0x1C, + 0x36CA,0xF3, + 0x36CB,0x7F, + 0x36CC,0x12, + 0x36CD,0xF0, + 0x36CE,0x7F, + 0x36CF,0x12, + 0x36D0,0xF1, + 0x36D1,0xF6, + 0x36D2,0x00, + 0x36D3,0xFE, + 0x36D4,0x26, + 0x36D5,0x2C, + 0x36D6,0x7F, + 0x36D7,0x1D, + 0x36D8,0xF1, + 0x36D9,0x7F, + 0x36DA,0x1D, + 0x36DB,0xF0, + 0x36DC,0x7F, + 0x36DD,0x1D, + 0x36DE,0xF4, + 0x36DF,0x7F, + 0x36E0,0x11, + 0x36E1,0xF1, + 0x36E2,0x7F, + 0x36E3,0x11, + 0x36E4,0xF0, + 0x36E5,0xF6, + 0x36E6,0x1E, + 0x36E7,0x0B, + 0x36E8,0xC4, + 0x36E9,0xFC, + 0x36EA,0xE7, + 0x36EB,0x00, + 0x36EC,0xF7, + 0x36ED,0x1E, + 0x36EE,0x0B, + 0x36EF,0xC5, + 0x36F0,0x01, + 0x36F1,0x27, + 0x36F2,0x05, + 0x36F3,0xF7, + 0x36F4,0x1E, + 0x36F5,0x08, + 0x36F6,0x20, + 0x36F7,0x0A, + 0x36F8,0x1C, + 0x36F9,0x00, + 0x36FA,0x01, + 0x36FB,0xE6, + 0x36FC,0x00, + 0x36FD,0xF7, + 0x36FE,0x1E, + 0x36FF,0x08, + 0x3700,0x8D, + 0x3701,0x0D, + 0x3702,0xF6, + 0x3703,0x1E, + 0x3704,0x08, + 0x3705,0xC4, + 0x3706,0xFD, + 0x3707,0xF7, + 0x3708,0x1E, + 0x3709,0x08, + 0x370A,0x8D, + 0x370B,0x03, + 0x370C,0x31, + 0x370D,0x38, + 0x370E,0x39, + 0x370F,0x7F, + 0x3710,0x20, + 0x3711,0x01, + 0x3712,0x7F, + 0x3713,0x20, + 0x3714,0x02, + 0x3715,0x7F, + 0x3716,0x20, + 0x3717,0x03, + 0x3718,0x7F, + 0x3719,0x20, + 0x371A,0x05, + 0x371B,0xC6, + 0x371C,0x01, + 0x371D,0xF7, + 0x371E,0x20, + 0x371F,0x08, + 0x3720,0x7F, + 0x3721,0x20, + 0x3722,0x09, + 0x3723,0x7F, + 0x3724,0x20, + 0x3725,0x0A, + 0x3726,0x7F, + 0x3727,0x20, + 0x3728,0x0B, + 0x3729,0x7F, + 0x372A,0x20, + 0x372B,0x0C, + 0x372C,0x7F, + 0x372D,0x20, + 0x372E,0x0D, + 0x372F,0x7F, + 0x3730,0x20, + 0x3731,0x0E, + 0x3732,0x7F, + 0x3733,0x20, + 0x3734,0x0F, + 0x3735,0x7F, + 0x3736,0x20, + 0x3737,0x10, + 0x3738,0x7F, + 0x3739,0x20, + 0x373A,0x11, + 0x373B,0x7F, + 0x373C,0x20, + 0x373D,0x12, + 0x373E,0x7F, + 0x373F,0x20, + 0x3740,0x13, + 0x3741,0x7F, + 0x3742,0x20, + 0x3743,0x14, + 0x3744,0x7F, + 0x3745,0x20, + 0x3746,0x15, + 0x3747,0x7F, + 0x3748,0x20, + 0x3749,0x16, + 0x374A,0x7F, + 0x374B,0x20, + 0x374C,0x18, + 0x374D,0x39, + 0x374E,0xC6, + 0x374F,0x77, + 0x3750,0xF7, + 0x3751,0x1C, + 0x3752,0xAB, + 0x3753,0xC6, + 0x3754,0x08, + 0x3755,0xF7, + 0x3756,0x1C, + 0x3757,0xAA, + 0x3758,0xC6, + 0x3759,0x80, + 0x375A,0xF7, + 0x375B,0x1C, + 0x375C,0xAC, + 0x375D,0xC6, + 0x375E,0xEE, + 0x375F,0xF7, + 0x3760,0x1C, + 0x3761,0xAE, + 0x3762,0xC6, + 0x3763,0x01, + 0x3764,0xF7, + 0x3765,0x1C, + 0x3766,0xAF, + 0x3767,0xC6, + 0x3768,0xFF, + 0x3769,0xF7, + 0x376A,0x12, + 0x376B,0x90, + 0x376C,0xF7, + 0x376D,0x12, + 0x376E,0x91, + 0x376F,0xF7, + 0x3770,0x12, + 0x3771,0x92, + 0x3772,0xF7, + 0x3773,0x12, + 0x3774,0x93, + 0x3775,0xF7, + 0x3776,0x12, + 0x3777,0x94, + 0x3778,0xC6, + 0x3779,0x20, + 0x377A,0xF7, + 0x377B,0x1E, + 0x377C,0x0D, + 0x377D,0x7F, + 0x377E,0x12, + 0x377F,0x9E, + 0x3780,0xC6, + 0x3781,0xA2, + 0x3782,0xF7, + 0x3783,0x1C, + 0x3784,0xA9, + 0x3785,0xC6, + 0x3786,0x01, + 0x3787,0xF7, + 0x3788,0x10, + 0x3789,0x95, + 0x378A,0x39, + 0x378B,0x00, + 0x378C,0x00, + 0x378D,0x10, + 0x378E,0x00, + 0x378F,0x00, + 0x3790,0x41, + 0x3791,0x10, + 0x3792,0x0E, + 0x3793,0xCD, + 0x3794,0x01, + 0x3795,0x01, + 0x3796,0x00, + 0x3797,0x00, + 0x3400,0x01, + 0x33f8,0x01 +}; + +static int phy_expanded_write(struct phy_device *phy_dev, u32 reg_addr, u16 val) +{ + int v, ret; + + v = phy_read(phy_dev, MII_BMCR); + v |= BMCR_PDOWN; + phy_write(phy_dev, MII_BMCR, v); + + phy_write(phy_dev, MII_EXPMA, reg_addr); + ret = phy_write(phy_dev, MII_EXPMD, val); + + v = phy_read(phy_dev, MII_BMCR); + v &= (~BMCR_PDOWN); + phy_write(phy_dev, MII_BMCR, v); + + return ret; +} + +#define CONFIG_FEPHY_TRIM +#ifdef CONFIG_FEPHY_TRIM +#define REG_LD_AM 0x3050 +#define LD_AM_MASK GENMASK(4, 0) +#define REG_LDO_AM 0x3051 +#define LDO_AM_MASK GENMASK(2, 0) +#define REG_R_TUNING 0x3052 +#define R_TUNING_MASK GENMASK(5, 0) +#define REG_WR_DONE 0x3053 +#define REG_DEF_ATE 0x3057 +#define DEF_LD_AM 0x0f +#define DEF_LDO_AM 0x7 +#define DEF_R_TUNING 0x15 + +static inline int hieth_phy_expanded_read(struct mii_bus *bus, int phyaddr, + u32 reg_addr) +{ + int ret; + + hieth_mdiobus_write(bus, phyaddr, MII_EXPMA, reg_addr); + ret = hieth_mdiobus_read(bus, phyaddr, MII_EXPMD); + + return ret; +} + +static inline int hieth_phy_expanded_write(struct mii_bus *bus, int phyaddr, + u32 reg_addr, u16 val) +{ + int ret; + + hieth_mdiobus_write(bus, phyaddr, MII_EXPMA, reg_addr); + ret = hieth_mdiobus_write(bus, phyaddr, MII_EXPMD, val); + + return ret; +} + +void hieth_use_default_trim(struct mii_bus *bus, int phyaddr) +{ + unsigned short v; + int timeout = 3; + + pr_info("No OTP data, festav271 use default ATE parameters!\n"); + + do { + msleep(250); + v = hieth_phy_expanded_read(bus, phyaddr, REG_DEF_ATE); + v &= BIT(0); + } while (!v && --timeout); + WARN(!timeout, "festav271 0x3057 wait bit0 timeout!\n"); +} + +void hieth_config_festa_phy_trim(struct mii_bus *bus, int phyaddr, + u32 trim_params) +{ + unsigned short ld_amptlitude; + unsigned short ldo_amptlitude; + unsigned short r_tuning_val; + unsigned short v; + int timeout = 3000; + + ld_amptlitude = DEF_LD_AM; + ldo_amptlitude = DEF_LDO_AM; + r_tuning_val = DEF_R_TUNING; + + if (!trim_params) { + hieth_use_default_trim(bus, phyaddr); + return; + } + + ld_amptlitude = trim_params & LD_AM_MASK; + ldo_amptlitude = (trim_params >> 8) & LDO_AM_MASK; + r_tuning_val = (trim_params >> 16) & R_TUNING_MASK; + + v = hieth_phy_expanded_read(bus, phyaddr, REG_LD_AM); + v = (v & ~LD_AM_MASK) | (ld_amptlitude & LD_AM_MASK); + hieth_phy_expanded_write(bus, phyaddr, REG_LD_AM, v); + + v = hieth_phy_expanded_read(bus, phyaddr, REG_LDO_AM); + v = (v & ~LDO_AM_MASK) | (ldo_amptlitude & LDO_AM_MASK); + hieth_phy_expanded_write(bus, phyaddr, REG_LDO_AM, v); + + v = hieth_phy_expanded_read(bus, phyaddr, REG_R_TUNING); + v = (v & ~R_TUNING_MASK) | (r_tuning_val & R_TUNING_MASK); + hieth_phy_expanded_write(bus, phyaddr, REG_R_TUNING, v); + + v = hieth_phy_expanded_read(bus, phyaddr, REG_WR_DONE); + WARN(v & BIT(1), "festav271 0x3053 bit1 CFG_ACK value: 1\n"); + v = v | BIT(0); + hieth_phy_expanded_write(bus, phyaddr, REG_WR_DONE, v); + + do { + usleep_range(100, 150); + v = hieth_phy_expanded_read(bus, phyaddr, REG_WR_DONE); + v &= BIT(1); + } while (!v && --timeout); + WARN(!timeout, "festav271 0x3053 wait bit1 CFG_ACK timeout!\n"); + + pr_info("FEPHY:addr=%d, la_am=0x%x, ldo_am=0x%x, r_tuning=0x%x\n", + phyaddr, + hieth_phy_expanded_read(bus, phyaddr, REG_LD_AM), + hieth_phy_expanded_read(bus, phyaddr, REG_LDO_AM), + hieth_phy_expanded_read(bus, phyaddr, REG_R_TUNING)); +} +#endif + +#ifdef CONFIG_FEPHY_TRIM +void hieth_fix_festa_phy_trim(struct mii_bus *bus) +{ + struct hieth_phy_param_s *phy_param; + int i; + int phyaddr; +/* + if ((get_chipid(0ULL) != _HI3798MV200) && + (get_chipid(0ULL) != _HI3798MV300) && + (get_chipid(0ULL) != _HI3798MV200_A)) + return; +*/ + return; + + for (i = 0; i < HIETH_MAX_PORT; i++) { + phy_param = &hieth_phy_param[i]; + + if (!phy_param->isvalid || !phy_param->isinternal) + continue; + + phyaddr = phy_param->phy_addr; + hieth_config_festa_phy_trim(bus, phyaddr, + phy_param->trim_params); + mdelay(5); + } +} +#else +void hieth_fix_festa_phy_trim(struct mii_bus *bus) +{ + msleep(300); +} +#endif + +static int phy_expanded_write_bulk(struct phy_device *phy_dev, + const u32 reg_and_val[], + int count) +{ + int i, v, ret = 0; + u32 reg_addr; + u16 val; + + v = phy_read(phy_dev, MII_BMCR); + v |= BMCR_PDOWN; + phy_write(phy_dev, MII_BMCR, v); + + for (i = 0; i < (2 * count); i += 2) { + if ((i % 50) == 0) + schedule(); + + reg_addr = reg_and_val[i]; + val = (u16)reg_and_val[i + 1]; + phy_write(phy_dev, MII_EXPMA, reg_addr); + ret = phy_write(phy_dev, MII_EXPMD, val); + } + + v = phy_read(phy_dev, MII_BMCR); + v &= (~BMCR_PDOWN); + phy_write(phy_dev, MII_BMCR, v); + + return ret; +} + +/* fix FEPHY for better eye diagram */ +static int hisilicon_fephy_fix(struct phy_device *phy_dev) +{ + int count; + + count = ARRAY_SIZE(phy_fix_param); + if (count % 2) + pr_warn("internal FEPHY fix register count is not right.\n"); + count /= 2; + + phy_expanded_write_bulk(phy_dev, phy_fix_param, count); + udelay(200); + phy_expanded_write(phy_dev, 0x01ff, 0x13); + + return 0; +} + +/* fix FEPHY for better eye diagram */ +static int hisilicon_fephy300_fix(struct phy_device *phy_dev) +{ + int count; + + count = ARRAY_SIZE(phy300_fix_param); + if (count % 2) + pr_warn("internal FEPHY fix register count is not right.\n"); + count /= 2; + + phy_expanded_write_bulk(phy_dev, phy300_fix_param, count); + + return 0; +} + +static int KSZ8051MNL_phy_fix(struct phy_device *phy_dev) +{ + u32 v; + + v = phy_read(phy_dev, 0x1F); + v |= (1 << 7); /* set phy RMII 50MHz clk; */ + phy_write(phy_dev, 0x1F, v); + + v = phy_read(phy_dev, 0x16); + v |= (1 << 1); /* set phy RMII override; */ + phy_write(phy_dev, 0x16, v); + + return 0; +} + +static int KSZ8081RNB_phy_fix(struct phy_device *phy_dev) +{ + u32 v; + + v = phy_read(phy_dev, 0x1F); + v |= (1 << 7); /* set phy RMII 50MHz clk; */ + phy_write(phy_dev, 0x1F, v); + + return 0; +} + +void hieth_phy_register_fixups(void) +{ + phy_register_fixup_for_uid(HISILICON_PHY_ID_FESTAV200, + HISILICON_PHY_MASK, hisilicon_fephy_fix); + phy_register_fixup_for_uid(HISILICON_PHY_ID_FESTAV300, + HISILICON_PHY_MASK, hisilicon_fephy300_fix); + phy_register_fixup_for_uid(PHY_ID_KSZ8051MNL, + DEFAULT_PHY_MASK, KSZ8051MNL_phy_fix); + phy_register_fixup_for_uid(PHY_ID_KSZ8081RNB, + DEFAULT_PHY_MASK, KSZ8081RNB_phy_fix); +} + +static void hieth_internal_phy_reset(struct hieth_phy_param_s *phy_param) +{ + unsigned int val; + void *hieth_sys_regbase = ioremap(0xF8A22000, 0x1000); + void *hieth_fephy_base = ioremap(0xF8A20000, 0x1000); +/* + if ((get_chipid(0ULL) == _HI3716MV410) || + (get_chipid(0ULL) == _HI3716MV420N) || + (get_chipid(0ULL) == _HI3716MV420B03) || + (get_chipid(0ULL) == _HI3716MV420)) { + /* LDO output 1.1V *//* + writel(0x8, hieth_fephy_base + HIETH_FEPHY_LDO_CTRL); + } else if ((get_chipid(0ULL) == _HI3798MV200_A) || + (get_chipid(0ULL) == _HI3798MV200) || + (get_chipid(0ULL) == _HI3798MV300)) { + val = readl(hieth_fephy_base + HIETH_FEPHY_LDO_CTRL); + val |= BIT(4) | BIT(6); + val &= ~(BIT(5) | BIT(7)); + writel(val, hieth_fephy_base + HIETH_FEPHY_LDO_CTRL); + } else */{ + val = readl(hieth_fephy_base + HIETH_FEPHY_SELECT); + if ((val & (1 << 8)) != 0) + return;/* if not use fephy, leave it's clk disabled */ + + /* LDO output 1.1V */ + writel(0x68, hieth_fephy_base + HIETH_FEPHY_LDO_CTRL); + } + + /* FEPHY enable clock */ + val = readl(hieth_sys_regbase + HIETHPHY_SYSREG_REG); + val |= (1); + writel(val, hieth_sys_regbase + HIETHPHY_SYSREG_REG); + + /* set FEPHY address */ + val = readl(hieth_fephy_base + HIETH_FEPHY_ADDR); + val &= ~(0x1F); + val |= (phy_param->phy_addr & 0x1F); + writel(val, hieth_fephy_base + HIETH_FEPHY_ADDR); + + /* FEPHY set reset */ + val = readl(hieth_sys_regbase + HIETHPHY_SYSREG_REG); + val |= (1 << 4); + writel(val, hieth_sys_regbase + HIETHPHY_SYSREG_REG); + + usleep_range(10, 1000); + + /* FEPHY cancel reset */ + val = readl(hieth_sys_regbase + HIETHPHY_SYSREG_REG); + val &= ~(1 << 4); + writel(val, hieth_sys_regbase + HIETHPHY_SYSREG_REG); + + msleep(20); /* delay at least 15ms for MDIO operation */ + + iounmap(hieth_sys_regbase); + iounmap(hieth_fephy_base); +} + +void hieth_gpio_reset(void __iomem *gpio_base, u32 gpio_bit) +{ + u32 v; + +#define RESET_DATA (1) + + if (!gpio_base) + return; + + gpio_base = (void *)ioremap((unsigned long)gpio_base, 0x1000); + + /* config gpio[x] dir to output */ + v = readb(gpio_base + 0x400); + v |= (1 << gpio_bit); + writeb(v, gpio_base + 0x400); + + /* output 1--0--1 */ + writeb(RESET_DATA << gpio_bit, gpio_base + (4 << gpio_bit)); + msleep(20); + writeb((!RESET_DATA) << gpio_bit, gpio_base + (4 << gpio_bit)); + msleep(20); + writeb(RESET_DATA << gpio_bit, gpio_base + (4 << gpio_bit)); + msleep(20); + + iounmap(gpio_base); +} + +static void hieth_external_phy_reset(struct hieth_phy_param_s *phy_param) +{ + unsigned int val; + void *hieth_sys_regbase = ioremap(0xF8A22000, 0x1000); + void *hieth_fephy_base = ioremap(0xF8A20000, 0x1000); + + /*if ((get_chipid(0ULL) == _HI3716MV410) || + (get_chipid(0ULL) == _HI3716MV420N) || + (get_chipid(0ULL) == _HI3716MV420B03) || + (get_chipid(0ULL) == _HI3716MV420)) { + ; + } else */{ + /* if use internal fephy, return */ + val = readl(hieth_fephy_base + HIETH_FEPHY_SELECT); + if ((val & (1 << 8)) == 0) + return; + } + + /************************************************/ + /* reset external phy with default reset pin */ + val = readl(hieth_sys_regbase + HIETH_FEPHY_RST_BASE); + val |= (1 << HIETH_FEPHY_RST_BIT); + writel(val, hieth_sys_regbase + HIETH_FEPHY_RST_BASE); + + msleep(20); + + /* then, cancel reset, and should delay 200ms */ + val &= ~(1 << HIETH_FEPHY_RST_BIT); + writel(val, hieth_sys_regbase + HIETH_FEPHY_RST_BASE); + + msleep(20); + val |= 1 << HIETH_FEPHY_RST_BIT; + writel(val, hieth_sys_regbase + HIETH_FEPHY_RST_BASE); + + /************************************************/ + /* reset external phy with gpio */ + hieth_gpio_reset(phy_param->gpio_base, phy_param->gpio_bit); + + /************************************************/ + + /* add some delay in case mdio cann't access now! */ + msleep(30); + + iounmap(hieth_sys_regbase); + iounmap(hieth_fephy_base); +} + +void hieth_phy_reset(void) +{ + int i; + struct hieth_phy_param_s *phy_param; + + for (i = 0; i < HIETH_MAX_PORT; i++) { + phy_param = &hieth_phy_param[i]; + + if (!phy_param->isvalid) + continue; + + if (phy_param->isinternal) + hieth_internal_phy_reset(phy_param); + else + hieth_external_phy_reset(phy_param); + } +} diff --git a/drivers/net/ethernet/hieth/phy.h b/drivers/net/ethernet/hieth/phy.h new file mode 100644 index 000000000..5758dcfb2 --- /dev/null +++ b/drivers/net/ethernet/hieth/phy.h @@ -0,0 +1,34 @@ +#ifndef __HIETH_FEPHY_FIX_H +#define __HIETH_FEPHY_FIX_H + +#ifdef CONFIG_ARM64 +# ifdef CONFIG_ARCH_HI3798MV2X +# define HIETHPHY_SYSREG_REG 0x0388 +# endif +#endif + +#define HIETHPHY_SYSREG_REG 0x0120 + +#define HIETH_FEPHY_ADDR 0x118 +#define HIETH_FEPHY_SELECT 0x8 +#define HIETH_FEPHY_LDO_CTRL 0x844 + +/* DEFAULT external phy reset pin */ +#define HIETH_FEPHY_RST_BASE 0x168 +#define HIETH_FEPHY_RST_BIT 1 + +#define MII_EXPMD 0x1D +#define MII_EXPMA 0x1E + +#define HISILICON_PHY_ID_FESTAV200 (0x20669823) +#define HISILICON_PHY_ID_FESTAV300 (0x20669833) +#define HISILICON_PHY_MASK (0xfffffff0) + +/* the following two copied from phy_quirk() + * in "./drivers/net/ethernet/hieth-sf/net.c" + */ +#define PHY_ID_KSZ8051MNL (0x00221550) +#define PHY_ID_KSZ8081RNB (0x00221560) +#define DEFAULT_PHY_MASK (0xfffffff0) + +#endif diff --git a/drivers/net/ethernet/hieth/pm.c b/drivers/net/ethernet/hieth/pm.c new file mode 100644 index 000000000..21db4a06b --- /dev/null +++ b/drivers/net/ethernet/hieth/pm.c @@ -0,0 +1,325 @@ +#include + +#define HIETH_PM_N (31) +#define HIETH_PM_FILTERS (4) + +struct hieth_pm_config { + unsigned char index; /* bit0--eth0 bit1--eth1 */ + unsigned char uc_pkts_enable; + unsigned char magic_pkts_enable; + unsigned char wakeup_pkts_enable; + struct { + unsigned int mask_bytes : HIETH_PM_N; + unsigned int reserved : 1;/* userspace ignore this bit */ + unsigned char offset; /* >= 12 */ + unsigned char value[HIETH_PM_N];/* byte string */ + unsigned char valid; /* valid filter */ + } filter[HIETH_PM_FILTERS]; +}; + +#define HIETH_PMT_CTRL 0x0500 +#define HIETH_PMT_MASK0 0x0504 +#define HIETH_PMT_MASK1 0x0508 +#define HIETH_PMT_MASK2 0x050c +#define HIETH_PMT_MASK3 0x0510 +#define HIETH_PMT_CMD 0x0514 +#define HIETH_PMT_OFFSET 0x0518 +#define HIETH_PMT_CRC1_0 0x051c +#define HIETH_PMT_CRC3_2 0x0520 + +static void hieth_initCrcTable(void); +static unsigned short hieth_computeCrc(char* message, int nBytes); +static unsigned short calculate_crc16(char *buf, unsigned int mask) +{ + char data[HIETH_PM_N]; + int i, len = 0; + + memset(data, 0, sizeof(data)); + + for (i = 0; i < HIETH_PM_N; i++) { + if (mask & 0x1) + data[len++] = buf[i]; + + mask >>= 1; + } + + return hieth_computeCrc(data, len); +} + + +#define HIETH_PM_SET (1) +#define HIETH_PM_CLEAR (0) +static char pm_state[HIETH_MAX_PORT] = {HIETH_PM_CLEAR, HIETH_PM_CLEAR}; + +int hieth_pmt_config_eth(struct hieth_pm_config *config, struct hieth_netdev_priv *priv) +{ + unsigned int v = 0, cmd = 0, offset = 0; + unsigned short crc[HIETH_PM_FILTERS] = {0}; + int reg_mask = 0; + int i; + + if (!priv) + return -EINVAL; + + local_lock(priv); + if (config->wakeup_pkts_enable) { + /* disable wakeup_pkts_enable before reconfig? */ + v = hieth_readl(priv->port_base, HIETH_PMT_CTRL); + v &= ~(1 << 2); + hieth_writel(priv->port_base, v, HIETH_PMT_CTRL);/* any side effect? */ + } else + goto config_ctrl; + +/* + * filter.valid mask.valid mask_bytes effect + * 0 * * no use the filter + * 1 0 * all pkts can wake-up(non-exist) + * 1 1 0 all pkts can wake-up + * 1 1 !0 normal filter + */ + /* setup filter */ + for (i = 0; i < HIETH_PM_FILTERS; i++) { + if (config->filter[i].valid) { + if (config->filter[i].offset < 12) + continue; + /* offset and valid bit */ + offset |= config->filter[i].offset << (i * 8); + cmd |= 1 << (i * 8); /* valid bit */ + /* mask */ + reg_mask = HIETH_PMT_MASK0 + (i * 4); + + /* + * for logic, mask valid bit(bit31) must set to 0, + * 0 is enable + */ + v = config->filter[i].mask_bytes; + v &= ~(1 << 31); + hieth_writel(priv->port_base, v, reg_mask); + + /* crc */ + crc[i] = calculate_crc16(config->filter[i].value, v); + if (i <= 1) {/* for filter0 and filter 1 */ + v = hieth_readl(priv->port_base, HIETH_PMT_CRC1_0); + v &= ~(0xFFFF << (16 * i)); + v |= crc[i] << (16 * i); + hieth_writel(priv->port_base, v, HIETH_PMT_CRC1_0); + } else {/* filter2 and filter3 */ + v = hieth_readl(priv->port_base, HIETH_PMT_CRC3_2); + v &= ~(0xFFFF << (16 * (i - 2))); + v |= crc[i] << (16 * (i - 2)); + hieth_writel(priv->port_base, v, HIETH_PMT_CRC3_2); + } + } + } + + if (cmd) { + hieth_writel(priv->port_base, offset, HIETH_PMT_OFFSET); + hieth_writel(priv->port_base, cmd, HIETH_PMT_CMD); + } + +config_ctrl: + v = 0; + if (config->uc_pkts_enable) + v |= 1 << 9; /* uc pkts wakeup */ + if (config->wakeup_pkts_enable) + v |= 1 << 2; /* use filter framework */ + if (config->magic_pkts_enable) + v |= 1 << 1; /* magic pkts wakeup */ + + v |= 3 << 5; /* clear irq status */ + hieth_writel(priv->port_base, v, HIETH_PMT_CTRL); + + local_unlock(priv); + + return 0; +} + +/* pmt_config will overwrite pre-config */ +int hieth_pmt_config(struct hieth_pm_config *config) +{ + static int init; + int map = config->index, i, ret = -EINVAL; + struct hieth_netdev_priv *priv; + + if (!init) + hieth_initCrcTable(); + + for (i = 0; i < HIETH_MAX_PORT; i++) { + if (!hieth_devs_save[i]) + continue; + + priv = netdev_priv(hieth_devs_save[i]); + + if (map & 0x1) { + ret = hieth_pmt_config_eth(config, priv); + if (ret) + return ret; + else { + pm_state[i] = HIETH_PM_SET; + device_set_wakeup_enable(priv->dev, 1); + priv->mac_wol_enabled = true; + } + } + map >>= 1; + } + + return ret; +} + +bool inline hieth_pmt_enter(void) +{ + int i, v, pm = false; + struct hieth_netdev_priv *priv; + + for (i = 0; i < HIETH_MAX_PORT; i++) { + if (!hieth_devs_save[i]) + continue; + + priv = netdev_priv(hieth_devs_save[i]); + + local_lock(priv); + if (pm_state[i] == HIETH_PM_SET) { + + v = hieth_readl(priv->port_base, HIETH_PMT_CTRL); + v |= 1 << 0; /* enter power down */ + v |= 1 << 3; /* enable wakeup irq */ + v |= 3 << 5; /* clear irq status */ + hieth_writel(priv->port_base, v, HIETH_PMT_CTRL); + + pm_state[i] = HIETH_PM_CLEAR; + pm = true; + } + local_unlock(priv); + } + return pm; +} + +void inline hieth_pmt_exit(void) +{ + int i, v; + struct hieth_netdev_priv *priv; + + for (i = 0; i < HIETH_MAX_PORT; i++) { + if (!hieth_devs_save[i]) + continue; + + priv = netdev_priv(hieth_devs_save[i]); + + /* logic auto exit power down mode */ + local_lock(priv); + + v = hieth_readl(priv->port_base, HIETH_PMT_CTRL); + v &= ~(1 << 0); /* enter power down */ + v &= ~(1 << 3); /* enable wakeup irq */ + + v |= 3 << 5; /* clear irq status */ + hieth_writel(priv->port_base, v, HIETH_PMT_CTRL); + + local_unlock(priv); + + priv->mac_wol_enabled = false; + } + + //device_set_wakeup_enable(priv->dev, 0); +} + +/* ========the following code copy from Synopsys DWC_gmac_crc_example.c====== */ +#define CRC16 /* Change it to CRC16 for CRC16 Computation*/ + +#define FALSE 0 +#define TRUE !FALSE + +#if defined(CRC16) +typedef unsigned short crc; +#define CRC_NAME "CRC-16" +#define POLYNOMIAL 0x8005 +#define INITIAL_REMAINDER 0xFFFF +#define FINAL_XOR_VALUE 0x0000 +#define REVERSE_DATA TRUE +#define REVERSE_REMAINDER FALSE +#endif + +#define WIDTH (8 * sizeof(crc)) +#define TOPBIT (1 << (WIDTH - 1)) + +#if (REVERSE_DATA == TRUE) +#undef REVERSE_DATA +#define REVERSE_DATA(X) ((unsigned char) reverse((X), 8)) +#else +#undef REVERSE_DATA +#define REVERSE_DATA(X) (X) +#endif + +#if (REVERSE_REMAINDER == TRUE) +#undef REVERSE_REMAINDER +#define REVERSE_REMAINDER(X) ((crc) reverse((X), WIDTH)) +#else +#undef REVERSE_REMAINDER +#define REVERSE_REMAINDER(X) (X) +#endif + +static crc crctable[256]; + +/* Reverse the data + * + * Input1: Data to be reversed + * Input2: number of bits in the data + * Output: The reversed data + */ +static unsigned long reverse(unsigned long data, unsigned char nbits) +{ + unsigned long reversed = 0x00000000; + unsigned char bit; + + /* Reverse the data about the center bit. */ + for (bit = 0; bit < nbits; ++bit) { + /* If the LSB bit is set, set the reflection of it. */ + if (data & 0x01) + reversed |= (1 << ((nbits - 1) - bit)); + + data = (data >> 1); + } + return reversed; +} + +/* This Initializes the partial CRC look up table */ +static void hieth_initCrcTable(void) +{ + crc remainder; + int dividend; + unsigned char bit; + + /* Compute the remainder of each possible dividend. */ + for (dividend = 0; dividend < 256; ++dividend) { + /* Start with the dividend followed by zeros. */ + remainder = (crc)(dividend << (WIDTH - 8)); + + /* Perform modulo-2 division, a bit at a time. */ + for (bit = 8; bit > 0; --bit) { + /* Try to divide the current data bit. */ + if (remainder & TOPBIT) + remainder = (remainder << 1) ^ POLYNOMIAL; + else + remainder = (remainder << 1); + } + + /* Store the result into the table. */ + crctable[dividend] = remainder; + } +} + +static unsigned short hieth_computeCrc(char *message, int nBytes) +{ + crc remainder = INITIAL_REMAINDER; + int byte; + unsigned char data; + + /* Divide the message by the polynomial, a byte at a time. */ + for (byte = 0; byte < nBytes; ++byte) { + data = REVERSE_DATA(message[byte]) ^ (remainder >> (WIDTH - 8)); + remainder = crctable[data] ^ (remainder << 8); + } + + /* The final remainder is the CRC. */ + return (REVERSE_REMAINDER(remainder) ^ FINAL_XOR_VALUE); +} diff --git a/drivers/net/ethernet/hisilicon/Kconfig b/drivers/net/ethernet/hisilicon/Kconfig index 3312e1d93..4be56a1cd 100644 --- a/drivers/net/ethernet/hisilicon/Kconfig +++ b/drivers/net/ethernet/hisilicon/Kconfig @@ -141,4 +141,6 @@ config HNS3_ENET endif #HNS3 +source "drivers/net/ethernet/hisilicon/higmac/Kconfig" + endif # NET_VENDOR_HISILICON diff --git a/drivers/net/ethernet/hisilicon/Makefile b/drivers/net/ethernet/hisilicon/Makefile index 7f76d4120..20152a38c 100644 --- a/drivers/net/ethernet/hisilicon/Makefile +++ b/drivers/net/ethernet/hisilicon/Makefile @@ -3,6 +3,7 @@ # Makefile for the HISILICON network device drivers. # +obj-$(CONFIG_HIETH_GMAC) += higmac/ obj-$(CONFIG_HIX5HD2_GMAC) += hix5hd2_gmac.o obj-$(CONFIG_HIP04_ETH) += hip04_eth.o obj-$(CONFIG_HNS_MDIO) += hns_mdio.o diff --git a/drivers/net/ethernet/hisilicon/higmac/Kconfig b/drivers/net/ethernet/hisilicon/higmac/Kconfig new file mode 100644 index 000000000..9f301823d --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/Kconfig @@ -0,0 +1,36 @@ +# +# higmac family network device configuration +# + +menuconfig HIETH_GMAC + tristate "hieth gmac family network device support" + depends on (ARCH_S40 || ARCH_HIFONE || ARCH_HI3798CV2X || ARCH_HI3798MV2X || ARCH_HI3796MV2X || ARCH_HI3716MV420N) + select PHYLIB + select RESET_CONTROLLER + help + This selects the hieth gmac family network device. + The gigabit switch fabric (GSF) receives and transmits data over Ethernet + ports at 10/100/1000 Mbit/s in full-duplex or half-duplex mode. + The Ethernet port exchanges data with the CPU port, and supports + the energy efficient Ethernet (EEE) and wake on LAN (WoL) functions. + +if HIETH_GMAC + +config HIGMAC_DESC_4WORD + bool "higmac descriptor size is 4 words" + default n + help + This define the size of higmac descriptor structure. + In the newest version, descriptor size is 4 words. + But in some old version, the size is 8 words. + The default value is false. + +config HIGMAC_RXCSUM + bool "higmac Receive checksumming offload supported" + default n + help + This indicate MAC support Receive checksumming offload. + Support IPv4 and IPv6, tcp and udp. + The default value is disabled. + If old version MAC does not support, disable this option please. +endif # HIETH_GMAC diff --git a/drivers/net/ethernet/hisilicon/higmac/Makefile b/drivers/net/ethernet/hisilicon/higmac/Makefile new file mode 100644 index 000000000..2f2a064e5 --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/Makefile @@ -0,0 +1,2 @@ +obj-$(CONFIG_HIETH_GMAC) += hi_gmac.o +hi_gmac-objs := board.o higmac.o mdio.o autoeee/autoeee.o autoeee/phy_id_table.o phy_fix.o diff --git a/drivers/net/ethernet/hisilicon/higmac/autoeee/autoeee.c b/drivers/net/ethernet/hisilicon/higmac/autoeee/autoeee.c new file mode 100644 index 000000000..291a5f96b --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/autoeee/autoeee.c @@ -0,0 +1,105 @@ +#include +#include "../higmac.h" +#include "autoeee.h" + +void init_autoeee(struct higmac_netdev_local *ld) +{ + int phy_id = ld->phy->phy_id; + int eee_available, lp_eee_capable, v; + struct phy_info *phy_info; + int link_stat = 0; + + if (ld->eee_init) + goto eee_init; + + phy_info = phy_search_ids(phy_id); + if (phy_info) { + eee_available = phy_info->eee_available; + if (netif_msg_wol(ld)) + pr_info("fit phy_id:0x%x, phy_name:%s, eee:%d\n", + phy_info->phy_id, phy_info->name, + eee_available); + + if (!eee_available) + goto not_support; + + if (eee_available == PHY_EEE) { + if (netif_msg_wol(ld)) + pr_info("enter phy-EEE mode\n"); + + v = readl(ld->gmac_iobase + EEE_ENABLE); + v &= ~BIT_EEE_ENABLE; /* disable auto-EEE */ + writel(v, ld->gmac_iobase + EEE_ENABLE); + return; + } + + ld->eee_init = phy_info->eee_init; +eee_init: + switch (ld->phy->speed) { + case SPEED_10: + link_stat |= HIGMAC_SPD_10M; + break; + case SPEED_100: + link_stat |= HIGMAC_SPD_100M; + break; + case SPEED_1000: + link_stat |= HIGMAC_SPD_1000M; + break; + default: + break; + } + + lp_eee_capable = ld->eee_init(ld->phy); + if (ld->phy->link) { + if (lp_eee_capable & link_stat) { + /* EEE_1us: 0x7c for 125M */ + writel(0x7c, ld->gmac_iobase + + EEE_TIME_CLK_CNT); + writel(0x1e0400, ld->gmac_iobase + + EEE_TIMER);/* FIXME */ + + v = readl(ld->gmac_iobase + EEE_LINK_STATUS); + v |= 0x3 << 1; /* auto EEE and ... */ + v |= BIT_PHY_LINK_STATUS; /* phy linkup */ + writel(v, ld->gmac_iobase + EEE_LINK_STATUS); + + v = readl(ld->gmac_iobase + EEE_ENABLE); + v |= BIT_EEE_ENABLE; /* enable EEE */ + writel(v, ld->gmac_iobase + EEE_ENABLE); + + if (netif_msg_wol(ld)) + pr_info("enter auto-EEE mode\n"); + } else { + if (netif_msg_wol(ld)) + pr_info("link partner not support EEE\n"); + } + } else { + v = readl(ld->gmac_iobase + EEE_LINK_STATUS); + v &= ~(BIT_PHY_LINK_STATUS); /* phy linkdown */ + writel(v, ld->gmac_iobase + EEE_LINK_STATUS); + } + + return; + } + +not_support: + ld->eee_init = NULL; + if (netif_msg_wol(ld)) + pr_info("non-EEE mode\n"); +} + +void eee_phy_linkdown(struct higmac_netdev_local *ld) +{ + int v = readl(ld->gmac_iobase + EEE_LINK_STATUS); + /* update phy link state */ + v &= ~BIT_PHY_LINK_STATUS; + writel(v, ld->gmac_iobase + EEE_LINK_STATUS); +} + +void eee_phy_linkup(struct higmac_netdev_local *ld) +{ + int v = readl(ld->gmac_iobase + EEE_LINK_STATUS); + /* update phy link state */ + v |= BIT_PHY_LINK_STATUS; + writel(v, ld->gmac_iobase + EEE_LINK_STATUS); +} diff --git a/drivers/net/ethernet/hisilicon/higmac/autoeee/autoeee.h b/drivers/net/ethernet/hisilicon/higmac/autoeee/autoeee.h new file mode 100644 index 000000000..e407bc2b1 --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/autoeee/autoeee.h @@ -0,0 +1,35 @@ +#ifndef _AUTO_EEE_H + +#define NO_EEE 0 +#define MAC_EEE 1 +#define PHY_EEE 2 +#define PARTNER_EEE 2 + +struct phy_info { + char *name; + int phy_id; + char eee_available; /* eee support by this phy */ + int (*eee_init)(struct phy_device *phy_dev); +}; + +/* GMAC register definition */ +#define EEE_ENABLE 0x808 +#define BIT_EEE_ENABLE (1 << 0) +#define EEE_TIMER 0x80C +#define EEE_LINK_STATUS 0x810 +#define BIT_PHY_LINK_STATUS (1 << 0) +#define EEE_TIME_CLK_CNT 0x814 + +/* ----------------------------phy register-------------------------------*/ +#define EEE_DEV 0x3 +#define EEE_CAPABILITY 0x14 +#define EEELPAR_DEV 0x7 +#define EEELPAR 0x3D /* EEE link partner ability register */ +#define EEE_ADVERTISE 0x3c +#define LP_1000BASE_EEE (1 << 2) +#define LP_100BASE_EEE (1 << 1) + +struct phy_info *phy_search_ids(int phy_id); +void init_autoeee(struct higmac_netdev_local *ld); + +#endif diff --git a/drivers/net/ethernet/hisilicon/higmac/autoeee/phy_id_table.c b/drivers/net/ethernet/hisilicon/higmac/autoeee/phy_id_table.c new file mode 100644 index 000000000..3fcbf268d --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/autoeee/phy_id_table.c @@ -0,0 +1,165 @@ +#include +#include +#include +#include "../higmac.h" +#include "../phy_fix.h" +#include "autoeee.h" + +struct phy_info phy_info_table[]; + +struct phy_info *phy_search_ids(int phy_id) +{ + int i; + struct phy_info *fit_info = NULL; + + for (i = 0; phy_info_table[i].name != NULL; i++) { + if (phy_id == phy_info_table[i].phy_id) + fit_info = &phy_info_table[i]; + } + + return fit_info; +} + +inline int phy_mmd_read(struct phy_device *phy_dev, + u32 mmd_device, u32 regnum) +{ + phy_write(phy_dev, MACR, mmd_device); /* function = 00 address */ + phy_write(phy_dev, MAADR, regnum); + phy_write(phy_dev, MACR, 0x4000 | mmd_device); /* function = 01 data */ + + return phy_read(phy_dev, MAADR); +} + +inline int phy_mmd_write(struct phy_device *phy_dev, u32 mmd_device, + u32 regnum, u16 val) +{ + phy_write(phy_dev, MACR, mmd_device); /* function = 00 address */ + phy_write(phy_dev, MAADR, regnum); + phy_write(phy_dev, MACR, 0x4000 | mmd_device); /* function = 01 data */ + + return phy_write(phy_dev, MAADR, val); +} + +static int smsc_lan8740_init(struct phy_device *phy_dev) +{ + static int first_time; + int v, eee_type = 0; + /* Realtek LAN 8740 start to enable eee */ + int eee_lan; + + if (!first_time) { + eee_lan = phy_read(phy_dev, 0x10); + eee_lan |= 0x4; + phy_write(phy_dev, 0x10, eee_lan); + eee_lan = phy_read(phy_dev, 0x10); + /* auto negotiate after enable eee */ + eee_lan = phy_read(phy_dev, 0x0); + eee_lan |= 0x200; + phy_write(phy_dev, 0x0, eee_lan); + first_time = 1; + } + + v = phy_mmd_read(phy_dev, EEELPAR_DEV, EEELPAR); + + if (v & LP_1000BASE_EEE) + eee_type |= HIGMAC_SPD_1000M; + if (v & LP_100BASE_EEE) + eee_type |= HIGMAC_SPD_100M; + + return eee_type; +} + +#define RTL8211EG_MAC 0 +#if RTL8211EG_MAC +static int rtl8211EG_mac_init(struct phy_device *phy_dev) +{ + static int first_time; + /* Realtek 8211EG start reset to change eee to mac */ + int tmp = 0, v, eee_type = 0; + + if (!first_time) { + phy_write(phy_dev, 0x1f, 0x0); + phy_write(phy_dev, MII_BMCR, BMCR_RESET); /* reset phy */ + do { /* wait phy restart over */ + udelay(1); + tmp = phy_read(phy_dev, MII_BMSR); + /* no need to wait AN finished */ + tmp &= (BMSR_ANEGCOMPLETE | BMSR_ANEGCAPABLE); + } while (!tmp); + + phy_write(phy_dev, 0x1f, 0x7); + phy_write(phy_dev, 0x1e, 0x20); + phy_write(phy_dev, 0x1b, 0xa03a); + phy_write(phy_dev, 0x1f, 0x0); + + first_time = 1; + } + + v = phy_mmd_read(phy_dev, EEELPAR_DEV, EEELPAR); + + if (v & LP_1000BASE_EEE) + eee_type |= HIGMAC_SPD_1000M; + if (v & LP_100BASE_EEE) + eee_type |= HIGMAC_SPD_100M; + + return eee_type; +} +#else +static int rtl8211EG_init(struct phy_device *phy_dev) +{ + int eee_type = 0, v; + + v = phy_mmd_read(phy_dev, EEELPAR_DEV, EEELPAR); + + if (v & LP_1000BASE_EEE) + eee_type |= HIGMAC_SPD_1000M; + if (v & LP_100BASE_EEE) + eee_type |= HIGMAC_SPD_100M; + + return eee_type; +} +#endif + +static int festa_v200_init(struct phy_device *phy_dev) +{ + static int first_time_init; + int v, eee_type = 0; + + if (!first_time_init) { + /* EEE_CAPABILITY register: support 100M-BaseT */ + v = phy_mmd_read(phy_dev, EEE_DEV, EEE_CAPABILITY); + phy_mmd_write(phy_dev, EEE_DEV, EEE_CAPABILITY, v | (1 << 1)); + + /* EEE_ADVERTISEMENT register: advertising 100M-BaseT */ + v = phy_mmd_read(phy_dev, EEELPAR_DEV, EEE_ADVERTISE); + phy_mmd_write(phy_dev, EEELPAR_DEV, EEE_ADVERTISE, v|(1<<1)); + + v = phy_read(phy_dev, MII_BMCR); + v |= (BMCR_ANENABLE | BMCR_ANRESTART); + phy_write(phy_dev, MII_BMCR, v); /* auto-neg restart */ + + first_time_init = 1; + } + + v = phy_mmd_read(phy_dev, EEELPAR_DEV, EEELPAR); + + if (v & LP_1000BASE_EEE) + eee_type |= HIGMAC_SPD_1000M; + if (v & LP_100BASE_EEE) + eee_type |= HIGMAC_SPD_100M; + + return eee_type; +} + +struct phy_info phy_info_table[] = { + /* phy_name phy_id eee_available phy_driver */ +/* SMSC */ + {"SMSC LAN8740", 0x0007c110, MAC_EEE, &smsc_lan8740_init}, +/* Realtek */ +#if RTL8211EG_MAC + {"Realtek 8211EG", 0x001cc915, MAC_EEE, &rtl8211EG_mac_init}, +#else + {"Realtek 8211EG", 0x001cc915, PHY_EEE, &rtl8211EG_init}, +#endif + {"Festa V200", HISILICON_PHY_ID_FESTAV200, MAC_EEE, &festa_v200_init}, +}; diff --git a/drivers/net/ethernet/hisilicon/higmac/board.c b/drivers/net/ethernet/hisilicon/higmac/board.c new file mode 100644 index 000000000..69ac2cac2 --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/board.c @@ -0,0 +1,221 @@ +#include +#include +#include +#include +#include +#include "higmac.h" + +#ifdef HIGMAC_HAS_INTERNAL_PHY +/* register REG_CRG_FEPHY */ +#define REG_CRG_FEPHY 0x0388 +#define BIT_FEPHY_CLK BIT(0) +#define BIT_FEPHY_RST BIT(4) +/* register REG_PERI_FEPHY */ +#define REG_PERI_FEPHY 0x0118 +#define BIT_MASK_FEPHY_ADDR 0x1F +/* register REG_PERI_FEPHY_LDO */ +#define REG_PERI_FEPHY_LDO 0x0844 +#define BIT_LDO_EN BIT(4) +#define BIT_LDO_ENZ BIT(5) +#define BIT_LDO_RSTN BIT(6) +#define BIT_IDDQ_MODE BIT(7) +#define LDO_VSET_MASK 0xF +#define LDO_VSET_VAL 0x8 +#endif + +void higmac_mac_core_reset(struct higmac_netdev_local *priv) +{ + /* undo reset */ + reset_control_deassert(priv->port_rst); + usleep_range(50, 60); + + /* soft reset mac port */ + reset_control_assert(priv->port_rst); + usleep_range(50, 60); + /* undo reset */ + reset_control_deassert(priv->port_rst); +} + +void higmac_hw_internal_phy_reset(struct higmac_netdev_local *priv) +{ +#ifdef HIGMAC_HAS_INTERNAL_PHY + unsigned int v = 0; + + /* disable MDCK clock to make sure FEPHY reset success */ + clk_disable_unprepare(priv->clk); + + v = readl(priv->crg_iobase + REG_CRG_FEPHY); + v &= ~BIT_FEPHY_CLK; + writel(v, priv->crg_iobase + REG_CRG_FEPHY);/* disable clk */ + + v = readl(priv->peri_iobase + REG_PERI_FEPHY_LDO); +#if defined(CONFIG_ARCH_HI3796MV2X) + v |= (BIT_LDO_EN | BIT_LDO_RSTN); + v &= ~(BIT_LDO_ENZ | BIT_IDDQ_MODE); +#else + /* set internal FEPHY LDO_VSET value, LDO output 1.1V */ + v = (v & ~LDO_VSET_MASK) | LDO_VSET_VAL; +#if defined(CONFIG_ARCH_HIFONE) + /* enalbe internal FEPHY LDO_EN for hifone_b02 */ + v |= BIT_LDO_EN; +#endif +#endif + writel(v, priv->peri_iobase + REG_PERI_FEPHY_LDO); + + v = readl(priv->crg_iobase + REG_CRG_FEPHY); + v |= BIT_FEPHY_CLK; /* use 25MHz clock, enable clk */ + writel((u32)v, priv->crg_iobase + REG_CRG_FEPHY); + + udelay(10); + + /* suppose internal phy can only be used as mac0's phy */ + v = readl(priv->peri_iobase + REG_PERI_FEPHY); + v &= ~BIT_MASK_FEPHY_ADDR; + v |= (priv->phy_addr & BIT_MASK_FEPHY_ADDR); + writel(v, priv->peri_iobase + REG_PERI_FEPHY); + + v = readl(priv->crg_iobase + REG_CRG_FEPHY); + v |= BIT_FEPHY_RST; /* set reset bit */ + writel((u32)v, priv->crg_iobase + REG_CRG_FEPHY); + + udelay(10); + + v = readl(priv->crg_iobase + REG_CRG_FEPHY); + v &= ~BIT_FEPHY_RST; /* clear reset bit */ + writel((u32)v, priv->crg_iobase + REG_CRG_FEPHY); + + msleep(20); /* delay at least 15ms for MDIO operation */ + + clk_prepare_enable(priv->clk); +#endif +} + +void higmac_hw_phy_reset(struct higmac_netdev_local *priv) +{ + if (priv->internal_phy) + higmac_hw_internal_phy_reset(priv); + else + higmac_hw_external_phy_reset(priv); +} + +static void higmac_phy_reset_assert(struct reset_control *rst, + bool rst_when_set) +{ + if (rst_when_set) + reset_control_assert(rst); + else + reset_control_deassert(rst); +} + +static void higmac_phy_reset_deassert(struct reset_control *rst, + bool rst_when_set) +{ + if (rst_when_set) + reset_control_deassert(rst); + else + reset_control_assert(rst); +} + +#define RESET_DATA 1 +#define GPIO_DIR 0x400 +void higmac_hw_external_phy_reset(struct higmac_netdev_local *priv) +{ + u64 chipid; + bool rst_when_set; + + /* HIFONE or 98cv200 use CRG register to reset phy */ + /* RST_BIT, write 0 to reset phy, write 1 to cancel reset */ + chipid = get_chipid(0ULL); + if (chipid == _HI3798CV200) + rst_when_set = false; + else + rst_when_set = true; + + if (priv->phy_rst) { + higmac_phy_reset_deassert(priv->phy_rst, rst_when_set); + msleep(10); + + higmac_phy_reset_assert(priv->phy_rst, rst_when_set); + + /* delay some time to ensure reset ok, + * this depends on PHY hardware feature + */ + msleep(20); + + higmac_phy_reset_deassert(priv->phy_rst, rst_when_set); + /* delay some time to ensure later MDIO access */ + msleep(50); + } else if (priv->gpio_base) { +#ifdef HIGMAC_RESET_PHY_BY_GPIO + /* use gpio to control mac's phy reset */ + void __iomem *gpio_base; + u32 gpio_bit; + u32 v; + + gpio_base = (void __iomem *)IO_ADDRESS( + (unsigned int)priv->gpio_base); + gpio_bit = priv->gpio_bit; + + /* config gpip[x] dir to output */ + v = readb(gpio_base + GPIO_DIR); + v |= (1 << gpio_bit); + writeb(v, gpio_base + GPIO_DIR); + + /* gpiox[x] set to reset, then delay 200ms */ + writeb(RESET_DATA << gpio_bit, gpio_base + (4 << gpio_bit)); + msleep(20); + /* then,cancel reset,and should delay 200ms */ + writeb((!RESET_DATA) << gpio_bit, gpio_base + (4 << gpio_bit)); + msleep(20); + writeb(RESET_DATA << gpio_bit, gpio_base + (4 << gpio_bit)); + + /* add some delay in case mdio cann't access now! */ + msleep(30); +#endif + } +} + +void higmac_internal_phy_clk_disable(struct higmac_netdev_local *priv) +{ +#ifdef HIGMAC_HAS_INTERNAL_PHY + u32 v = 0; + + v = readl(priv->crg_iobase + REG_CRG_FEPHY); + v &= ~BIT_FEPHY_CLK; + v |= BIT_FEPHY_RST; + writel(v, priv->crg_iobase + REG_CRG_FEPHY);/* inside fephy clk disable */ +#endif +} + +void higmac_internal_phy_clk_enable(struct higmac_netdev_local *priv) +{ +#ifdef HIGMAC_HAS_INTERNAL_PHY + u32 v = 0; + + v = readl(priv->crg_iobase + REG_CRG_FEPHY); + v |= BIT_FEPHY_CLK; + writel(v, priv->crg_iobase + REG_CRG_FEPHY);/* inside fephy clk enable */ +#endif +} + +void higmac_hw_all_clk_disable(struct higmac_netdev_local *priv) +{ + if (netif_running(priv->netdev)) { + clk_disable_unprepare(priv->macif_clk); + clk_disable_unprepare(priv->clk); + } + + if (priv->internal_phy) + higmac_internal_phy_clk_disable(priv); +} + +void higmac_hw_all_clk_enable(struct higmac_netdev_local *priv) +{ + if (priv->internal_phy) + higmac_internal_phy_clk_enable(priv); + + if (netif_running(priv->netdev)) { + clk_prepare_enable(priv->macif_clk); + clk_prepare_enable(priv->clk); + } +} diff --git a/drivers/net/ethernet/hisilicon/higmac/festa_v200.h b/drivers/net/ethernet/hisilicon/higmac/festa_v200.h new file mode 100644 index 000000000..25532df7e --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/festa_v200.h @@ -0,0 +1,1064 @@ +0x33f9,0xbd, +0x33fa,0x34, +0x33fb,0x00, +0x33fc,0x39, +0x3400,0x39, +0x3401,0xCC, +0x3402,0x10, +0x3403,0x0A, +0x3404,0xFD, +0x3405,0xFF, +0x3406,0xF0, +0x3407,0xF6, +0x3408,0x38, +0x3409,0x21, +0x340A,0x26, +0x340B,0x40, +0x340C,0xC6, +0x340D,0x01, +0x340E,0xF7, +0x340F,0x38, +0x3410,0x21, +0x3411,0xC6, +0x3412,0xB0, +0x3413,0xF7, +0x3414,0x01, +0x3415,0xFE, +0x3416,0xC6, +0x3417,0x0F, +0x3418,0xF7, +0x3419,0x01, +0x341A,0xFF, +0x341B,0x5C, +0x341C,0xF7, +0x341D,0x02, +0x341E,0x00, +0x341F,0xCC, +0x3420,0x36, +0x3421,0x91, +0x3422,0xFD, +0x3423,0x00, +0x3424,0xD1, +0x3425,0x7F, +0x3426,0x01, +0x3427,0xC0, +0x3428,0xCC, +0x3429,0x37, +0x342A,0xD1, +0x342B,0xFD, +0x342C,0x00, +0x342D,0xD3, +0x342E,0x7F, +0x342F,0x01, +0x3430,0xBF, +0x3431,0xCC, +0x3432,0x34, +0x3433,0x9C, +0x3434,0xFD, +0x3435,0x01, +0x3436,0xD6, +0x3437,0xCC, +0x3438,0x34, +0x3439,0x4D, +0x343A,0xFD, +0x343B,0x30, +0x343C,0x30, +0x343D,0xC6, +0x343E,0x0A, +0x343F,0xF7, +0x3440,0x31, +0x3441,0x4A, +0x3442,0xC6, +0x3443,0xE0, +0x3444,0xF7, +0x3445,0x00, +0x3446,0x7C, +0x3447,0xC6, +0x3448,0x54, +0x3449,0xF7, +0x344A,0x01, +0x344B,0xEE, +0x344C,0x39, +0x344D,0xC6, +0x344E,0x77, +0x344F,0xF7, +0x3450,0x1C, +0x3451,0xAB, +0x3452,0xC6, +0x3453,0x84, +0x3454,0xF7, +0x3455,0x1C, +0x3456,0xA9, +0x3457,0xC6, +0x3458,0x08, +0x3459,0xF7, +0x345A,0x1C, +0x345B,0xAA, +0x345C,0xC6, +0x345D,0x80, +0x345E,0xF7, +0x345F,0x1C, +0x3460,0xAC, +0x3461,0xC6, +0x3462,0xEE, +0x3463,0xF7, +0x3464,0x1C, +0x3465,0xAE, +0x3466,0xC6, +0x3467,0x01, +0x3468,0xF7, +0x3469,0x1C, +0x346A,0xAF, +0x346B,0xC6, +0x346C,0xFF, +0x346D,0xF7, +0x346E,0x12, +0x346F,0x90, +0x3470,0xF7, +0x3471,0x12, +0x3472,0x91, +0x3473,0xF7, +0x3474,0x12, +0x3475,0x92, +0x3476,0xF7, +0x3477,0x12, +0x3478,0x93, +0x3479,0xF7, +0x347A,0x12, +0x347B,0x94, +0x347C,0xC6, +0x347D,0x20, +0x347E,0xF7, +0x347F,0x1E, +0x3480,0x0D, +0x3481,0x7F, +0x3482,0x12, +0x3483,0x9E, +0x3484,0xC6, +0x3485,0xA2, +0x3486,0xF7, +0x3487,0x1C, +0x3488,0xA9, +0x3489,0x39, +0x348A,0x18, +0x348B,0xCE, +0x348C,0x38, +0x348D,0x1A, +0x348E,0x18, +0x348F,0x3A, +0x3490,0xF6, +0x3491,0x20, +0x3492,0x09, +0x3493,0xC4, +0x3494,0xF0, +0x3495,0x18, +0x3496,0xEA, +0x3497,0x00, +0x3498,0xF7, +0x3499,0x20, +0x349A,0x09, +0x349B,0x39, +0x349C,0xF6, +0x349D,0x01, +0x349E,0xEC, +0x349F,0x27, +0x34A0,0x68, +0x34A1,0xF6, +0x34A2,0x20, +0x34A3,0x09, +0x34A4,0xC4, +0x34A5,0x0F, +0x34A6,0xF7, +0x34A7,0x01, +0x34A8,0xE4, +0x34A9,0xF6, +0x34AA,0x1C, +0x34AB,0xC2, +0x34AC,0xC1, +0x34AD,0x7F, +0x34AE,0x23, +0x34AF,0x0B, +0x34B0,0xF6, +0x34B1,0x1C, +0x34B2,0xC2, +0x34B3,0xC1, +0x34B4,0x90, +0x34B5,0x24, +0x34B6,0x04, +0x34B7,0xC6, +0x34B8,0x01, +0x34B9,0x20, +0x34BA,0x2D, +0x34BB,0xF6, +0x34BC,0x1C, +0x34BD,0xC2, +0x34BE,0xC1, +0x34BF,0x90, +0x34C0,0x25, +0x34C1,0x0B, +0x34C2,0xF6, +0x34C3,0x1C, +0x34C4,0xC2, +0x34C5,0xC1, +0x34C6,0xA0, +0x34C7,0x24, +0x34C8,0x04, +0x34C9,0xC6, +0x34CA,0x02, +0x34CB,0x20, +0x34CC,0x1B, +0x34CD,0xF6, +0x34CE,0x1C, +0x34CF,0xC2, +0x34D0,0xC1, +0x34D1,0xA0, +0x34D2,0x25, +0x34D3,0x0B, +0x34D4,0xF6, +0x34D5,0x1C, +0x34D6,0xC2, +0x34D7,0xC1, +0x34D8,0xD0, +0x34D9,0x24, +0x34DA,0x04, +0x34DB,0xC6, +0x34DC,0x03, +0x34DD,0x20, +0x34DE,0x09, +0x34DF,0xF6, +0x34E0,0x1C, +0x34E1,0xC2, +0x34E2,0xC1, +0x34E3,0xD0, +0x34E4,0x25, +0x34E5,0x04, +0x34E6,0xC6, +0x34E7,0x04, +0x34E8,0x8D, +0x34E9,0xA0, +0x34EA,0xF6, +0x34EB,0x20, +0x34EC,0x09, +0x34ED,0xC4, +0x34EE,0x0F, +0x34EF,0xF7, +0x34F0,0x01, +0x34F1,0xEB, +0x34F2,0x7A, +0x34F3,0x01, +0x34F4,0xEC, +0x34F5,0xF6, +0x34F6,0x01, +0x34F7,0xE4, +0x34F8,0xF1, +0x34F9,0x01, +0x34FA,0xEB, +0x34FB,0x27, +0x34FC,0x0C, +0x34FD,0xC6, +0x34FE,0x01, +0x34FF,0x37, +0x3500,0xC6, +0x3501,0x51, +0x3502,0xBD, +0x3503,0xD3, +0x3504,0xDF, +0x3505,0x31, +0x3506,0xC6, +0x3507,0x01, +0x3508,0x39, +0x3509,0x5F, +0x350A,0x39, +0x350B,0x3C, +0x350C,0xF6, +0x350D,0x00, +0x350E,0x46, +0x350F,0x4F, +0x3510,0xC4, +0x3511,0x0C, +0x3512,0x83, +0x3513,0x00, +0x3514,0x08, +0x3515,0x27, +0x3516,0x07, +0x3517,0xC6, +0x3518,0x11, +0x3519,0xF7, +0x351A,0x01, +0x351B,0xC0, +0x351C,0x38, +0x351D,0x39, +0x351E,0xF6, +0x351F,0x02, +0x3520,0x01, +0x3521,0x26, +0x3522,0x33, +0x3523,0xF6, +0x3524,0x01, +0x3525,0xF8, +0x3526,0xC1, +0x3527,0x05, +0x3528,0x24, +0x3529,0x27, +0x352A,0xC6, +0x352B,0x51, +0x352C,0xBD, +0x352D,0xD4, +0x352E,0x7F, +0x352F,0x5D, +0x3530,0x26, +0x3531,0x02, +0x3532,0x38, +0x3533,0x39, +0x3534,0xF6, +0x3535,0x1C, +0x3536,0xC5, +0x3537,0xC5, +0x3538,0x01, +0x3539,0x27, +0x353A,0x08, +0x353B,0xF6, +0x353C,0x1C, +0x353D,0xC2, +0x353E,0xC0, +0x353F,0x10, +0x3540,0xF7, +0x3541,0x1C, +0x3542,0xC2, +0x3543,0x7C, +0x3544,0x01, +0x3545,0xF8, +0x3546,0xC6, +0x3547,0x01, +0x3548,0x37, +0x3549,0xC6, +0x354A,0x51, +0x354B,0xBD, +0x354C,0xD3, +0x354D,0xDF, +0x354E,0x31, +0x354F,0x38, +0x3550,0x39, +0x3551,0xC6, +0x3552,0x01, +0x3553,0xF7, +0x3554,0x02, +0x3555,0x01, +0x3556,0xC1, +0x3557,0x01, +0x3558,0x26, +0x3559,0x3B, +0x355A,0xF6, +0x355B,0x10, +0x355C,0xC2, +0x355D,0xC5, +0x355E,0x01, +0x355F,0x27, +0x3560,0x0D, +0x3561,0xBD, +0x3562,0x97, +0x3563,0xC4, +0x3564,0x7C, +0x3565,0x00, +0x3566,0x54, +0x3567,0xC6, +0x3568,0x03, +0x3569,0xF7, +0x356A,0x02, +0x356B,0x01, +0x356C,0x38, +0x356D,0x39, +0x356E,0xF6, +0x356F,0x12, +0x3570,0x22, +0x3571,0xCA, +0x3572,0x04, +0x3573,0xF7, +0x3574,0x12, +0x3575,0x22, +0x3576,0xF6, +0x3577,0x12, +0x3578,0x22, +0x3579,0xC4, +0x357A,0xFB, +0x357B,0xF7, +0x357C,0x12, +0x357D,0x22, +0x357E,0xF6, +0x357F,0x12, +0x3580,0x41, +0x3581,0xCA, +0x3582,0x01, +0x3583,0xF7, +0x3584,0x12, +0x3585,0x41, +0x3586,0xF6, +0x3587,0x12, +0x3588,0x41, +0x3589,0xC4, +0x358A,0xFE, +0x358B,0xF7, +0x358C,0x12, +0x358D,0x41, +0x358E,0xC6, +0x358F,0x02, +0x3590,0xF7, +0x3591,0x02, +0x3592,0x01, +0x3593,0x38, +0x3594,0x39, +0x3595,0xC1, +0x3596,0x02, +0x3597,0x26, +0x3598,0x1D, +0x3599,0xF6, +0x359A,0x12, +0x359B,0x20, +0x359C,0xC4, +0x359D,0x3F, +0x359E,0xC1, +0x359F,0x3A, +0x35A0,0x26, +0x35A1,0x0D, +0x35A2,0xBD, +0x35A3,0x97, +0x35A4,0xC4, +0x35A5,0x7C, +0x35A6,0x00, +0x35A7,0x54, +0x35A8,0xC6, +0x35A9,0x03, +0x35AA,0xF7, +0x35AB,0x02, +0x35AC,0x01, +0x35AD,0x20, +0x35AE,0x07, +0x35AF,0xC6, +0x35B0,0x03, +0x35B1,0xF7, +0x35B2,0x01, +0x35B3,0xC0, +0x35B4,0x38, +0x35B5,0x39, +0x35B6,0xC1, +0x35B7,0x03, +0x35B8,0x26, +0x35B9,0x60, +0x35BA,0xF6, +0x35BB,0x01, +0x35BC,0xF3, +0x35BD,0x4F, +0x35BE,0xC4, +0x35BF,0x02, +0x35C0,0x4D, +0x35C1,0xC5, +0x35C2,0x02, +0x35C3,0x27, +0x35C4,0x0F, +0x35C5,0xF6, +0x35C6,0x01, +0x35C7,0xF3, +0x35C8,0xC4, +0x35C9,0x7D, +0x35CA,0xF7, +0x35CB,0x01, +0x35CC,0xF3, +0x35CD,0xC6, +0x35CE,0x03, +0x35CF,0xF7, +0x35D0,0x01, +0x35D1,0xC0, +0x35D2,0x38, +0x35D3,0x39, +0x35D4,0x13, +0x35D5,0x24, +0x35D6,0x08, +0x35D7,0x02, +0x35D8,0x38, +0x35D9,0x39, +0x35DA,0xF6, +0x35DB,0x10, +0x35DC,0xC2, +0x35DD,0xC5, +0x35DE,0x01, +0x35DF,0x27, +0x35E0,0x02, +0x35E1,0x38, +0x35E2,0x39, +0x35E3,0xF6, +0x35E4,0x1C, +0x35E5,0x82, +0x35E6,0xF1, +0x35E7,0x00, +0x35E8,0xEC, +0x35E9,0x22, +0x35EA,0x10, +0x35EB,0xFE, +0x35EC,0x01, +0x35ED,0x44, +0x35EE,0xAD, +0x35EF,0x00, +0x35F0,0xF6, +0x35F1,0x12, +0x35F2,0x20, +0x35F3,0xC4, +0x35F4,0x3F, +0x35F5,0xC1, +0x35F6,0x3A, +0x35F7,0x26, +0x35F8,0x03, +0x35F9,0x38, +0x35FA,0x39, +0x35FB,0x01, +0x35FC,0xF6, +0x35FD,0x31, +0x35FE,0x45, +0x35FF,0x5A, +0x3600,0x26, +0x3601,0x0E, +0x3602,0xF6, +0x3603,0x30, +0x3604,0x61, +0x3605,0x37, +0x3606,0xC6, +0x3607,0x52, +0x3608,0xBD, +0x3609,0xD3, +0x360A,0xDF, +0x360B,0x31, +0x360C,0xC6, +0x360D,0x10, +0x360E,0x20, +0x360F,0x05, +0x3610,0xBD, +0x3611,0x97, +0x3612,0xD3, +0x3613,0xC6, +0x3614,0x03, +0x3615,0xF7, +0x3616,0x01, +0x3617,0xC0, +0x3618,0x38, +0x3619,0x39, +0x361A,0x38, +0x361B,0x39, +0x361C,0x3C, +0x361D,0xFE, +0x361E,0x01, +0x361F,0x42, +0x3620,0xAD, +0x3621,0x00, +0x3622,0xC6, +0x3623,0x01, +0x3624,0xF7, +0x3625,0x10, +0x3626,0xF5, +0x3627,0xF7, +0x3628,0x12, +0x3629,0xF5, +0x362A,0xFE, +0x362B,0x30, +0x362C,0x30, +0x362D,0xAD, +0x362E,0x00, +0x362F,0xBD, +0x3630,0xBB, +0x3631,0x52, +0x3632,0xC6, +0x3633,0x90, +0x3634,0xF7, +0x3635,0x1C, +0x3636,0xC0, +0x3637,0xBD, +0x3638,0x9A, +0x3639,0xD9, +0x363A,0xC6, +0x363B,0x01, +0x363C,0x37, +0x363D,0xC6, +0x363E,0x51, +0x363F,0xBD, +0x3640,0xD3, +0x3641,0xDF, +0x3642,0x31, +0x3643,0xC6, +0x3644,0x0E, +0x3645,0xF7, +0x3646,0x01, +0x3647,0xC0, +0x3648,0x38, +0x3649,0x39, +0x364A,0x3C, +0x364B,0xC6, +0x364C,0x52, +0x364D,0xBD, +0x364E,0xD4, +0x364F,0x7F, +0x3650,0x5D, +0x3651,0x27, +0x3652,0x03, +0x3653,0xBD, +0x3654,0xBB, +0x3655,0x52, +0x3656,0xF6, +0x3657,0x00, +0x3658,0x46, +0x3659,0xC5, +0x365A,0x0C, +0x365B,0x26, +0x365C,0x07, +0x365D,0xC6, +0x365E,0x11, +0x365F,0xF7, +0x3660,0x01, +0x3661,0xC0, +0x3662,0x38, +0x3663,0x39, +0x3664,0xC6, +0x3665,0x51, +0x3666,0xBD, +0x3667,0xD4, +0x3668,0x7F, +0x3669,0x5D, +0x366A,0x26, +0x366B,0x02, +0x366C,0x38, +0x366D,0x39, +0x366E,0xFE, +0x366F,0x01, +0x3670,0xD6, +0x3671,0xAD, +0x3672,0x00, +0x3673,0x5D, +0x3674,0x27, +0x3675,0x02, +0x3676,0x38, +0x3677,0x39, +0x3678,0xFC, +0x3679,0x30, +0x367A,0x0E, +0x367B,0xBD, +0x367C,0x8F, +0x367D,0xEE, +0x367E,0xBD, +0x367F,0x9A, +0x3680,0xD9, +0x3681,0xC6, +0x3682,0x02, +0x3683,0x37, +0x3684,0xC6, +0x3685,0x51, +0x3686,0xBD, +0x3687,0xD3, +0x3688,0xDF, +0x3689,0x31, +0x368A,0xC6, +0x368B,0x08, +0x368C,0xF7, +0x368D,0x01, +0x368E,0xC0, +0x368F,0x38, +0x3690,0x39, +0x3691,0x3C, +0x3692,0x34, +0x3693,0x30, +0x3694,0xF6, +0x3695,0x01, +0x3696,0xC0, +0x3697,0xC1, +0x3698,0x13, +0x3699,0x25, +0x369A,0x03, +0x369B,0x7E, +0x369C,0x37, +0x369D,0x93, +0x369E,0xBD, +0x369F,0xEE, +0x36A0,0x8F, +0x36A1,0x36, +0x36A2,0xCA, +0x36A3,0x36, +0x36A4,0xCD, +0x36A5,0x37, +0x36A6,0x08, +0x36A7,0x37, +0x36A8,0x0E, +0x36A9,0x37, +0x36AA,0x14, +0x36AB,0x37, +0x36AC,0x20, +0x36AD,0x37, +0x36AE,0x25, +0x36AF,0x37, +0x36B0,0x33, +0x36B1,0x37, +0x36B2,0x38, +0x36B3,0x37, +0x36B4,0x3D, +0x36B5,0x37, +0x36B6,0x42, +0x36B7,0x37, +0x36B8,0x45, +0x36B9,0x37, +0x36BA,0x4A, +0x36BB,0x37, +0x36BC,0x4F, +0x36BD,0x37, +0x36BE,0x64, +0x36BF,0x37, +0x36C0,0x6C, +0x36C1,0x37, +0x36C2,0x71, +0x36C3,0x37, +0x36C4,0x76, +0x36C5,0x37, +0x36C6,0x79, +0x36C7,0x7E, +0x36C8,0x37, +0x36C9,0x93, +0x36CA,0xBD, +0x36CB,0xBC, +0x36CC,0x25, +0x36CD,0xF6, +0x36CE,0x00, +0x36CF,0x46, +0x36D0,0x4F, +0x36D1,0xC4, +0x36D2,0x0C, +0x36D3,0x83, +0x36D4,0x00, +0x36D5,0x08, +0x36D6,0x26, +0x36D7,0xEF, +0x36D8,0xBD, +0x36D9,0xBC, +0x36DA,0x33, +0x36DB,0xF6, +0x36DC,0x01, +0x36DD,0xFF, +0x36DE,0xF7, +0x36DF,0x20, +0x36E0,0xA5, +0x36E1,0xC6, +0x36E2,0x08, +0x36E3,0xF7, +0x36E4,0x20, +0x36E5,0xA8, +0x36E6,0xF6, +0x36E7,0x30, +0x36E8,0x54, +0x36E9,0xFB, +0x36EA,0x31, +0x36EB,0x4A, +0x36EC,0xE7, +0x36ED,0x00, +0x36EE,0xC1, +0x36EF,0x3F, +0x36F0,0x23, +0x36F1,0x02, +0x36F2,0xC6, +0x36F3,0x3F, +0x36F4,0x18, +0x36F5,0xFE, +0x36F6,0x30, +0x36F7,0x4A, +0x36F8,0x18, +0x36F9,0x3A, +0x36FA,0xF6, +0x36FB,0x20, +0x36FC,0xAA, +0x36FD,0xC4, +0x36FE,0xE0, +0x36FF,0x18, +0x3700,0xEA, +0x3701,0x00, +0x3702,0xF7, +0x3703,0x20, +0x3704,0xAA, +0x3705,0x7E, +0x3706,0x37, +0x3707,0x93, +0x3708,0xBD, +0x3709,0xBC, +0x370A,0x71, +0x370B,0x7E, +0x370C,0x37, +0x370D,0x93, +0x370E,0xBD, +0x370F,0xBC, +0x3710,0x94, +0x3711,0x7E, +0x3712,0x37, +0x3713,0x93, +0x3714,0xBD, +0x3715,0xBD, +0x3716,0x07, +0x3717,0xC6, +0x3718,0x02, +0x3719,0x37, +0x371A,0xC6, +0x371B,0x51, +0x371C,0xBD, +0x371D,0xD3, +0x371E,0xDF, +0x371F,0x31, +0x3720,0xBD, +0x3721,0xBD, +0x3722,0x38, +0x3723,0x20, +0x3724,0x6E, +0x3725,0xBD, +0x3726,0xBD, +0x3727,0x90, +0x3728,0xC6, +0x3729,0x02, +0x372A,0x37, +0x372B,0xC6, +0x372C,0x51, +0x372D,0xBD, +0x372E,0xD3, +0x372F,0xDF, +0x3730,0x31, +0x3731,0x20, +0x3732,0x60, +0x3733,0xBD, +0x3734,0x36, +0x3735,0x4A, +0x3736,0x20, +0x3737,0x5B, +0x3738,0xBD, +0x3739,0xBE, +0x373A,0x07, +0x373B,0x20, +0x373C,0x56, +0x373D,0xBD, +0x373E,0xBE, +0x373F,0x6A, +0x3740,0x20, +0x3741,0x51, +0x3742,0xBD, +0x3743,0xBE, +0x3744,0xB0, +0x3745,0xBD, +0x3746,0xBF, +0x3747,0x05, +0x3748,0x20, +0x3749,0x49, +0x374A,0xBD, +0x374B,0xC0, +0x374C,0x60, +0x374D,0x20, +0x374E,0x44, +0x374F,0xBD, +0x3750,0x36, +0x3751,0x1C, +0x3752,0xF6, +0x3753,0x01, +0x3754,0xFE, +0x3755,0xF7, +0x3756,0x1C, +0x3757,0xC0, +0x3758,0xBD, +0x3759,0x9A, +0x375A,0xD9, +0x375B,0xC6, +0x375C,0x02, +0x375D,0x37, +0x375E,0xC6, +0x375F,0x51, +0x3760,0xBD, +0x3761,0xD3, +0x3762,0xDF, +0x3763,0x31, +0x3764,0xBD, +0x3765,0xC0, +0x3766,0xB2, +0x3767,0x7F, +0x3768,0x02, +0x3769,0x01, +0x376A,0x20, +0x376B,0x27, +0x376C,0xBD, +0x376D,0x35, +0x376E,0x0B, +0x376F,0x20, +0x3770,0x22, +0x3771,0xBD, +0x3772,0xC1, +0x3773,0x7E, +0x3774,0x20, +0x3775,0x1D, +0x3776,0xBD, +0x3777,0xC1, +0x3778,0x9F, +0x3779,0x7F, +0x377A,0x20, +0x377B,0xA8, +0x377C,0x18, +0x377D,0xFE, +0x377E,0x30, +0x377F,0x4A, +0x3780,0xF6, +0x3781,0x30, +0x3782,0x54, +0x3783,0x18, +0x3784,0x3A, +0x3785,0xF6, +0x3786,0x20, +0x3787,0xAA, +0x3788,0xC4, +0x3789,0xE0, +0x378A,0x18, +0x378B,0xEA, +0x378C,0x00, +0x378D,0xF7, +0x378E,0x20, +0x378F,0xAA, +0x3790,0xBD, +0x3791,0xC1, +0x3792,0xBF, +0x3793,0x31, +0x3794,0x38, +0x3795,0x39, +0x3796,0x3C, +0x3797,0xF6, +0x3798,0x00, +0x3799,0x46, +0x379A,0x4F, +0x379B,0xC4, +0x379C,0x03, +0x379D,0x83, +0x379E,0x00, +0x379F,0x02, +0x37A0,0x27, +0x37A1,0x02, +0x37A2,0x38, +0x37A3,0x39, +0x37A4,0xF6, +0x37A5,0x00, +0x37A6,0x47, +0x37A7,0xC4, +0x37A8,0xFC, +0x37A9,0xCA, +0x37AA,0x02, +0x37AB,0xF7, +0x37AC,0x00, +0x37AD,0x47, +0x37AE,0xFE, +0x37AF,0x00, +0x37B0,0xB5, +0x37B1,0xAD, +0x37B2,0x00, +0x37B3,0xF6, +0x37B4,0x02, +0x37B5,0x00, +0x37B6,0xF7, +0x37B7,0x20, +0x37B8,0xA5, +0x37B9,0x13, +0x37BA,0x00, +0x37BB,0x10, +0x37BC,0x03, +0x37BD,0x7F, +0x37BE,0x12, +0x37BF,0x37, +0x37C0,0xF6, +0x37C1,0x01, +0x37C2,0xEE, +0x37C3,0xF7, +0x37C4,0x12, +0x37C5,0x36, +0x37C6,0xC6, +0x37C7,0x01, +0x37C8,0xF7, +0x37C9,0x12, +0x37CA,0x51, +0x37CB,0x5C, +0x37CC,0xF7, +0x37CD,0x01, +0x37CE,0xBF, +0x37CF,0x38, +0x37D0,0x39, +0x37D1,0xF6, +0x37D2,0x01, +0x37D3,0xBF, +0x37D4,0xC1, +0x37D5,0x0B, +0x37D6,0x24, +0x37D7,0x41, +0x37D8,0xBD, +0x37D9,0xEE, +0x37DA,0x8F, +0x37DB,0x37, +0x37DC,0xF2, +0x37DD,0x37, +0x37DE,0xF5, +0x37DF,0x37, +0x37E0,0xF8, +0x37E1,0x37, +0x37E2,0xFB, +0x37E3,0x38, +0x37E4,0x03, +0x37E5,0x38, +0x37E6,0x07, +0x37E7,0x38, +0x37E8,0x0B, +0x37E9,0x38, +0x37EA,0x16, +0x37EB,0x37, +0x37EC,0xFF, +0x37ED,0x38, +0x37EE,0x0F, +0x37EF,0x38, +0x37F0,0x13, +0x37F1,0x39, +0x37F2,0xBD, +0x37F3,0xC2, +0x37F4,0x47, +0x37F5,0x8D, +0x37F6,0x9F, +0x37F7,0x39, +0x37F8,0xBD, +0x37F9,0xC2, +0x37FA,0x86, +0x37FB,0xBD, +0x37FC,0xC2, +0x37FD,0xC0, +0x37FE,0x39, +0x37FF,0xBD, +0x3800,0xC3, +0x3801,0x40, +0x3802,0x39, +0x3803,0xBD, +0x3804,0xC4, +0x3805,0x07, +0x3806,0x39, +0x3807,0xBD, +0x3808,0xC4, +0x3809,0x45, +0x380A,0x39, +0x380B,0xBD, +0x380C,0xC4, +0x380D,0x98, +0x380E,0x39, +0x380F,0xBD, +0x3810,0xC4, +0x3811,0xF3, +0x3812,0x39, +0x3813,0xBD, +0x3814,0xC5, +0x3815,0x14, +0x3816,0xBD, +0x3817,0xC5, +0x3818,0x2E, +0x3819,0x39, +0x381A,0x00, +0x381B,0x04, +0x381C,0x08, +0x381D,0x09, +0x381E,0x0D, +0x381F,0x0E, +0x3820,0x0F, +0x3821,0x00, +0x3400,0x01, +0x33f8,0x01 diff --git a/drivers/net/ethernet/hisilicon/higmac/festa_v300_2204.h b/drivers/net/ethernet/hisilicon/higmac/festa_v300_2204.h new file mode 100644 index 000000000..24ddf0eab --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/festa_v300_2204.h @@ -0,0 +1,2713 @@ +0x33f9,0xbd, +0x33fa,0x34, +0x33fb,0x00, +0x33fc,0x39, +0x3400,0x39, +0x3401,0xCC, +0x3402,0x22, +0x3403,0x04, +0x3404,0xFD, +0x3405,0xFF, +0x3406,0xF0, +0x3407,0xF6, +0x3408,0x3E, +0x3409,0x92, +0x340A,0x26, +0x340B,0x6F, +0x340C,0xC6, +0x340D,0x01, +0x340E,0xF7, +0x340F,0x3E, +0x3410,0x92, +0x3411,0xF7, +0x3412,0x31, +0x3413,0x51, +0x3414,0xC6, +0x3415,0x03, +0x3416,0xF7, +0x3417,0x31, +0x3418,0x52, +0x3419,0xC6, +0x341A,0x3C, +0x341B,0xF7, +0x341C,0x31, +0x341D,0x53, +0x341E,0xC6, +0x341F,0x70, +0x3420,0xF7, +0x3421,0x31, +0x3422,0x54, +0x3423,0xCC, +0x3424,0x37, +0x3425,0x19, +0x3426,0xFD, +0x3427,0x00, +0x3428,0xD2, +0x3429,0x7F, +0x342A,0x01, +0x342B,0xBF, +0x342C,0xCC, +0x342D,0x37, +0x342E,0x7B, +0x342F,0xFD, +0x3430,0x01, +0x3431,0xD2, +0x3432,0x7F, +0x3433,0x01, +0x3434,0xD1, +0x3435,0xCC, +0x3436,0x38, +0x3437,0xB5, +0x3438,0xFD, +0x3439,0x00, +0x343A,0xBE, +0x343B,0x7F, +0x343C,0x01, +0x343D,0xB7, +0x343E,0xCC, +0x343F,0x37, +0x3440,0xF4, +0x3441,0xFD, +0x3442,0x00, +0x3443,0xB8, +0x3444,0x7F, +0x3445,0x01, +0x3446,0xB3, +0x3447,0xCC, +0x3448,0x39, +0x3449,0xDC, +0x344A,0xFD, +0x344B,0x00, +0x344C,0xB6, +0x344D,0xCC, +0x344E,0x3D, +0x344F,0x3D, +0x3450,0xFD, +0x3451,0x00, +0x3452,0xB4, +0x3453,0xCC, +0x3454,0x34, +0x3455,0x7C, +0x3456,0xFD, +0x3457,0x30, +0x3458,0x30, +0x3459,0xC6, +0x345A,0xF0, +0x345B,0xF7, +0x345C,0x00, +0x345D,0x79, +0x345E,0xCC, +0x345F,0x3D, +0x3460,0xBD, +0x3461,0xFD, +0x3462,0x30, +0x3463,0x12, +0x3464,0xCC, +0x3465,0x3D, +0x3466,0xC9, +0x3467,0xFD, +0x3468,0x30, +0x3469,0x0A, +0x346A,0xCC, +0x346B,0x3D, +0x346C,0xD5, +0x346D,0xFD, +0x346E,0x30, +0x346F,0x0C, +0x3470,0xCC, +0x3471,0x3D, +0x3472,0xE1, +0x3473,0xFD, +0x3474,0x01, +0x3475,0x5D, +0x3476,0xC6, +0x3477,0x3A, +0x3478,0xF7, +0x3479,0x1E, +0x347A,0x57, +0x347B,0x39, +0x347C,0xC6, +0x347D,0xFF, +0x347E,0xF7, +0x347F,0x12, +0x3480,0x92, +0x3481,0xF7, +0x3482,0x12, +0x3483,0x93, +0x3484,0xF7, +0x3485,0x12, +0x3486,0x94, +0x3487,0xF7, +0x3488,0x12, +0x3489,0x96, +0x348A,0x7F, +0x348B,0x12, +0x348C,0x9E, +0x348D,0xC6, +0x348E,0x08, +0x348F,0xF7, +0x3490,0x1C, +0x3491,0xAA, +0x3492,0xC6, +0x3493,0x20, +0x3494,0xF7, +0x3495,0x1E, +0x3496,0x0D, +0x3497,0xC6, +0x3498,0x70, +0x3499,0xF7, +0x349A,0x12, +0x349B,0xED, +0x349C,0xC6, +0x349D,0xFF, +0x349E,0xF7, +0x349F,0x1C, +0x34A0,0xA5, +0x34A1,0xC6, +0x34A2,0x60, +0x34A3,0xF7, +0x34A4,0x1C, +0x34A5,0xA8, +0x34A6,0xC6, +0x34A7,0x22, +0x34A8,0xF7, +0x34A9,0x1C, +0x34AA,0xAE, +0x34AB,0xF6, +0x34AC,0x31, +0x34AD,0x51, +0x34AE,0xF7, +0x34AF,0x10, +0x34B0,0x95, +0x34B1,0xC6, +0x34B2,0xA2, +0x34B3,0xF7, +0x34B4,0x1C, +0x34B5,0xA9, +0x34B6,0x39, +0x34B7,0x3C, +0x34B8,0xBD, +0x34B9,0xE0, +0x34BA,0xBC, +0x34BB,0x8D, +0x34BC,0x48, +0x34BD,0xBD, +0x34BE,0xE0, +0x34BF,0xF2, +0x34C0,0xF6, +0x34C1,0x20, +0x34C2,0x04, +0x34C3,0xCA, +0x34C4,0x20, +0x34C5,0xF7, +0x34C6,0x20, +0x34C7,0x04, +0x34C8,0xF6, +0x34C9,0x1E, +0x34CA,0x0F, +0x34CB,0xC4, +0x34CC,0xFD, +0x34CD,0xF7, +0x34CE,0x1E, +0x34CF,0x0F, +0x34D0,0xF6, +0x34D1,0x1E, +0x34D2,0x0F, +0x34D3,0xCA, +0x34D4,0x01, +0x34D5,0xF7, +0x34D6,0x1E, +0x34D7,0x0F, +0x34D8,0x5F, +0x34D9,0xBD, +0x34DA,0xE2, +0x34DB,0x13, +0x34DC,0xF6, +0x34DD,0x20, +0x34DE,0x04, +0x34DF,0xC4, +0x34E0,0xDF, +0x34E1,0xF7, +0x34E2,0x20, +0x34E3,0x04, +0x34E4,0xF6, +0x34E5,0x1E, +0x34E6,0x0F, +0x34E7,0xCA, +0x34E8,0x02, +0x34E9,0xF7, +0x34EA,0x1E, +0x34EB,0x0F, +0x34EC,0xF6, +0x34ED,0x1E, +0x34EE,0x0F, +0x34EF,0xC4, +0x34F0,0xFE, +0x34F1,0xF7, +0x34F2,0x1E, +0x34F3,0x0F, +0x34F4,0xC6, +0x34F5,0x01, +0x34F6,0xBD, +0x34F7,0xE2, +0x34F8,0x13, +0x34F9,0xFE, +0x34FA,0x01, +0x34FB,0x00, +0x34FC,0xAD, +0x34FD,0x00, +0x34FE,0xC6, +0x34FF,0x02, +0x3500,0xF7, +0x3501,0x01, +0x3502,0x80, +0x3503,0x38, +0x3504,0x39, +0x3505,0xBD, +0x3506,0x94, +0x3507,0x48, +0x3508,0x8D, +0x3509,0x17, +0x350A,0xBD, +0x350B,0x93, +0x350C,0xB9, +0x350D,0xBD, +0x350E,0xDF, +0x350F,0xB3, +0x3510,0xF6, +0x3511,0x1C, +0x3512,0xC0, +0x3513,0xCA, +0x3514,0x01, +0x3515,0xF7, +0x3516,0x1C, +0x3517,0xC0, +0x3518,0xBD, +0x3519,0x9E, +0x351A,0x3C, +0x351B,0xC6, +0x351C,0xF0, +0x351D,0xF7, +0x351E,0x1C, +0x351F,0xC2, +0x3520,0x39, +0x3521,0x3C, +0x3522,0x3C, +0x3523,0x30, +0x3524,0xF6, +0x3525,0x30, +0x3526,0x55, +0x3527,0xC0, +0x3528,0x07, +0x3529,0xE7, +0x352A,0x01, +0x352B,0xC6, +0x352C,0x7C, +0x352D,0xF7, +0x352E,0x20, +0x352F,0xA1, +0x3530,0xC6, +0x3531,0x07, +0x3532,0xF7, +0x3533,0x20, +0x3534,0xA2, +0x3535,0x7F, +0x3536,0x20, +0x3537,0xA3, +0x3538,0xC6, +0x3539,0x01, +0x353A,0xF7, +0x353B,0x20, +0x353C,0xA4, +0x353D,0x7F, +0x353E,0x20, +0x353F,0xA5, +0x3540,0x7F, +0x3541,0x20, +0x3542,0xA6, +0x3543,0x7F, +0x3544,0x20, +0x3545,0xA7, +0x3546,0xC6, +0x3547,0xD0, +0x3548,0xF7, +0x3549,0x20, +0x354A,0xA8, +0x354B,0xC6, +0x354C,0x49, +0x354D,0xF7, +0x354E,0x20, +0x354F,0xA9, +0x3550,0x7F, +0x3551,0x20, +0x3552,0xAA, +0x3553,0xC6, +0x3554,0x18, +0x3555,0xF7, +0x3556,0x20, +0x3557,0x01, +0x3558,0x7F, +0x3559,0x20, +0x355A,0x02, +0x355B,0x7F, +0x355C,0x20, +0x355D,0x03, +0x355E,0xC6, +0x355F,0xA0, +0x3560,0xF7, +0x3561,0x20, +0x3562,0x04, +0x3563,0xC6, +0x3564,0x98, +0x3565,0xF7, +0x3566,0x20, +0x3567,0x05, +0x3568,0xC6, +0x3569,0xC0, +0x356A,0xF7, +0x356B,0x20, +0x356C,0x06, +0x356D,0xC6, +0x356E,0x85, +0x356F,0xF7, +0x3570,0x20, +0x3571,0x07, +0x3572,0xC6, +0x3573,0x40, +0x3574,0xF7, +0x3575,0x20, +0x3576,0x08, +0x3577,0x7F, +0x3578,0x20, +0x3579,0x09, +0x357A,0x7F, +0x357B,0x20, +0x357C,0x0A, +0x357D,0xC6, +0x357E,0xD4, +0x357F,0xF7, +0x3580,0x20, +0x3581,0x0B, +0x3582,0xC6, +0x3583,0x80, +0x3584,0xF7, +0x3585,0x20, +0x3586,0x0C, +0x3587,0x18, +0x3588,0xFE, +0x3589,0x30, +0x358A,0x4A, +0x358B,0xF6, +0x358C,0x30, +0x358D,0x54, +0x358E,0x18, +0x358F,0x3A, +0x3590,0xF6, +0x3591,0x20, +0x3592,0xA3, +0x3593,0xC4, +0x3594,0xE0, +0x3595,0x18, +0x3596,0xEA, +0x3597,0x00, +0x3598,0xF7, +0x3599,0x20, +0x359A,0xA3, +0x359B,0x18, +0x359C,0xFE, +0x359D,0x30, +0x359E,0x4C, +0x359F,0xF6, +0x35A0,0x30, +0x35A1,0x54, +0x35A2,0x18, +0x35A3,0x3A, +0x35A4,0xF6, +0x35A5,0x20, +0x35A6,0x01, +0x35A7,0xC4, +0x35A8,0xF8, +0x35A9,0x18, +0x35AA,0xEA, +0x35AB,0x00, +0x35AC,0xF7, +0x35AD,0x20, +0x35AE,0x01, +0x35AF,0x18, +0x35B0,0xFE, +0x35B1,0x30, +0x35B2,0x50, +0x35B3,0xE6, +0x35B4,0x01, +0x35B5,0x18, +0x35B6,0x3A, +0x35B7,0x18, +0x35B8,0xE6, +0x35B9,0x00, +0x35BA,0x56, +0x35BB,0x56, +0x35BC,0x56, +0x35BD,0xC4, +0x35BE,0xC0, +0x35BF,0xE7, +0x35C0,0x00, +0x35C1,0xF6, +0x35C2,0x20, +0x35C3,0x04, +0x35C4,0xC4, +0x35C5,0x3F, +0x35C6,0xEA, +0x35C7,0x00, +0x35C8,0xF7, +0x35C9,0x20, +0x35CA,0x04, +0x35CB,0x18, +0x35CC,0xFE, +0x35CD,0x30, +0x35CE,0x48, +0x35CF,0xF6, +0x35D0,0x30, +0x35D1,0x54, +0x35D2,0x18, +0x35D3,0x3A, +0x35D4,0xF6, +0x35D5,0x20, +0x35D6,0x05, +0x35D7,0xC4, +0x35D8,0xF0, +0x35D9,0x18, +0x35DA,0xEA, +0x35DB,0x00, +0x35DC,0xF7, +0x35DD,0x20, +0x35DE,0x05, +0x35DF,0x18, +0x35E0,0xFE, +0x35E1,0x30, +0x35E2,0x52, +0x35E3,0xE6, +0x35E4,0x01, +0x35E5,0x18, +0x35E6,0x3A, +0x35E7,0x18, +0x35E8,0xE6, +0x35E9,0x00, +0x35EA,0x56, +0x35EB,0x56, +0x35EC,0x56, +0x35ED,0xC4, +0x35EE,0xC0, +0x35EF,0xE7, +0x35F0,0x00, +0x35F1,0xF6, +0x35F2,0x20, +0x35F3,0x08, +0x35F4,0xC4, +0x35F5,0x3F, +0x35F6,0xEA, +0x35F7,0x00, +0x35F8,0xF7, +0x35F9,0x20, +0x35FA,0x08, +0x35FB,0x38, +0x35FC,0x38, +0x35FD,0x39, +0x35FE,0x3C, +0x35FF,0x37, +0x3600,0x36, +0x3601,0x30, +0x3602,0xF6, +0x3603,0x00, +0x3604,0x46, +0x3605,0xC5, +0x3606,0x0C, +0x3607,0x26, +0x3608,0x0A, +0x3609,0x1A, +0x360A,0xEE, +0x360B,0x00, +0x360C,0x18, +0x360D,0x6F, +0x360E,0x00, +0x360F,0xC6, +0x3610,0x07, +0x3611,0x20, +0x3612,0x11, +0x3613,0x1A, +0x3614,0xEE, +0x3615,0x00, +0x3616,0x18, +0x3617,0xE6, +0x3618,0x00, +0x3619,0x26, +0x361A,0x54, +0x361B,0x13, +0x361C,0x24, +0x361D,0x08, +0x361E,0x08, +0x361F,0xBD, +0x3620,0x9B, +0x3621,0x22, +0x3622,0xC6, +0x3623,0x06, +0x3624,0x38, +0x3625,0x38, +0x3626,0x39, +0x3627,0xF6, +0x3628,0x10, +0x3629,0xC2, +0x362A,0xC5, +0x362B,0x01, +0x362C,0x27, +0x362D,0x0A, +0x362E,0xBD, +0x362F,0x9B, +0x3630,0x22, +0x3631,0x7C, +0x3632,0x00, +0x3633,0x54, +0x3634,0xC6, +0x3635,0x01, +0x3636,0x20, +0x3637,0x2F, +0x3638,0xF6, +0x3639,0x12, +0x363A,0x22, +0x363B,0xCA, +0x363C,0x04, +0x363D,0xF7, +0x363E,0x12, +0x363F,0x22, +0x3640,0xF6, +0x3641,0x12, +0x3642,0x22, +0x3643,0xC4, +0x3644,0xFB, +0x3645,0xF7, +0x3646,0x12, +0x3647,0x22, +0x3648,0xF6, +0x3649,0x12, +0x364A,0x41, +0x364B,0xCA, +0x364C,0x01, +0x364D,0xF7, +0x364E,0x12, +0x364F,0x41, +0x3650,0xF6, +0x3651,0x12, +0x3652,0x41, +0x3653,0xC4, +0x3654,0xFE, +0x3655,0xF7, +0x3656,0x12, +0x3657,0x41, +0x3658,0xF6, +0x3659,0x00, +0x365A,0x5C, +0x365B,0xC5, +0x365C,0x04, +0x365D,0x27, +0x365E,0x06, +0x365F,0xCC, +0x3660,0x3E, +0x3661,0x87, +0x3662,0xBD, +0x3663,0xEB, +0x3664,0xBE, +0x3665,0xC6, +0x3666,0x03, +0x3667,0x1A, +0x3668,0xEE, +0x3669,0x00, +0x366A,0x18, +0x366B,0xE7, +0x366C,0x00, +0x366D,0x20, +0x366E,0xB3, +0x366F,0xC1, +0x3670,0x03, +0x3671,0x26, +0x3672,0x21, +0x3673,0xF6, +0x3674,0x12, +0x3675,0x20, +0x3676,0xC4, +0x3677,0x3F, +0x3678,0xC1, +0x3679,0x3A, +0x367A,0x26, +0x367B,0x10, +0x367C,0xBD, +0x367D,0x9B, +0x367E,0x22, +0x367F,0x7C, +0x3680,0x00, +0x3681,0x54, +0x3682,0xC6, +0x3683,0x01, +0x3684,0x1A, +0x3685,0xEE, +0x3686,0x00, +0x3687,0x18, +0x3688,0xE7, +0x3689,0x00, +0x368A,0x20, +0x368B,0x2D, +0x368C,0x18, +0x368D,0x6F, +0x368E,0x00, +0x368F,0xC6, +0x3690,0x01, +0x3691,0x38, +0x3692,0x38, +0x3693,0x39, +0x3694,0x5A, +0x3695,0x26, +0x3696,0x75, +0x3697,0xF6, +0x3698,0x01, +0x3699,0xED, +0x369A,0x4F, +0x369B,0xC4, +0x369C,0x02, +0x369D,0x4D, +0x369E,0xC5, +0x369F,0x02, +0x36A0,0x27, +0x36A1,0x0A, +0x36A2,0xF6, +0x36A3,0x01, +0x36A4,0xED, +0x36A5,0xC4, +0x36A6,0x7D, +0x36A7,0xF7, +0x36A8,0x01, +0x36A9,0xED, +0x36AA,0x20, +0x36AB,0xE0, +0x36AC,0x13, +0x36AD,0x24, +0x36AE,0x08, +0x36AF,0x02, +0x36B0,0x20, +0x36B1,0x07, +0x36B2,0xF6, +0x36B3,0x10, +0x36B4,0xC2, +0x36B5,0xC5, +0x36B6,0x01, +0x36B7,0x27, +0x36B8,0x04, +0x36B9,0xC6, +0x36BA,0x06, +0x36BB,0x20, +0x36BC,0xD4, +0x36BD,0xF6, +0x36BE,0x1C, +0x36BF,0x82, +0x36C0,0xF1, +0x36C1,0x00, +0x36C2,0xED, +0x36C3,0x22, +0x36C4,0x2C, +0x36C5,0x18, +0x36C6,0xFE, +0x36C7,0x01, +0x36C8,0x43, +0x36C9,0x18, +0x36CA,0xAD, +0x36CB,0x00, +0x36CC,0xF6, +0x36CD,0x12, +0x36CE,0x20, +0x36CF,0xC4, +0x36D0,0x3F, +0x36D1,0xC1, +0x36D2,0x3A, +0x36D3,0x27, +0x36D4,0xE4, +0x36D5,0xF6, +0x36D6,0x00, +0x36D7,0x5C, +0x36D8,0xC5, +0x36D9,0x04, +0x36DA,0x27, +0x36DB,0x0E, +0x36DC,0xF6, +0x36DD,0x12, +0x36DE,0x20, +0x36DF,0x4F, +0x36E0,0x37, +0x36E1,0x36, +0x36E2,0xCC, +0x36E3,0x3E, +0x36E4,0x72, +0x36E5,0xBD, +0x36E6,0xEB, +0x36E7,0xBE, +0x36E8,0x31, +0x36E9,0x31, +0x36EA,0xC6, +0x36EB,0x02, +0x36EC,0x1A, +0x36ED,0xEE, +0x36EE,0x00, +0x36EF,0x20, +0x36F0,0x13, +0x36F1,0x01, +0x36F2,0xF6, +0x36F3,0x00, +0x36F4,0x5C, +0x36F5,0xC5, +0x36F6,0x04, +0x36F7,0x27, +0x36F8,0x09, +0x36F9,0xCC, +0x36FA,0x3E, +0x36FB,0x61, +0x36FC,0xBD, +0x36FD,0xEB, +0x36FE,0xBE, +0x36FF,0x1A, +0x3700,0xEE, +0x3701,0x00, +0x3702,0xC6, +0x3703,0x02, +0x3704,0x18, +0x3705,0xE7, +0x3706,0x00, +0x3707,0xC6, +0x3708,0x06, +0x3709,0x38, +0x370A,0x38, +0x370B,0x39, +0x370C,0xBD, +0x370D,0x9B, +0x370E,0x31, +0x370F,0x1A, +0x3710,0xEE, +0x3711,0x00, +0x3712,0x18, +0x3713,0x6F, +0x3714,0x00, +0x3715,0xC6, +0x3716,0x01, +0x3717,0x20, +0x3718,0xF0, +0x3719,0xF6, +0x371A,0x01, +0x371B,0xBF, +0x371C,0xC1, +0x371D,0x08, +0x371E,0x24, +0x371F,0x5A, +0x3720,0xBD, +0x3721,0xF1, +0x3722,0xE3, +0x3723,0x37, +0x3724,0x34, +0x3725,0x37, +0x3726,0x3C, +0x3727,0x37, +0x3728,0x49, +0x3729,0x37, +0x372A,0x51, +0x372B,0x37, +0x372C,0x59, +0x372D,0x37, +0x372E,0x61, +0x372F,0x37, +0x3730,0x69, +0x3731,0x37, +0x3732,0x71, +0x3733,0x39, +0x3734,0xCC, +0x3735,0x01, +0x3736,0xB1, +0x3737,0xBD, +0x3738,0xBD, +0x3739,0x57, +0x373A,0x20, +0x373B,0x3B, +0x373C,0xCC, +0x373D,0x01, +0x373E,0xB1, +0x373F,0xBD, +0x3740,0xBD, +0x3741,0xF0, +0x3742,0xF7, +0x3743,0x01, +0x3744,0xBF, +0x3745,0x7F, +0x3746,0x1C, +0x3747,0x77, +0x3748,0x39, +0x3749,0xCC, +0x374A,0x01, +0x374B,0xB1, +0x374C,0xBD, +0x374D,0xBF, +0x374E,0x78, +0x374F,0x20, +0x3750,0x26, +0x3751,0xCC, +0x3752,0x01, +0x3753,0xB1, +0x3754,0xBD, +0x3755,0xC0, +0x3756,0x4E, +0x3757,0x20, +0x3758,0x1E, +0x3759,0xCC, +0x375A,0x01, +0x375B,0xB1, +0x375C,0xBD, +0x375D,0xC0, +0x375E,0xED, +0x375F,0x20, +0x3760,0x16, +0x3761,0xCC, +0x3762,0x01, +0x3763,0xB1, +0x3764,0xBD, +0x3765,0xC1, +0x3766,0xBF, +0x3767,0x20, +0x3768,0x0E, +0x3769,0xCC, +0x376A,0x01, +0x376B,0xB1, +0x376C,0xBD, +0x376D,0x35, +0x376E,0xFE, +0x376F,0x20, +0x3770,0x06, +0x3771,0xCC, +0x3772,0x01, +0x3773,0xB1, +0x3774,0xBD, +0x3775,0xC3, +0x3776,0xE6, +0x3777,0xF7, +0x3778,0x01, +0x3779,0xBF, +0x377A,0x39, +0x377B,0xF6, +0x377C,0x01, +0x377D,0xD1, +0x377E,0x5D, +0x377F,0x27, +0x3780,0x07, +0x3781,0x5A, +0x3782,0x27, +0x3783,0x09, +0x3784,0x5A, +0x3785,0x27, +0x3786,0x0B, +0x3787,0x39, +0x3788,0xBD, +0x3789,0xEF, +0x378A,0xD6, +0x378B,0x20, +0x378C,0x07, +0x378D,0xBD, +0x378E,0xEF, +0x378F,0xF0, +0x3790,0x20, +0x3791,0x02, +0x3792,0x8D, +0x3793,0x04, +0x3794,0xF7, +0x3795,0x01, +0x3796,0xD1, +0x3797,0x39, +0x3798,0x3C, +0x3799,0x34, +0x379A,0x30, +0x379B,0xF6, +0x379C,0x00, +0x379D,0x44, +0x379E,0xC5, +0x379F,0x80, +0x37A0,0x27, +0x37A1,0x2B, +0x37A2,0x13, +0x37A3,0x00, +0x37A4,0x02, +0x37A5,0x03, +0x37A6,0x15, +0x37A7,0x00, +0x37A8,0x02, +0x37A9,0x01, +0x37AA,0xF6, +0x37AB,0x1E, +0x37AC,0x0E, +0x37AD,0xC5, +0x37AE,0x80, +0x37AF,0x27, +0x37B0,0x20, +0x37B1,0x18, +0x37B2,0xFE, +0x37B3,0x30, +0x37B4,0x4C, +0x37B5,0xF6, +0x37B6,0x30, +0x37B7,0x54, +0x37B8,0x18, +0x37B9,0x3A, +0x37BA,0xF6, +0x37BB,0x20, +0x37BC,0x01, +0x37BD,0xC4, +0x37BE,0xF8, +0x37BF,0x18, +0x37C0,0xEA, +0x37C1,0x00, +0x37C2,0xF7, +0x37C3,0x20, +0x37C4,0x01, +0x37C5,0xF6, +0x37C6,0x1E, +0x37C7,0x0D, +0x37C8,0xC4, +0x37C9,0xBF, +0x37CA,0xF7, +0x37CB,0x1E, +0x37CC,0x0D, +0x37CD,0x5F, +0x37CE,0x31, +0x37CF,0x38, +0x37D0,0x39, +0x37D1,0xC6, +0x37D2,0x55, +0x37D3,0xBD, +0x37D4,0xD8, +0x37D5,0x1E, +0x37D6,0x5D, +0x37D7,0x27, +0x37D8,0x17, +0x37D9,0xBD, +0x37DA,0xEF, +0x37DB,0x6C, +0x37DC,0xF6, +0x37DD,0x1E, +0x37DE,0x0E, +0x37DF,0xE7, +0x37E0,0x00, +0x37E1,0x7F, +0x37E2,0x1E, +0x37E3,0x0E, +0x37E4,0xF7, +0x37E5,0x1E, +0x37E6,0x0E, +0x37E7,0xC6, +0x37E8,0x64, +0x37E9,0x37, +0x37EA,0xC6, +0x37EB,0x55, +0x37EC,0xBD, +0x37ED,0xD7, +0x37EE,0x7E, +0x37EF,0x31, +0x37F0,0xC6, +0x37F1,0x02, +0x37F2,0x20, +0x37F3,0xDA, +0x37F4,0x3C, +0x37F5,0xF6, +0x37F6,0x01, +0x37F7,0xB3, +0x37F8,0x5D, +0x37F9,0x27, +0x37FA,0x12, +0x37FB,0x5A, +0x37FC,0x27, +0x37FD,0x14, +0x37FE,0x5A, +0x37FF,0x27, +0x3800,0x1C, +0x3801,0x5A, +0x3802,0x27, +0x3803,0x21, +0x3804,0x5A, +0x3805,0x27, +0x3806,0x2D, +0x3807,0x7F, +0x3808,0x01, +0x3809,0xB3, +0x380A,0x7E, +0x380B,0x38, +0x380C,0xB3, +0x380D,0xF6, +0x380E,0x30, +0x380F,0xEE, +0x3810,0x27, +0x3811,0xF8, +0x3812,0x7C, +0x3813,0x30, +0x3814,0xEF, +0x3815,0xC6, +0x3816,0x04, +0x3817,0xF7, +0x3818,0x01, +0x3819,0xB3, +0x381A,0x7E, +0x381B,0x38, +0x381C,0xB3, +0x381D,0xC6, +0x381E,0x03, +0x381F,0xF7, +0x3820,0x01, +0x3821,0xB3, +0x3822,0x7E, +0x3823,0x38, +0x3824,0xB3, +0x3825,0xBD, +0x3826,0xA7, +0x3827,0xF4, +0x3828,0x5D, +0x3829,0x26, +0x382A,0xF7, +0x382B,0x7A, +0x382C,0x30, +0x382D,0xEF, +0x382E,0x7F, +0x382F,0x01, +0x3830,0xB3, +0x3831,0x7E, +0x3832,0x38, +0x3833,0xB3, +0x3834,0xF6, +0x3835,0x30, +0x3836,0xEE, +0x3837,0x27, +0x3838,0xE4, +0x3839,0xBD, +0x383A,0xA7, +0x383B,0xE7, +0x383C,0x5D, +0x383D,0x27, +0x383E,0x05, +0x383F,0xFE, +0x3840,0x01, +0x3841,0x87, +0x3842,0x20, +0x3843,0x68, +0x3844,0xF6, +0x3845,0x00, +0x3846,0x45, +0x3847,0xC5, +0x3848,0x20, +0x3849,0x26, +0x384A,0x65, +0x384B,0x13, +0x384C,0x00, +0x384D,0x0C, +0x384E,0x05, +0x384F,0xBD, +0x3850,0xA4, +0x3851,0xE6, +0x3852,0x20, +0x3853,0x5F, +0x3854,0xF6, +0x3855,0x00, +0x3856,0x44, +0x3857,0xC4, +0x3858,0xFE, +0x3859,0xF7, +0x385A,0x00, +0x385B,0x44, +0x385C,0xF6, +0x385D,0x00, +0x385E,0x45, +0x385F,0xC4, +0x3860,0xFE, +0x3861,0xF7, +0x3862,0x00, +0x3863,0x45, +0x3864,0x15, +0x3865,0x22, +0x3866,0x08, +0x3867,0xBD, +0x3868,0xA4, +0x3869,0x18, +0x386A,0x5D, +0x386B,0x27, +0x386C,0x05, +0x386D,0xFE, +0x386E,0x00, +0x386F,0xBA, +0x3870,0x20, +0x3871,0x3A, +0x3872,0xF6, +0x3873,0x00, +0x3874,0x45, +0x3875,0xC5, +0x3876,0x02, +0x3877,0x26, +0x3878,0x37, +0x3879,0x13, +0x387A,0x25, +0x387B,0x10, +0x387C,0x05, +0x387D,0xBD, +0x387E,0xA5, +0x387F,0xF7, +0x3880,0x20, +0x3881,0x31, +0x3882,0xBD, +0x3883,0xA8, +0x3884,0x3B, +0x3885,0x5D, +0x3886,0x27, +0x3887,0x05, +0x3888,0xFE, +0x3889,0x00, +0x388A,0xBC, +0x388B,0x20, +0x388C,0x1F, +0x388D,0xF6, +0x388E,0x00, +0x388F,0x45, +0x3890,0xC5, +0x3891,0x04, +0x3892,0x26, +0x3893,0x1C, +0x3894,0x12, +0x3895,0x00, +0x3896,0x10, +0x3897,0x05, +0x3898,0xFE, +0x3899,0x00, +0x389A,0xC0, +0x389B,0x20, +0x389C,0x07, +0x389D,0xC5, +0x389E,0x08, +0x389F,0x26, +0x38A0,0x0F, +0x38A1,0xFE, +0x38A2,0x00, +0x38A3,0xC2, +0x38A4,0xAD, +0x38A5,0x00, +0x38A6,0xCE, +0x38A7,0x38, +0x38A8,0xB5, +0x38A9,0xFF, +0x38AA,0x00, +0x38AB,0xBE, +0x38AC,0xAD, +0x38AD,0x00, +0x38AE,0x20, +0x38AF,0x03, +0x38B0,0xBD, +0x38B1,0xA7, +0x38B2,0xF4, +0x38B3,0x38, +0x38B4,0x39, +0x38B5,0x3C, +0x38B6,0x34, +0x38B7,0xF6, +0x38B8,0x01, +0x38B9,0xB7, +0x38BA,0x5D, +0x38BB,0x27, +0x38BC,0x0C, +0x38BD,0x5A, +0x38BE,0x26, +0x38BF,0x03, +0x38C0,0x7E, +0x38C1,0x39, +0x38C2,0x59, +0x38C3,0x5A, +0x38C4,0x26, +0x38C5,0x03, +0x38C6,0x7E, +0x38C7,0x39, +0x38C8,0xCF, +0x38C9,0xF6, +0x38CA,0x00, +0x38CB,0x45, +0x38CC,0xC5, +0x38CD,0x80, +0x38CE,0x27, +0x38CF,0x21, +0x38D0,0x12, +0x38D1,0x00, +0x38D2,0x10, +0x38D3,0x07, +0x38D4,0xC6, +0x38D5,0x01, +0x38D6,0xF7, +0x38D7,0x01, +0x38D8,0xE0, +0x38D9,0x20, +0x38DA,0x03, +0x38DB,0x7F, +0x38DC,0x01, +0x38DD,0xE0, +0x38DE,0x12, +0x38DF,0x23, +0x38E0,0x04, +0x38E1,0x09, +0x38E2,0xD6, +0x38E3,0x16, +0x38E4,0xC5, +0x38E5,0x01, +0x38E6,0x27, +0x38E7,0x03, +0x38E8,0x7E, +0x38E9,0x39, +0x38EA,0xD9, +0x38EB,0x7F, +0x38EC,0x01, +0x38ED,0xE1, +0x38EE,0x7E, +0x38EF,0x39, +0x38F0,0xD9, +0x38F1,0xF6, +0x38F2,0x30, +0x38F3,0x65, +0x38F4,0xCA, +0x38F5,0x40, +0x38F6,0xF7, +0x38F7,0x1E, +0x38F8,0x0E, +0x38F9,0xF6, +0x38FA,0x20, +0x38FB,0x01, +0x38FC,0xCA, +0x38FD,0x10, +0x38FE,0xF7, +0x38FF,0x20, +0x3900,0x01, +0x3901,0xF6, +0x3902,0x1E, +0x3903,0x0D, +0x3904,0xC4, +0x3905,0xBF, +0x3906,0xF7, +0x3907,0x1E, +0x3908,0x0D, +0x3909,0x12, +0x390A,0x00, +0x390B,0x10, +0x390C,0x07, +0x390D,0xC6, +0x390E,0x01, +0x390F,0xF7, +0x3910,0x01, +0x3911,0xE0, +0x3912,0x20, +0x3913,0x03, +0x3914,0x7F, +0x3915,0x01, +0x3916,0xE0, +0x3917,0xF6, +0x3918,0x00, +0x3919,0x44, +0x391A,0xC4, +0x391B,0x7F, +0x391C,0xF7, +0x391D,0x00, +0x391E,0x44, +0x391F,0x7F, +0x3920,0x01, +0x3921,0xDA, +0x3922,0x7F, +0x3923,0x01, +0x3924,0xE1, +0x3925,0xD6, +0x3926,0x23, +0x3927,0xC5, +0x3928,0x04, +0x3929,0x26, +0x392A,0xC3, +0x392B,0xD6, +0x392C,0x16, +0x392D,0xC5, +0x392E,0x01, +0x392F,0x27, +0x3930,0xBD, +0x3931,0xF6, +0x3932,0x1E, +0x3933,0x0E, +0x3934,0xC5, +0x3935,0x80, +0x3936,0x26, +0x3937,0x07, +0x3938,0xF6, +0x3939,0x01, +0x393A,0xEE, +0x393B,0xC5, +0x393C,0x80, +0x393D,0x27, +0x393E,0x0F, +0x393F,0xF6, +0x3940,0x1E, +0x3941,0x0E, +0x3942,0x7F, +0x3943,0x1E, +0x3944,0x0E, +0x3945,0xF7, +0x3946,0x1E, +0x3947,0x0E, +0x3948,0x7F, +0x3949,0x01, +0x394A,0xEE, +0x394B,0x7E, +0x394C,0x39, +0x394D,0xD9, +0x394E,0xC6, +0x394F,0xFF, +0x3950,0x37, +0x3951,0xC6, +0x3952,0x55, +0x3953,0xBD, +0x3954,0xD7, +0x3955,0x7E, +0x3956,0x31, +0x3957,0x20, +0x3958,0x46, +0x3959,0x12, +0x395A,0x23, +0x395B,0x04, +0x395C,0x04, +0x395D,0x12, +0x395E,0x16, +0x395F,0x01, +0x3960,0x02, +0x3961,0x20, +0x3962,0x73, +0x3963,0xF6, +0x3964,0x1E, +0x3965,0x0E, +0x3966,0xC5, +0x3967,0x80, +0x3968,0x26, +0x3969,0x07, +0x396A,0xF6, +0x396B,0x01, +0x396C,0xEE, +0x396D,0xC5, +0x396E,0x80, +0x396F,0x27, +0x3970,0x0E, +0x3971,0xF6, +0x3972,0x1E, +0x3973,0x0E, +0x3974,0x7F, +0x3975,0x1E, +0x3976,0x0E, +0x3977,0xF7, +0x3978,0x1E, +0x3979,0x0E, +0x397A,0x7F, +0x397B,0x01, +0x397C,0xEE, +0x397D,0x20, +0x397E,0x57, +0x397F,0xF6, +0x3980,0x01, +0x3981,0xE1, +0x3982,0x26, +0x3983,0x27, +0x3984,0xC6, +0x3985,0x55, +0x3986,0xBD, +0x3987,0xD8, +0x3988,0x1E, +0x3989,0x5D, +0x398A,0x27, +0x398B,0x4D, +0x398C,0xF6, +0x398D,0x01, +0x398E,0xDA, +0x398F,0xC1, +0x3990,0x04, +0x3991,0x27, +0x3992,0x13, +0x3993,0xC6, +0x3994,0xFF, +0x3995,0x37, +0x3996,0xC6, +0x3997,0x55, +0x3998,0xBD, +0x3999,0xD7, +0x399A,0x7E, +0x399B,0x31, +0x399C,0x7C, +0x399D,0x01, +0x399E,0xDA, +0x399F,0xC6, +0x39A0,0x01, +0x39A1,0xF7, +0x39A2,0x01, +0x39A3,0xB7, +0x39A4,0x20, +0x39A5,0x33, +0x39A6,0xC6, +0x39A7,0x01, +0x39A8,0xF7, +0x39A9,0x01, +0x39AA,0xE1, +0x39AB,0x5D, +0x39AC,0x27, +0x39AD,0x21, +0x39AE,0x12, +0x39AF,0x00, +0x39B0,0x10, +0x39B1,0x07, +0x39B2,0xC6, +0x39B3,0x01, +0x39B4,0xF7, +0x39B5,0x01, +0x39B6,0xDF, +0x39B7,0x20, +0x39B8,0x03, +0x39B9,0x7F, +0x39BA,0x01, +0x39BB,0xDF, +0x39BC,0xBD, +0x39BD,0xA8, +0x39BE,0x1C, +0x39BF,0x5D, +0x39C0,0x26, +0x39C1,0x17, +0x39C2,0xF6, +0x39C3,0x00, +0x39C4,0x44, +0x39C5,0xCA, +0x39C6,0x80, +0x39C7,0xF7, +0x39C8,0x00, +0x39C9,0x44, +0x39CA,0xC6, +0x39CB,0x02, +0x39CC,0xF7, +0x39CD,0x01, +0x39CE,0xB7, +0x39CF,0xF6, +0x39D0,0x00, +0x39D1,0x45, +0x39D2,0xC5, +0x39D3,0x80, +0x39D4,0x27, +0x39D5,0x03, +0x39D6,0x7F, +0x39D7,0x01, +0x39D8,0xB7, +0x39D9,0x31, +0x39DA,0x38, +0x39DB,0x39, +0x39DC,0x3C, +0x39DD,0xD6, +0x39DE,0x25, +0x39DF,0xC4, +0x39E0,0x02, +0x39E1,0xF7, +0x39E2,0x00, +0x39E3,0xFF, +0x39E4,0xFE, +0x39E5,0x01, +0x39E6,0x02, +0x39E7,0xAD, +0x39E8,0x00, +0x39E9,0xBD, +0x39EA,0x8A, +0x39EB,0x13, +0x39EC,0xBD, +0x39ED,0x8A, +0x39EE,0x13, +0x39EF,0xF6, +0x39F0,0x1E, +0x39F1,0x08, +0x39F2,0xCA, +0x39F3,0x01, +0x39F4,0xF7, +0x39F5,0x1E, +0x39F6,0x08, +0x39F7,0xBD, +0x39F8,0x9B, +0x39F9,0xA8, +0x39FA,0xBD, +0x39FB,0x9B, +0x39FC,0xC1, +0x39FD,0xBD, +0x39FE,0xEA, +0x39FF,0x17, +0x3A00,0xBD, +0x3A01,0x8A, +0x3A02,0x13, +0x3A03,0xFE, +0x3A04,0x00, +0x3A05,0xB0, +0x3A06,0xAD, +0x3A07,0x00, +0x3A08,0xF6, +0x3A09,0x00, +0x3A0A,0x41, +0x3A0B,0xC5, +0x3A0C,0x01, +0x3A0D,0x26, +0x3A0E,0x03, +0x3A0F,0xBD, +0x3A10,0x3A, +0x3A11,0x92, +0x3A12,0xF6, +0x3A13,0x1E, +0x3A14,0x08, +0x3A15,0xCA, +0x3A16,0x03, +0x3A17,0xF7, +0x3A18,0x1E, +0x3A19,0x08, +0x3A1A,0xBD, +0x3A1B,0xDE, +0x3A1C,0x07, +0x3A1D,0xBD, +0x3A1E,0x8E, +0x3A1F,0x8B, +0x3A20,0xBD, +0x3A21,0x91, +0x3A22,0xEF, +0x3A23,0xBD, +0x3A24,0x90, +0x3A25,0x6B, +0x3A26,0xFC, +0x3A27,0x00, +0x3A28,0x42, +0x3A29,0xBD, +0x3A2A,0x8F, +0x3A2B,0x8E, +0x3A2C,0xFC, +0x3A2D,0x00, +0x3A2E,0x42, +0x3A2F,0xBD, +0x3A30,0x91, +0x3A31,0x4F, +0x3A32,0xBD, +0x3A33,0x91, +0x3A34,0xBB, +0x3A35,0xBD, +0x3A36,0xBC, +0x3A37,0xDA, +0x3A38,0xBD, +0x3A39,0x8E, +0x3A3A,0x14, +0x3A3B,0xBD, +0x3A3C,0xEA, +0x3A3D,0xAD, +0x3A3E,0xF6, +0x3A3F,0x00, +0x3A40,0x41, +0x3A41,0xC5, +0x3A42,0x20, +0x3A43,0x27, +0x3A44,0x10, +0x3A45,0xF6, +0x3A46,0x12, +0x3A47,0x31, +0x3A48,0xCA, +0x3A49,0x20, +0x3A4A,0xF7, +0x3A4B,0x12, +0x3A4C,0x31, +0x3A4D,0xF6, +0x3A4E,0x12, +0x3A4F,0x22, +0x3A50,0xCA, +0x3A51,0x20, +0x3A52,0xF7, +0x3A53,0x12, +0x3A54,0x22, +0x3A55,0xBD, +0x3A56,0x8B, +0x3A57,0x02, +0x3A58,0x13, +0x3A59,0x23, +0x3A5A,0x80, +0x3A5B,0x03, +0x3A5C,0xBD, +0x3A5D,0x9B, +0x3A5E,0x22, +0x3A5F,0x38, +0x3A60,0x39, +0x3A61,0xF6, +0x3A62,0x31, +0x3A63,0x53, +0x3A64,0xF7, +0x3A65,0x20, +0x3A66,0xA1, +0x3A67,0xF6, +0x3A68,0x20, +0x3A69,0xA8, +0x3A6A,0xCA, +0x3A6B,0xD0, +0x3A6C,0xF7, +0x3A6D,0x20, +0x3A6E,0xA8, +0x3A6F,0xF6, +0x3A70,0x20, +0x3A71,0xA8, +0x3A72,0xC4, +0x3A73,0xDF, +0x3A74,0xF7, +0x3A75,0x20, +0x3A76,0xA8, +0x3A77,0xC6, +0x3A78,0x98, +0x3A79,0xF7, +0x3A7A,0x20, +0x3A7B,0x05, +0x3A7C,0x7F, +0x3A7D,0x20, +0x3A7E,0x02, +0x3A7F,0xC6, +0x3A80,0xC0, +0x3A81,0xF7, +0x3A82,0x20, +0x3A83,0x06, +0x3A84,0xC6, +0x3A85,0xD4, +0x3A86,0xF7, +0x3A87,0x20, +0x3A88,0x0B, +0x3A89,0xF6, +0x3A8A,0x20, +0x3A8B,0x0C, +0x3A8C,0xC4, +0x3A8D,0xF8, +0x3A8E,0xF7, +0x3A8F,0x20, +0x3A90,0x0C, +0x3A91,0x39, +0x3A92,0x3C, +0x3A93,0x3C, +0x3A94,0x3C, +0x3A95,0x30, +0x3A96,0xBD, +0x3A97,0x8B, +0x3A98,0x64, +0x3A99,0xE7, +0x3A9A,0x01, +0x3A9B,0xF6, +0x3A9C,0x30, +0x3A9D,0x55, +0x3A9E,0xC0, +0x3A9F,0x07, +0x3AA0,0xE7, +0x3AA1,0x02, +0x3AA2,0x18, +0x3AA3,0xFE, +0x3AA4,0x30, +0x3AA5,0x48, +0x3AA6,0xF6, +0x3AA7,0x30, +0x3AA8,0x54, +0x3AA9,0x18, +0x3AAA,0x3A, +0x3AAB,0x18, +0x3AAC,0xE6, +0x3AAD,0x00, +0x3AAE,0xCB, +0x3AAF,0x05, +0x3AB0,0xE7, +0x3AB1,0x03, +0x3AB2,0xC1, +0x3AB3,0x0F, +0x3AB4,0x23, +0x3AB5,0x04, +0x3AB6,0xC6, +0x3AB7,0x0F, +0x3AB8,0xE7, +0x3AB9,0x03, +0x3ABA,0x7F, +0x3ABB,0x20, +0x3ABC,0x0A, +0x3ABD,0x18, +0x3ABE,0xFE, +0x3ABF,0x30, +0x3AC0,0x52, +0x3AC1,0xE6, +0x3AC2,0x02, +0x3AC3,0x18, +0x3AC4,0x3A, +0x3AC5,0x18, +0x3AC6,0xE6, +0x3AC7,0x00, +0x3AC8,0x56, +0x3AC9,0x56, +0x3ACA,0x56, +0x3ACB,0xC4, +0x3ACC,0xC0, +0x3ACD,0xE7, +0x3ACE,0x00, +0x3ACF,0xF6, +0x3AD0,0x20, +0x3AD1,0x08, +0x3AD2,0xC4, +0x3AD3,0x3F, +0x3AD4,0xEA, +0x3AD5,0x00, +0x3AD6,0xF7, +0x3AD7,0x20, +0x3AD8,0x08, +0x3AD9,0xF6, +0x3ADA,0x1E, +0x3ADB,0x0E, +0x3ADC,0xF7, +0x3ADD,0x01, +0x3ADE,0xEE, +0x3ADF,0xE6, +0x3AE0,0x01, +0x3AE1,0xC0, +0x3AE2,0x02, +0x3AE3,0x27, +0x3AE4,0x1B, +0x3AE5,0x5A, +0x3AE6,0x26, +0x3AE7,0x03, +0x3AE8,0x7E, +0x3AE9,0x3B, +0x3AEA,0x6E, +0x3AEB,0x5A, +0x3AEC,0x26, +0x3AED,0x03, +0x3AEE,0x7E, +0x3AEF,0x3B, +0x3AF0,0xF2, +0x3AF1,0x5A, +0x3AF2,0x26, +0x3AF3,0x03, +0x3AF4,0x7E, +0x3AF5,0x3C, +0x3AF6,0x4A, +0x3AF7,0x5A, +0x3AF8,0x27, +0x3AF9,0xF4, +0x3AFA,0x5A, +0x3AFB,0x27, +0x3AFC,0xF7, +0x3AFD,0x7E, +0x3AFE,0x3D, +0x3AFF,0x1B, +0x3B00,0xC6, +0x3B01,0x94, +0x3B02,0xF7, +0x3B03,0x20, +0x3B04,0x07, +0x3B05,0xF6, +0x3B06,0x20, +0x3B07,0x03, +0x3B08,0xCA, +0x3B09,0x40, +0x3B0A,0xF7, +0x3B0B,0x20, +0x3B0C,0x03, +0x3B0D,0xF6, +0x3B0E,0x1E, +0x3B0F,0x0F, +0x3B10,0xC4, +0x3B11,0xFC, +0x3B12,0xF7, +0x3B13,0x1E, +0x3B14,0x0F, +0x3B15,0xBD, +0x3B16,0x8A, +0x3B17,0x18, +0x3B18,0xF6, +0x3B19,0x1E, +0x3B1A,0x0F, +0x3B1B,0xCA, +0x3B1C,0x01, +0x3B1D,0xF7, +0x3B1E,0x1E, +0x3B1F,0x0F, +0x3B20,0xBD, +0x3B21,0x8A, +0x3B22,0x18, +0x3B23,0xF6, +0x3B24,0x20, +0x3B25,0x04, +0x3B26,0xC4, +0x3B27,0xDF, +0x3B28,0xF7, +0x3B29,0x20, +0x3B2A,0x04, +0x3B2B,0xF6, +0x3B2C,0x20, +0x3B2D,0x03, +0x3B2E,0xC4, +0x3B2F,0xBF, +0x3B30,0xF7, +0x3B31,0x20, +0x3B32,0x03, +0x3B33,0x18, +0x3B34,0xFE, +0x3B35,0x30, +0x3B36,0x50, +0x3B37,0xE6, +0x3B38,0x02, +0x3B39,0x18, +0x3B3A,0x3A, +0x3B3B,0x18, +0x3B3C,0xE6, +0x3B3D,0x00, +0x3B3E,0x56, +0x3B3F,0x56, +0x3B40,0x56, +0x3B41,0xC4, +0x3B42,0xC0, +0x3B43,0xE7, +0x3B44,0x00, +0x3B45,0xF6, +0x3B46,0x20, +0x3B47,0x04, +0x3B48,0xC4, +0x3B49,0x3F, +0x3B4A,0xEA, +0x3B4B,0x00, +0x3B4C,0xF7, +0x3B4D,0x20, +0x3B4E,0x04, +0x3B4F,0xBD, +0x3B50,0x3A, +0x3B51,0x61, +0x3B52,0x18, +0x3B53,0xFE, +0x3B54,0x30, +0x3B55,0x48, +0x3B56,0xF6, +0x3B57,0x30, +0x3B58,0x54, +0x3B59,0x18, +0x3B5A,0x3A, +0x3B5B,0x18, +0x3B5C,0xE6, +0x3B5D,0x00, +0x3B5E,0xC1, +0x3B5F,0x0F, +0x3B60,0x24, +0x3B61,0x6E, +0x3B62,0x5C, +0x3B63,0xE7, +0x3B64,0x00, +0x3B65,0xF6, +0x3B66,0x20, +0x3B67,0x05, +0x3B68,0xC4, +0x3B69,0xF0, +0x3B6A,0xEA, +0x3B6B,0x00, +0x3B6C,0x20, +0x3B6D,0x6A, +0x3B6E,0xC6, +0x3B6F,0x94, +0x3B70,0xF7, +0x3B71,0x20, +0x3B72,0x07, +0x3B73,0xF6, +0x3B74,0x20, +0x3B75,0x03, +0x3B76,0xCA, +0x3B77,0x40, +0x3B78,0xF7, +0x3B79,0x20, +0x3B7A,0x03, +0x3B7B,0xF6, +0x3B7C,0x1E, +0x3B7D,0x0F, +0x3B7E,0xC4, +0x3B7F,0xFC, +0x3B80,0xF7, +0x3B81,0x1E, +0x3B82,0x0F, +0x3B83,0xBD, +0x3B84,0x8A, +0x3B85,0x18, +0x3B86,0xF6, +0x3B87,0x1E, +0x3B88,0x0F, +0x3B89,0xCA, +0x3B8A,0x02, +0x3B8B,0xF7, +0x3B8C,0x1E, +0x3B8D,0x0F, +0x3B8E,0xBD, +0x3B8F,0x8A, +0x3B90,0x18, +0x3B91,0xF6, +0x3B92,0x20, +0x3B93,0x04, +0x3B94,0xCA, +0x3B95,0x20, +0x3B96,0xF7, +0x3B97,0x20, +0x3B98,0x04, +0x3B99,0xF6, +0x3B9A,0x20, +0x3B9B,0x03, +0x3B9C,0xC4, +0x3B9D,0xBF, +0x3B9E,0xF7, +0x3B9F,0x20, +0x3BA0,0x03, +0x3BA1,0x18, +0x3BA2,0xFE, +0x3BA3,0x30, +0x3BA4,0x50, +0x3BA5,0xE6, +0x3BA6,0x02, +0x3BA7,0x18, +0x3BA8,0x3A, +0x3BA9,0x18, +0x3BAA,0xE6, +0x3BAB,0x00, +0x3BAC,0x56, +0x3BAD,0x56, +0x3BAE,0x56, +0x3BAF,0xC4, +0x3BB0,0xC0, +0x3BB1,0xE7, +0x3BB2,0x00, +0x3BB3,0xF6, +0x3BB4,0x20, +0x3BB5,0x04, +0x3BB6,0xC4, +0x3BB7,0x3F, +0x3BB8,0xEA, +0x3BB9,0x00, +0x3BBA,0xF7, +0x3BBB,0x20, +0x3BBC,0x04, +0x3BBD,0xBD, +0x3BBE,0x3A, +0x3BBF,0x61, +0x3BC0,0x18, +0x3BC1,0xFE, +0x3BC2,0x30, +0x3BC3,0x48, +0x3BC4,0xF6, +0x3BC5,0x30, +0x3BC6,0x54, +0x3BC7,0x18, +0x3BC8,0x3A, +0x3BC9,0x18, +0x3BCA,0xE6, +0x3BCB,0x00, +0x3BCC,0xC1, +0x3BCD,0x0F, +0x3BCE,0x25, +0x3BCF,0x92, +0x3BD0,0xF6, +0x3BD1,0x20, +0x3BD2,0x05, +0x3BD3,0xC4, +0x3BD4,0xF0, +0x3BD5,0x18, +0x3BD6,0xEA, +0x3BD7,0x00, +0x3BD8,0xF7, +0x3BD9,0x20, +0x3BDA,0x05, +0x3BDB,0x18, +0x3BDC,0xFE, +0x3BDD,0x30, +0x3BDE,0x4C, +0x3BDF,0xF6, +0x3BE0,0x30, +0x3BE1,0x54, +0x3BE2,0x18, +0x3BE3,0x3A, +0x3BE4,0xF6, +0x3BE5,0x20, +0x3BE6,0x01, +0x3BE7,0xC4, +0x3BE8,0xF8, +0x3BE9,0x18, +0x3BEA,0xEA, +0x3BEB,0x00, +0x3BEC,0xF7, +0x3BED,0x20, +0x3BEE,0x01, +0x3BEF,0x7E, +0x3BF0,0x3D, +0x3BF1,0x1B, +0x3BF2,0xF6, +0x3BF3,0x20, +0x3BF4,0x03, +0x3BF5,0xCA, +0x3BF6,0x40, +0x3BF7,0xF7, +0x3BF8,0x20, +0x3BF9,0x03, +0x3BFA,0xF6, +0x3BFB,0x1E, +0x3BFC,0x0F, +0x3BFD,0xC4, +0x3BFE,0xFC, +0x3BFF,0xF7, +0x3C00,0x1E, +0x3C01,0x0F, +0x3C02,0xBD, +0x3C03,0x8A, +0x3C04,0x18, +0x3C05,0xF6, +0x3C06,0x1E, +0x3C07,0x0F, +0x3C08,0xCA, +0x3C09,0x01, +0x3C0A,0xF7, +0x3C0B,0x1E, +0x3C0C,0x0F, +0x3C0D,0xBD, +0x3C0E,0x8A, +0x3C0F,0x18, +0x3C10,0xF6, +0x3C11,0x20, +0x3C12,0x04, +0x3C13,0xC4, +0x3C14,0xDF, +0x3C15,0xF7, +0x3C16,0x20, +0x3C17,0x04, +0x3C18,0xF6, +0x3C19,0x20, +0x3C1A,0x03, +0x3C1B,0xC4, +0x3C1C,0xBF, +0x3C1D,0xF7, +0x3C1E,0x20, +0x3C1F,0x03, +0x3C20,0x18, +0x3C21,0xFE, +0x3C22,0x30, +0x3C23,0x4E, +0x3C24,0xE6, +0x3C25,0x02, +0x3C26,0x18, +0x3C27,0x3A, +0x3C28,0x18, +0x3C29,0xE6, +0x3C2A,0x00, +0x3C2B,0x56, +0x3C2C,0x56, +0x3C2D,0x56, +0x3C2E,0xC4, +0x3C2F,0xC0, +0x3C30,0xE7, +0x3C31,0x00, +0x3C32,0xF6, +0x3C33,0x20, +0x3C34,0x04, +0x3C35,0xC4, +0x3C36,0x3F, +0x3C37,0xEA, +0x3C38,0x00, +0x3C39,0xF7, +0x3C3A,0x20, +0x3C3B,0x04, +0x3C3C,0xBD, +0x3C3D,0x8C, +0x3C3E,0x0C, +0x3C3F,0xE6, +0x3C40,0x01, +0x3C41,0xC1, +0x3C42,0x06, +0x3C43,0x27, +0x3C44,0x03, +0x3C45,0x7E, +0x3C46,0x3C, +0x3C47,0xD5, +0x3C48,0x20, +0x3C49,0x53, +0x3C4A,0xF6, +0x3C4B,0x20, +0x3C4C,0x03, +0x3C4D,0xCA, +0x3C4E,0x40, +0x3C4F,0xF7, +0x3C50,0x20, +0x3C51,0x03, +0x3C52,0xF6, +0x3C53,0x1E, +0x3C54,0x0F, +0x3C55,0xC4, +0x3C56,0xFC, +0x3C57,0xF7, +0x3C58,0x1E, +0x3C59,0x0F, +0x3C5A,0xBD, +0x3C5B,0x8A, +0x3C5C,0x18, +0x3C5D,0xF6, +0x3C5E,0x1E, +0x3C5F,0x0F, +0x3C60,0xCA, +0x3C61,0x02, +0x3C62,0xF7, +0x3C63,0x1E, +0x3C64,0x0F, +0x3C65,0xBD, +0x3C66,0x8A, +0x3C67,0x18, +0x3C68,0xF6, +0x3C69,0x20, +0x3C6A,0x04, +0x3C6B,0xCA, +0x3C6C,0x20, +0x3C6D,0xF7, +0x3C6E,0x20, +0x3C6F,0x04, +0x3C70,0xF6, +0x3C71,0x20, +0x3C72,0x03, +0x3C73,0xC4, +0x3C74,0xBF, +0x3C75,0xF7, +0x3C76,0x20, +0x3C77,0x03, +0x3C78,0x18, +0x3C79,0xFE, +0x3C7A,0x30, +0x3C7B,0x4E, +0x3C7C,0xE6, +0x3C7D,0x02, +0x3C7E,0x18, +0x3C7F,0x3A, +0x3C80,0x18, +0x3C81,0xE6, +0x3C82,0x00, +0x3C83,0x56, +0x3C84,0x56, +0x3C85,0x56, +0x3C86,0xC4, +0x3C87,0xC0, +0x3C88,0xE7, +0x3C89,0x00, +0x3C8A,0xF6, +0x3C8B,0x20, +0x3C8C,0x04, +0x3C8D,0xC4, +0x3C8E,0x3F, +0x3C8F,0xEA, +0x3C90,0x00, +0x3C91,0xF7, +0x3C92,0x20, +0x3C93,0x04, +0x3C94,0xBD, +0x3C95,0x8C, +0x3C96,0x0C, +0x3C97,0xE6, +0x3C98,0x01, +0x3C99,0xC1, +0x3C9A,0x07, +0x3C9B,0x26, +0x3C9C,0x38, +0x3C9D,0xC6, +0x3C9E,0x94, +0x3C9F,0xF7, +0x3CA0,0x20, +0x3CA1,0x07, +0x3CA2,0xF6, +0x3CA3,0x20, +0x3CA4,0xA8, +0x3CA5,0xCA, +0x3CA6,0xF0, +0x3CA7,0xF7, +0x3CA8,0x20, +0x3CA9,0xA8, +0x3CAA,0xC6, +0x3CAB,0xD4, +0x3CAC,0xF7, +0x3CAD,0x20, +0x3CAE,0x0B, +0x3CAF,0xF6, +0x3CB0,0x20, +0x3CB1,0x0C, +0x3CB2,0xC4, +0x3CB3,0xF8, +0x3CB4,0xF7, +0x3CB5,0x20, +0x3CB6,0x0C, +0x3CB7,0xF6, +0x3CB8,0x20, +0x3CB9,0x01, +0x3CBA,0xC4, +0x3CBB,0xF8, +0x3CBC,0xFA, +0x3CBD,0x31, +0x3CBE,0x52, +0x3CBF,0xF7, +0x3CC0,0x20, +0x3CC1,0x01, +0x3CC2,0x18, +0x3CC3,0xFE, +0x3CC4,0x30, +0x3CC5,0x48, +0x3CC6,0xF6, +0x3CC7,0x30, +0x3CC8,0x54, +0x3CC9,0x18, +0x3CCA,0x3A, +0x3CCB,0xF6, +0x3CCC,0x20, +0x3CCD,0x05, +0x3CCE,0xC4, +0x3CCF,0xF0, +0x3CD0,0x18, +0x3CD1,0xEA, +0x3CD2,0x00, +0x3CD3,0x20, +0x3CD4,0x43, +0x3CD5,0xC6, +0x3CD6,0x84, +0x3CD7,0xF7, +0x3CD8,0x20, +0x3CD9,0x07, +0x3CDA,0xF6, +0x3CDB,0x20, +0x3CDC,0xA8, +0x3CDD,0xCA, +0x3CDE,0x30, +0x3CDF,0xF7, +0x3CE0,0x20, +0x3CE1,0xA8, +0x3CE2,0xF6, +0x3CE3,0x20, +0x3CE4,0xA8, +0x3CE5,0xC4, +0x3CE6,0x3F, +0x3CE7,0xF7, +0x3CE8,0x20, +0x3CE9,0xA8, +0x3CEA,0xF6, +0x3CEB,0x31, +0x3CEC,0x54, +0x3CED,0xF7, +0x3CEE,0x20, +0x3CEF,0xA1, +0x3CF0,0xC6, +0x3CF1,0xDC, +0x3CF2,0xF7, +0x3CF3,0x20, +0x3CF4,0x0B, +0x3CF5,0xF6, +0x3CF6,0x20, +0x3CF7,0x0C, +0x3CF8,0xC4, +0x3CF9,0xF8, +0x3CFA,0xF7, +0x3CFB,0x20, +0x3CFC,0x0C, +0x3CFD,0x18, +0x3CFE,0xFE, +0x3CFF,0x30, +0x3D00,0x4C, +0x3D01,0xF6, +0x3D02,0x30, +0x3D03,0x54, +0x3D04,0x18, +0x3D05,0x3A, +0x3D06,0xF6, +0x3D07,0x20, +0x3D08,0x01, +0x3D09,0xC4, +0x3D0A,0xF8, +0x3D0B,0x18, +0x3D0C,0xEA, +0x3D0D,0x00, +0x3D0E,0xF7, +0x3D0F,0x20, +0x3D10,0x01, +0x3D11,0xF6, +0x3D12,0x20, +0x3D13,0x05, +0x3D14,0xC4, +0x3D15,0xF0, +0x3D16,0xEA, +0x3D17,0x03, +0x3D18,0xF7, +0x3D19,0x20, +0x3D1A,0x05, +0x3D1B,0xBD, +0x3D1C,0x8B, +0x3D1D,0xA7, +0x3D1E,0xF6, +0x3D1F,0x1E, +0x3D20,0x0E, +0x3D21,0xE7, +0x3D22,0x01, +0x3D23,0x7F, +0x3D24,0x1E, +0x3D25,0x0E, +0x3D26,0xF7, +0x3D27,0x1E, +0x3D28,0x0E, +0x3D29,0x12, +0x3D2A,0x23, +0x3D2B,0x80, +0x3D2C,0x04, +0x3D2D,0x13, +0x3D2E,0x23, +0x3D2F,0x40, +0x3D30,0x08, +0x3D31,0xF6, +0x3D32,0x20, +0x3D33,0x05, +0x3D34,0xC4, +0x3D35,0x7F, +0x3D36,0xF7, +0x3D37,0x20, +0x3D38,0x05, +0x3D39,0x38, +0x3D3A,0x38, +0x3D3B,0x38, +0x3D3C,0x39, +0x3D3D,0x3C, +0x3D3E,0xD6, +0x3D3F,0x25, +0x3D40,0xC4, +0x3D41,0x02, +0x3D42,0xF7, +0x3D43,0x00, +0x3D44,0xFF, +0x3D45,0xBD, +0x3D46,0x8A, +0x3D47,0x13, +0x3D48,0xBD, +0x3D49,0x8A, +0x3D4A,0x13, +0x3D4B,0xF6, +0x3D4C,0x1E, +0x3D4D,0x08, +0x3D4E,0xCA, +0x3D4F,0x01, +0x3D50,0xF7, +0x3D51,0x1E, +0x3D52,0x08, +0x3D53,0xBD, +0x3D54,0x9B, +0x3D55,0xA8, +0x3D56,0xBD, +0x3D57,0x9B, +0x3D58,0xC1, +0x3D59,0xBD, +0x3D5A,0xEA, +0x3D5B,0x17, +0x3D5C,0xBD, +0x3D5D,0x8A, +0x3D5E,0x13, +0x3D5F,0xFE, +0x3D60,0x00, +0x3D61,0xB0, +0x3D62,0xAD, +0x3D63,0x00, +0x3D64,0xF6, +0x3D65,0x00, +0x3D66,0x41, +0x3D67,0xC5, +0x3D68,0x01, +0x3D69,0x26, +0x3D6A,0x03, +0x3D6B,0xBD, +0x3D6C,0x3A, +0x3D6D,0x92, +0x3D6E,0xF6, +0x3D6F,0x1E, +0x3D70,0x08, +0x3D71,0xCA, +0x3D72,0x03, +0x3D73,0xF7, +0x3D74,0x1E, +0x3D75,0x08, +0x3D76,0xBD, +0x3D77,0xDE, +0x3D78,0x07, +0x3D79,0xBD, +0x3D7A,0x8E, +0x3D7B,0x8B, +0x3D7C,0xBD, +0x3D7D,0x91, +0x3D7E,0xEF, +0x3D7F,0xBD, +0x3D80,0x90, +0x3D81,0x6B, +0x3D82,0xFC, +0x3D83,0x00, +0x3D84,0x42, +0x3D85,0xBD, +0x3D86,0x8F, +0x3D87,0x8E, +0x3D88,0xFC, +0x3D89,0x00, +0x3D8A,0x42, +0x3D8B,0xBD, +0x3D8C,0x91, +0x3D8D,0x4F, +0x3D8E,0xBD, +0x3D8F,0x91, +0x3D90,0xBB, +0x3D91,0xBD, +0x3D92,0xBC, +0x3D93,0xDA, +0x3D94,0xBD, +0x3D95,0x8E, +0x3D96,0x14, +0x3D97,0xBD, +0x3D98,0xEA, +0x3D99,0xAD, +0x3D9A,0xF6, +0x3D9B,0x00, +0x3D9C,0x41, +0x3D9D,0xC5, +0x3D9E,0x20, +0x3D9F,0x27, +0x3DA0,0x10, +0x3DA1,0xF6, +0x3DA2,0x12, +0x3DA3,0x31, +0x3DA4,0xCA, +0x3DA5,0x20, +0x3DA6,0xF7, +0x3DA7,0x12, +0x3DA8,0x31, +0x3DA9,0xF6, +0x3DAA,0x12, +0x3DAB,0x22, +0x3DAC,0xCA, +0x3DAD,0x20, +0x3DAE,0xF7, +0x3DAF,0x12, +0x3DB0,0x22, +0x3DB1,0xBD, +0x3DB2,0x8B, +0x3DB3,0x02, +0x3DB4,0x13, +0x3DB5,0x23, +0x3DB6,0x80, +0x3DB7,0x03, +0x3DB8,0xBD, +0x3DB9,0x9B, +0x3DBA,0x22, +0x3DBB,0x38, +0x3DBC,0x39, +0x3DBD,0x00, +0x3DBE,0x00, +0x3DBF,0x21, +0x3DC0,0x01, +0x3DC1,0x01, +0x3DC2,0x01, +0x3DC3,0x13, +0x3DC4,0x05, +0x3DC5,0xB1, +0x3DC6,0x01, +0x3DC7,0x01, +0x3DC8,0x81, +0x3DC9,0x00, +0x3DCA,0x00, +0x3DCB,0x21, +0x3DCC,0x01, +0x3DCD,0x01, +0x3DCE,0x01, +0x3DCF,0x13, +0x3DD0,0x05, +0x3DD1,0xB1, +0x3DD2,0x00, +0x3DD3,0x01, +0x3DD4,0x81, +0x3DD5,0x00, +0x3DD6,0x00, +0x3DD7,0x21, +0x3DD8,0x01, +0x3DD9,0x01, +0x3DDA,0x01, +0x3DDB,0x13, +0x3DDC,0x05, +0x3DDD,0xB0, +0x3DDE,0x01, +0x3DDF,0x01, +0x3DE0,0x81, +0x3DE1,0xA9, +0x3DE2,0x63, +0x3DE3,0xA4, +0x3DE4,0x29, +0x3DE5,0xA9, +0x3DE6,0x63, +0x3DE7,0xA4, +0x3DE8,0x29, +0x3DE9,0x34, +0x3DEA,0xB7, +0x3DEB,0xA4, +0x3DEC,0x29, +0x3DED,0xA9, +0x3DEE,0x63, +0x3DEF,0xA4, +0x3DF0,0x29, +0x3DF1,0xA9, +0x3DF2,0x63, +0x3DF3,0xA4, +0x3DF4,0x29, +0x3DF5,0xA9, +0x3DF6,0x63, +0x3DF7,0xA4, +0x3DF8,0x29, +0x3DF9,0xA9, +0x3DFA,0x63, +0x3DFB,0xA4, +0x3DFC,0x29, +0x3DFD,0xA9, +0x3DFE,0x63, +0x3DFF,0xA4, +0x3E00,0x29, +0x3E01,0xA9, +0x3E02,0x63, +0x3E03,0xA4, +0x3E04,0x29, +0x3E05,0xA9, +0x3E06,0x63, +0x3E07,0xA4, +0x3E08,0x29, +0x3E09,0xA9, +0x3E0A,0x63, +0x3E0B,0xA4, +0x3E0C,0x29, +0x3E0D,0xA9, +0x3E0E,0x63, +0x3E0F,0xA4, +0x3E10,0x29, +0x3E11,0xA9, +0x3E12,0x63, +0x3E13,0xA4, +0x3E14,0x29, +0x3E15,0xA9, +0x3E16,0x63, +0x3E17,0xA4, +0x3E18,0x29, +0x3E19,0xA9, +0x3E1A,0x63, +0x3E1B,0xA4, +0x3E1C,0x29, +0x3E1D,0xA9, +0x3E1E,0x63, +0x3E1F,0xA4, +0x3E20,0x29, +0x3E21,0xA9, +0x3E22,0x63, +0x3E23,0xA4, +0x3E24,0x29, +0x3E25,0xA9, +0x3E26,0x63, +0x3E27,0xA4, +0x3E28,0x29, +0x3E29,0xA9, +0x3E2A,0x63, +0x3E2B,0xA4, +0x3E2C,0x29, +0x3E2D,0xA9, +0x3E2E,0x63, +0x3E2F,0xA4, +0x3E30,0x29, +0x3E31,0xA9, +0x3E32,0x63, +0x3E33,0xA4, +0x3E34,0x29, +0x3E35,0xA9, +0x3E36,0x63, +0x3E37,0xA4, +0x3E38,0x29, +0x3E39,0xA9, +0x3E3A,0x63, +0x3E3B,0xA4, +0x3E3C,0x29, +0x3E3D,0xA9, +0x3E3E,0x63, +0x3E3F,0xA4, +0x3E40,0x29, +0x3E41,0xA9, +0x3E42,0x63, +0x3E43,0xA4, +0x3E44,0x29, +0x3E45,0xA9, +0x3E46,0x63, +0x3E47,0xA4, +0x3E48,0x29, +0x3E49,0xA9, +0x3E4A,0x63, +0x3E4B,0xA4, +0x3E4C,0x29, +0x3E4D,0xA9, +0x3E4E,0x63, +0x3E4F,0xA4, +0x3E50,0x29, +0x3E51,0xA9, +0x3E52,0x63, +0x3E53,0xA4, +0x3E54,0x29, +0x3E55,0xA9, +0x3E56,0x63, +0x3E57,0xA4, +0x3E58,0x29, +0x3E59,0xA9, +0x3E5A,0x63, +0x3E5B,0xA4, +0x3E5C,0x29, +0x3E5D,0xA9, +0x3E5E,0x63, +0x3E5F,0xA4, +0x3E60,0x29, +0x3E61,0x43, +0x3E62,0x3A, +0x3E63,0x75, +0x3E64,0x6E, +0x3E65,0x6C, +0x3E66,0x6F, +0x3E67,0x63, +0x3E68,0x6B, +0x3E69,0x28, +0x3E6A,0x44, +0x3E6B,0x3E, +0x3E6C,0x54, +0x3E6D,0x29, +0x3E6E,0x20, +0x3E6F,0x0A, +0x3E70,0x0D, +0x3E71,0x00, +0x3E72,0x43, +0x3E73,0x3A, +0x3E74,0x75, +0x3E75,0x6E, +0x3E76,0x6C, +0x3E77,0x6F, +0x3E78,0x63, +0x3E79,0x6B, +0x3E7A,0x28, +0x3E7B,0x44, +0x3E7C,0x3C, +0x3E7D,0x3D, +0x3E7E,0x54, +0x3E7F,0x29, +0x3E80,0x2C, +0x3E81,0x3D, +0x3E82,0x25, +0x3E83,0x78, +0x3E84,0x0A, +0x3E85,0x0D, +0x3E86,0x00, +0x3E87,0x43, +0x3E88,0x3A, +0x3E89,0x4C, +0x3E8A,0x4F, +0x3E8B,0x43, +0x3E8C,0x4B, +0x3E8D,0x45, +0x3E8E,0x44, +0x3E8F,0x0A, +0x3E90,0x0D, +0x3E91,0x00, +0x3E92,0x00, +0x3400,0x01, +0x33f8,0x01 \ No newline at end of file diff --git a/drivers/net/ethernet/hisilicon/higmac/higmac.c b/drivers/net/ethernet/hisilicon/higmac/higmac.c new file mode 100644 index 000000000..c99f0394f --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/higmac.c @@ -0,0 +1,2930 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "util.h" +#include "higmac.h" +#include "mdio.h" +#include "autoeee/autoeee.h" +#include "sockioctl.h" + +#define REG_BASE_CRG 0xF8A22000 +#define REG_BASE_PERI_CTRL 0xF8A20000 +#define REG_BASE_OTP 0xF8AB0000 +#define REG_OTP_FEPHY_TRIM 0x0320 +#define REG_MASK_OTP_FEPHY_TRIM GENMASK(23, 0) + +#define HAS_TSO_CAP(hw_cap) ((((hw_cap) >> 28) & 0x3) == VER_TSO) +#define HAS_RXHASH_CAP(hw_cap) ((hw_cap) & BIT(30)) +#define HAS_RSS_CAP(hw_cap) ((hw_cap) & BIT(31)) + +#define RGMII_SPEED_1000 0x2c +#define RGMII_SPEED_100 0x2f +#define RGMII_SPEED_10 0x2d +#define MII_SPEED_100 0x0f +#define MII_SPEED_10 0x0d +#define RMII_SPEED_100 0x8f +#define RMII_SPEED_10 0x8d +#define GMAC_FULL_DUPLEX BIT(4) + +/* set irq affinity to cpu1 when multi-processor */ +#define HIGMAC_IRQ_AFFINITY_CPU 2 + +#define DEFAULT_MSG_ENABLE (NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK) +static int debug = -1; +module_param(debug, int, 0); +MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)"); + +static void higmac_config_port(struct net_device *dev, u32 speed, u32 duplex) +{ + struct higmac_netdev_local *priv = netdev_priv(dev); + u32 val; + + switch (priv->phy_mode) { + case PHY_INTERFACE_MODE_RGMII: + if (speed == SPEED_1000) + val = RGMII_SPEED_1000; + else if (speed == SPEED_100) + val = RGMII_SPEED_100; + else + val = RGMII_SPEED_10; + break; + case PHY_INTERFACE_MODE_MII: + if (speed == SPEED_100) + val = MII_SPEED_100; + else + val = MII_SPEED_10; + break; + case PHY_INTERFACE_MODE_RMII: + if (speed == SPEED_100) + val = RMII_SPEED_100; + else + val = RMII_SPEED_10; + break; + default: + netdev_warn(dev, "not supported mode\n"); + val = MII_SPEED_10; + break; + } + + if (duplex) + val |= GMAC_FULL_DUPLEX; + + reset_control_assert(priv->macif_rst); + writel_relaxed(val, priv->macif_base); + reset_control_deassert(priv->macif_rst); + + writel_relaxed(BIT_MODE_CHANGE_EN, priv->gmac_iobase + MODE_CHANGE_EN); + if (speed == SPEED_1000) + val = GMAC_SPEED_1000; + else if (speed == SPEED_100) + val = GMAC_SPEED_100; + else + val = GMAC_SPEED_10; + writel_relaxed(val, priv->gmac_iobase + PORT_MODE); + writel_relaxed(0, priv->gmac_iobase + MODE_CHANGE_EN); + writel_relaxed(duplex, priv->gmac_iobase + MAC_DUPLEX_HALF_CTRL); +} + +static void higmac_set_desc_depth(struct higmac_netdev_local *priv, + int rx, int tx) +{ + u32 reg; + int i; + + writel(BITS_RX_FQ_DEPTH_EN, priv->gmac_iobase + RX_FQ_REG_EN); + writel(rx << DESC_WORD_SHIFT, priv->gmac_iobase + RX_FQ_DEPTH); + writel(0, priv->gmac_iobase + RX_FQ_REG_EN); + + writel(BITS_RX_BQ_DEPTH_EN, priv->gmac_iobase + RX_BQ_REG_EN); + writel(rx << DESC_WORD_SHIFT, priv->gmac_iobase + RX_BQ_DEPTH); + for (i = 1; i < priv->num_rxqs; i++) { + reg = RX_BQ_DEPTH_QUEUE(i); + writel(rx << DESC_WORD_SHIFT, priv->gmac_iobase + reg); + } + writel(0, priv->gmac_iobase + RX_BQ_REG_EN); + + writel(BITS_TX_BQ_DEPTH_EN, priv->gmac_iobase + TX_BQ_REG_EN); + writel(tx << DESC_WORD_SHIFT, priv->gmac_iobase + TX_BQ_DEPTH); + writel(0, priv->gmac_iobase + TX_BQ_REG_EN); + + writel(BITS_TX_RQ_DEPTH_EN, priv->gmac_iobase + TX_RQ_REG_EN); + writel(tx << DESC_WORD_SHIFT, priv->gmac_iobase + TX_RQ_DEPTH); + writel(0, priv->gmac_iobase + TX_RQ_REG_EN); +} + +static void higmac_set_rx_fq(struct higmac_netdev_local *priv, + dma_addr_t phy_addr) +{ + writel(BITS_RX_FQ_START_ADDR_EN, priv->gmac_iobase + RX_FQ_REG_EN); + writel(phy_addr, priv->gmac_iobase + RX_FQ_START_ADDR); + writel(0, priv->gmac_iobase + RX_FQ_REG_EN); +} + +static void higmac_set_rx_bq(struct higmac_netdev_local *priv, + dma_addr_t phy_addr) +{ + writel(BITS_RX_BQ_START_ADDR_EN, priv->gmac_iobase + RX_BQ_REG_EN); + writel(phy_addr, priv->gmac_iobase + RX_BQ_START_ADDR); + writel(0, priv->gmac_iobase + RX_BQ_REG_EN); +} + +static void higmac_set_tx_bq(struct higmac_netdev_local *priv, + dma_addr_t phy_addr) +{ + writel(BITS_TX_BQ_START_ADDR_EN, priv->gmac_iobase + TX_BQ_REG_EN); + writel(phy_addr, priv->gmac_iobase + TX_BQ_START_ADDR); + writel(0, priv->gmac_iobase + TX_BQ_REG_EN); +} + +static void higmac_set_tx_rq(struct higmac_netdev_local *priv, + dma_addr_t phy_addr) +{ + writel(BITS_TX_RQ_START_ADDR_EN, priv->gmac_iobase + TX_RQ_REG_EN); + writel(phy_addr, priv->gmac_iobase + TX_RQ_START_ADDR); + writel(0, priv->gmac_iobase + TX_RQ_REG_EN); +} + +static void higmac_hw_set_desc_addr(struct higmac_netdev_local *priv) +{ + u32 reg; + int i; + + higmac_set_rx_fq(priv, priv->rx_fq.phys_addr); + higmac_set_rx_bq(priv, priv->rx_bq.phys_addr); + higmac_set_tx_rq(priv, priv->tx_rq.phys_addr); + higmac_set_tx_bq(priv, priv->tx_bq.phys_addr); + + for (i = 1; i < priv->num_rxqs; i++) { + reg = RX_BQ_START_ADDR_QUEUE(i); + writel(BITS_RX_BQ_START_ADDR_EN, + priv->gmac_iobase + RX_BQ_REG_EN); + writel(priv->pool[3 + i].phys_addr, priv->gmac_iobase + reg); + writel(0, priv->gmac_iobase + RX_BQ_REG_EN); + } +} + +static void higmac_set_rss_cap(struct higmac_netdev_local *priv) +{ + u32 val; + + val = (priv->has_rxhash_cap << 1) | priv->has_rss_cap; + writel(val, priv->gmac_iobase + HW_CAP_EN); +} + +static void higmac_hw_init(struct higmac_netdev_local *priv) +{ + u32 val; + u32 reg; + int i; + + /* disable and clear all interrupts */ + writel(0, priv->gmac_iobase + ENA_PMU_INT); + writel(~0, priv->gmac_iobase + RAW_PMU_INT); + + for (i = 1; i < priv->num_rxqs; i++) { + reg = RSS_ENA_INT_QUEUE(i); + writel(0, priv->gmac_iobase + reg); + } + writel(~0, priv->gmac_iobase + RSS_RAW_PMU_INT); + + /* enable CRC erro packets filter */ + val = readl(priv->gmac_iobase + REC_FILT_CONTROL); + val |= BIT_CRC_ERR_PASS; + writel(val, priv->gmac_iobase + REC_FILT_CONTROL); + + /* fix bug for udp and ip error check */ + writel(CONTROL_WORD_CONFIG, priv->gmac_iobase + CONTROL_WORD); + + writel(0, priv->gmac_iobase + COL_SLOT_TIME); + + writel(DUPLEX_HALF, priv->gmac_iobase + MAC_DUPLEX_HALF_CTRL); + + /* FIXME: interrupt when rcv packets >= RX_BQ_INT_THRESHOLD */ + val = RX_BQ_INT_THRESHOLD | + (TX_RQ_INT_THRESHOLD << BITS_OFFSET_TX_RQ_IN_TH); + writel(val, priv->gmac_iobase + IN_QUEUE_TH); + + /* FIXME: rx_bq/tx_rq in timeout threshold */ + writel(0x10000, priv->gmac_iobase + RX_BQ_IN_TIMEOUT_TH); + + writel(0x18000, priv->gmac_iobase + TX_RQ_IN_TIMEOUT_TH); + + higmac_set_desc_depth(priv, RX_DESC_NUM, TX_DESC_NUM); +} + +static inline void higmac_irq_enable(struct higmac_netdev_local *ld) +{ + writel(RX_BQ_IN_INT | RX_BQ_IN_TIMEOUT_INT + | TX_RQ_IN_INT | TX_RQ_IN_TIMEOUT_INT, + ld->gmac_iobase + ENA_PMU_INT); +} + +static inline void higmac_irq_enable_queue(struct higmac_netdev_local *ld, + int rxq_id) +{ + if (rxq_id) { + u32 reg; + + reg = RSS_ENA_INT_QUEUE(rxq_id); + writel(~0, ld->gmac_iobase + reg); + } else { + higmac_irq_enable(ld); + } +} + +static inline void higmac_irq_enable_all_queue(struct higmac_netdev_local *ld) +{ + int i; + + for (i = 0; i < ld->num_rxqs; i++) + higmac_irq_enable_queue(ld, i); +} + +static inline void higmac_irq_disable(struct higmac_netdev_local *ld) +{ + writel(0, ld->gmac_iobase + ENA_PMU_INT); +} + +static inline void higmac_irq_disable_queue(struct higmac_netdev_local *ld, + int rxq_id) +{ + if (rxq_id) { + u32 reg; + + reg = RSS_ENA_INT_QUEUE(rxq_id); + writel(0, ld->gmac_iobase + reg); + } else { + higmac_irq_disable(ld); + } +} + +static inline void higmac_irq_disable_all_queue(struct higmac_netdev_local *ld) +{ + int i; + + for (i = 0; i < ld->num_rxqs; i++) + higmac_irq_disable_queue(ld, i); +} + +static inline bool higmac_queue_irq_disabled(struct higmac_netdev_local *ld, + int rxq_id) +{ + u32 reg, val; + + if (rxq_id) + reg = RSS_ENA_INT_QUEUE(rxq_id); + else + reg = ENA_PMU_INT; + val = readl(ld->gmac_iobase + reg); + + return !val; +} + +static inline void higmac_hw_desc_enable(struct higmac_netdev_local *ld) +{ + writel(0xF, ld->gmac_iobase + DESC_WR_RD_ENA); +} + +static inline void higmac_hw_desc_disable(struct higmac_netdev_local *ld) +{ + writel(0, ld->gmac_iobase + DESC_WR_RD_ENA); +} + +static inline void higmac_port_enable(struct higmac_netdev_local *ld) +{ + writel(BITS_TX_EN | BITS_RX_EN, ld->gmac_iobase + PORT_EN); +} + +static inline void higmac_port_disable(struct higmac_netdev_local *ld) +{ + writel(0, ld->gmac_iobase + PORT_EN); +} + +/* set gmac's multicast list, here we setup gmac's mc filter */ +static void higmac_gmac_multicast_list(struct net_device *dev) +{ + struct higmac_netdev_local *ld = netdev_priv(dev); + struct netdev_hw_addr *ha; + unsigned int d = 0; + unsigned int rec_filter; + + rec_filter = readl(ld->gmac_iobase + REC_FILT_CONTROL); + /* when set gmac in promisc mode + * a. dev in IFF_PROMISC mode + */ + if ((dev->flags & IFF_PROMISC)) { + /* promisc mode.received all pkgs. */ + rec_filter &= ~(BIT_BC_DROP_EN | BIT_MC_MATCH_EN | + BIT_UC_MATCH_EN); + } else { + /* drop uc pkgs with field 'DA' not match our's */ + rec_filter |= BIT_UC_MATCH_EN; + + if (dev->flags & IFF_BROADCAST) /* no broadcast */ + rec_filter &= ~BIT_BC_DROP_EN; + else + rec_filter |= BIT_BC_DROP_EN; + + if (netdev_mc_empty(dev) || !(dev->flags & IFF_MULTICAST)) { + /* haven't join any mc group */ + writel(0, ld->gmac_iobase + PORT_MC_ADDR_LOW); + writel(0, ld->gmac_iobase + PORT_MC_ADDR_HIGH); + rec_filter |= BIT_MC_MATCH_EN; + } else if (1 == netdev_mc_count(dev) && + (dev->flags & IFF_MULTICAST)) { + netdev_for_each_mc_addr(ha, dev) { + d = (ha->addr[0] << 8) | (ha->addr[1]); + writel(d, ld->gmac_iobase + PORT_MC_ADDR_HIGH); + + d = (ha->addr[2] << 24) | (ha->addr[3] << 16) + | (ha->addr[4] << 8) | (ha->addr[5]); + writel(d, ld->gmac_iobase + PORT_MC_ADDR_LOW); + } + rec_filter |= BIT_MC_MATCH_EN; + } else { + rec_filter &= ~BIT_MC_MATCH_EN; + } + } + writel(rec_filter, ld->gmac_iobase + REC_FILT_CONTROL); +} + +/* the func stop the hw desc and relaim the software skb resource + * before reusing the gmac, you'd better reset the gmac + */ +void higmac_reclaim_rx_tx_resource(struct higmac_netdev_local *ld) +{ + unsigned long rxflags, txflags; + int rd_offset, wr_offset; + int i; + + higmac_irq_disable_all_queue(ld); + higmac_hw_desc_disable(ld); + writel(STOP_RX_TX, ld->gmac_iobase + STOP_CMD); + + spin_lock_irqsave(&ld->rxlock, rxflags); + /* rx_bq: logic write pointer */ + wr_offset = readl(ld->gmac_iobase + RX_BQ_WR_ADDR); + /* rx_bq: software read pointer */ + rd_offset = readl(ld->gmac_iobase + RX_BQ_RD_ADDR); + /* FIXME: prevent to reclaim skb in rx bottom half */ + writel(wr_offset, ld->gmac_iobase + RX_BQ_RD_ADDR); + + for (i = 1; i < ld->num_rxqs; i++) { + u32 rx_bq_wr_reg, rx_bq_rd_reg; + + rx_bq_wr_reg = RX_BQ_WR_ADDR_QUEUE(i); + rx_bq_rd_reg = RX_BQ_RD_ADDR_QUEUE(i); + + wr_offset = readl(ld->gmac_iobase + rx_bq_wr_reg); + writel(wr_offset, ld->gmac_iobase + rx_bq_rd_reg); + } + + /* rx_fq: software write pointer */ + wr_offset = readl(ld->gmac_iobase + RX_FQ_WR_ADDR); + /* rx_fq: logic read pointer */ + rd_offset = readl(ld->gmac_iobase + RX_FQ_RD_ADDR); + if (!rd_offset) + rd_offset = (RX_DESC_NUM - 1) << DESC_BYTE_SHIFT; + else + rd_offset -= DESC_SIZE; + /* FIXME: stop to feed hw desc */ + writel(rd_offset, ld->gmac_iobase + RX_FQ_WR_ADDR); + + for (i = 0; i < ld->rx_fq.count; i++) { + if (!ld->rx_fq.skb[i]) + ld->rx_fq.skb[i] = SKB_MAGIC; + } + spin_unlock_irqrestore(&ld->rxlock, rxflags); + + /* no need to wait pkts in tx_rq finish to free all skb, + * because higmac_xmit_reclaim is in the tx_lock, + */ + spin_lock_irqsave(&ld->txlock, txflags); + /* tx_rq: logic write */ + wr_offset = readl(ld->gmac_iobase + TX_RQ_WR_ADDR); + /* tx_rq: software read */ + rd_offset = readl(ld->gmac_iobase + TX_RQ_RD_ADDR); + /* FIXME: stop to reclaim tx skb */ + writel(wr_offset, ld->gmac_iobase + TX_RQ_RD_ADDR); + + /* tx_bq: logic read */ + rd_offset = readl(ld->gmac_iobase + TX_BQ_RD_ADDR); + if (!rd_offset) + rd_offset = (TX_DESC_NUM - 1) << DESC_BYTE_SHIFT; + else + rd_offset -= DESC_SIZE; + /* FIXME: stop software tx skb */ + writel(rd_offset, ld->gmac_iobase + TX_BQ_WR_ADDR); + + for (i = 0; i < ld->tx_bq.count; i++) { + if (!ld->tx_bq.skb[i]) + ld->tx_bq.skb[i] = SKB_MAGIC; + } + spin_unlock_irqrestore(&ld->txlock, txflags); +} + +static void higmac_monitor_func(unsigned long arg); +static void higmac_set_multicast_list(struct net_device *dev); + +static void higmac_hw_set_mac_addr(struct net_device *dev) +{ + struct higmac_netdev_local *priv = netdev_priv(dev); + unsigned char *mac = dev->dev_addr; + u32 val; + + val = mac[1] | (mac[0] << 8); + writel(val, priv->gmac_iobase + STATION_ADDR_HIGH); + + val = mac[5] | (mac[4] << 8) | (mac[3] << 16) | (mac[2] << 24); + writel(val, priv->gmac_iobase + STATION_ADDR_LOW); +} + +static void higmac_rx_refill(struct higmac_netdev_local *priv); + +/* reset and re-config gmac */ +void higmac_restart(struct higmac_netdev_local *ld) +{ + unsigned long rxflags, txflags; + struct sk_buff *skb = NULL; + int i; + + spin_lock_irqsave(&ld->rxlock, rxflags); + spin_lock_irqsave(&ld->txlock, txflags); + + for (i = 0; i < ld->rx_fq.count; i++) { + skb = ld->rx_fq.skb[i]; + if (skb) { + ld->rx_skb[i] = NULL; + ld->rx_fq.skb[i] = NULL; + if (skb == SKB_MAGIC) + continue; + dev_kfree_skb_any(skb); + /* TODO: need to unmap the skb here + * but there is no way to get the dma_addr here, + * and unmap(TO_DEVICE) ops do nothing in fact, + * so we ignore to call + * dma_unmap_single(dev, dma_addr, skb->len, + * DMA_TO_DEVICE) + */ + } + } + + for (i = 0; i < ld->tx_bq.count; i++) { + skb = ld->tx_bq.skb[i]; + if (skb) { + ld->tx_skb[i] = NULL; + ld->tx_bq.skb[i] = NULL; + if (skb == SKB_MAGIC) + continue; + netdev_completed_queue(ld->netdev, 1, skb->len); + dev_kfree_skb_any(skb); + /* TODO: unmap the skb */ + } + } + + pmt_reg_restore(ld); + higmac_hw_init(ld); + higmac_hw_set_mac_addr(ld->netdev); + higmac_hw_set_desc_addr(ld); + + /* we don't set macif here, it will be set in adjust_link */ + if (netif_running(ld->netdev)) { + /* when resume, only do the following operations + * when dev is up before suspend. + */ + higmac_rx_refill(ld); + higmac_set_multicast_list(ld->netdev); + + higmac_hw_desc_enable(ld); + higmac_port_enable(ld); + higmac_irq_enable_all_queue(ld); + } + spin_unlock_irqrestore(&ld->txlock, txflags); + spin_unlock_irqrestore(&ld->rxlock, rxflags); +} + +static int higmac_net_set_mac_address(struct net_device *dev, void *p) +{ + struct sockaddr *addr = p; + + if (!is_valid_ether_addr(addr->sa_data)) + return -EADDRNOTAVAIL; + + eth_commit_mac_addr_change(dev, p); + dev->addr_assign_type &= ~NET_ADDR_RANDOM; + + higmac_hw_set_mac_addr(dev); + + return 0; +} + +#if defined(CONFIG_ARCH_S40) || defined(CONFIG_ARCH_HI3716MV420N) +#define HIGMAC_LINK_CHANGE_PROTECT +#endif + +#ifdef HIGMAC_LINK_CHANGE_PROTECT +#define HIGMAC_MS_TO_NS (1000000ULL) +#define HIGMAC_FLUSH_WAIT_TIME (100*HIGMAC_MS_TO_NS) +/* protect code */ +static void higmac_linkup_flush(struct higmac_netdev_local *ld) +{ + int tx_bq_wr_offset, tx_bq_rd_offset; + unsigned long long time_limit, time_now; + + time_now = sched_clock(); + time_limit = time_now + HIGMAC_FLUSH_WAIT_TIME; + + do { + tx_bq_wr_offset = readl(ld->gmac_iobase + TX_BQ_WR_ADDR); + tx_bq_rd_offset = readl(ld->gmac_iobase + TX_BQ_RD_ADDR); + + time_now = sched_clock(); + if (unlikely((long long)time_now - + (long long)time_limit >= 0)) + break; + } while (tx_bq_rd_offset != tx_bq_wr_offset); + + mdelay(1); +} +#endif + +static void higmac_disable_phy_eee(struct phy_device *phydev) +{ + int eee_adv; + + eee_adv = phy_read_mmd_indirect(phydev, MDIO_AN_EEE_ADV, + MDIO_MMD_AN, phydev->addr); + if (eee_adv <= 0) + return; + + eee_adv &= ~(MDIO_AN_EEE_ADV_100TX | MDIO_AN_EEE_ADV_1000T); + + phy_write_mmd_indirect(phydev, MDIO_AN_EEE_ADV, MDIO_MMD_AN, + phydev->addr, eee_adv); +} + +static void higmac_adjust_link(struct net_device *dev) +{ + struct higmac_netdev_local *priv = netdev_priv(dev); + struct phy_device *phy = priv->phy; + bool link_status_changed = false; + + if (phy->link) { + if ((priv->old_speed != phy->speed) || + (priv->old_duplex != phy->duplex)) { +#ifdef HIGMAC_LINK_CHANGE_PROTECT + unsigned long txflags; + + spin_lock_irqsave(&priv->txlock, txflags); + + higmac_linkup_flush(priv); +#endif + higmac_config_port(dev, phy->speed, phy->duplex); +#ifdef HIGMAC_LINK_CHANGE_PROTECT + spin_unlock_irqrestore(&priv->txlock, txflags); +#endif + if (priv->autoeee) + init_autoeee(priv); + else + higmac_disable_phy_eee(priv->phy); + + link_status_changed = true; + priv->old_link = 1; + priv->old_speed = phy->speed; + priv->old_duplex = phy->duplex; + } + } else if (priv->old_link) { + link_status_changed = true; + priv->old_link = 0; + priv->old_speed = SPEED_UNKNOWN; + priv->old_duplex = DUPLEX_UNKNOWN; + } + + if (link_status_changed && netif_msg_link(priv)) + phy_print_status(phy); +} + +int higmac_tx_avail(struct higmac_netdev_local *ld) +{ + int tx_bq_wr_offset, tx_bq_rd_offset; + + tx_bq_wr_offset = readl(ld->gmac_iobase + TX_BQ_WR_ADDR); + tx_bq_rd_offset = readl(ld->gmac_iobase + TX_BQ_RD_ADDR); + + return (tx_bq_rd_offset >> DESC_BYTE_SHIFT) + TX_DESC_NUM + - (tx_bq_wr_offset >> DESC_BYTE_SHIFT) - 1; +} + +static int higmac_init_sg_desc_queue(struct higmac_netdev_local *ld) +{ + ld->sg_count = ld->tx_bq.count + HIGMAC_SG_DESC_ADD; + ld->dma_sg_desc = (struct sg_desc *)dma_alloc_coherent(ld->dev, + ld->sg_count * sizeof(struct sg_desc), + &ld->dma_sg_phy, GFP_KERNEL); + + if (ld->dma_sg_desc == NULL) { + pr_err("alloc sg desc dma error!\n"); + return -ENOMEM; + } +#ifdef HIGMAC_TSO_DEBUG + pr_info("Higmac dma_sg_phy: 0x%p\n", (void *)ld->dma_sg_phy); +#endif + + ld->sg_head = 0; + ld->sg_tail = 0; + + return 0; +} + +static void higmac_destroy_sg_desc_queue(struct higmac_netdev_local *ld) +{ + if (ld->dma_sg_desc) { + dma_free_coherent(ld->dev, + ld->sg_count * sizeof(struct sg_desc), + ld->dma_sg_desc, ld->dma_sg_phy); + ld->dma_sg_desc = NULL; + } +} + +static void higmac_monitor_func(unsigned long arg) +{ + struct net_device *dev = (struct net_device *)arg; + struct higmac_netdev_local *ld = netdev_priv(dev); + + if (!ld || !netif_running(dev)) { + higmac_trace(7, "network driver is stopped."); + return; + } + + spin_lock(&ld->rxlock); + higmac_rx_refill(ld); + spin_unlock(&ld->rxlock); + + ld->monitor.expires = jiffies + HIGMAC_MONITOR_TIMER; + mod_timer(&ld->monitor, ld->monitor.expires); +} + +static void higmac_rx_refill(struct higmac_netdev_local *priv) +{ + struct higmac_desc *desc; + struct sk_buff *skb; + u32 start, end, num, pos, i; + u32 len = HIETH_MAX_FRAME_SIZE; + dma_addr_t addr; + + /* software write pointer */ + start = dma_cnt(readl(priv->gmac_iobase + RX_FQ_WR_ADDR)); + /* logic read pointer */ + end = dma_cnt(readl(priv->gmac_iobase + RX_FQ_RD_ADDR)); + num = CIRC_SPACE(start, end, RX_DESC_NUM); + + for (i = 0, pos = start; i < num; i++) { + if (priv->rx_fq.skb[pos] || priv->rx_skb[pos]) + break; + + skb = netdev_alloc_skb_ip_align(priv->netdev, len); + if (unlikely(!skb)) + break; + + addr = dma_map_single(priv->dev, skb->data, len, + DMA_FROM_DEVICE); + if (dma_mapping_error(priv->dev, addr)) { + dev_kfree_skb_any(skb); + break; + } + + desc = priv->rx_fq.desc + pos; + desc->data_buff_addr = addr; + priv->rx_fq.skb[pos] = skb; + priv->rx_skb[pos] = skb; + + desc->buffer_len = len - 1; + desc->data_len = 0; + desc->fl = 0; + desc->descvid = DESC_VLD_FREE; + desc->skb_id = pos; + + pos = dma_ring_incr(pos, RX_DESC_NUM); + } + + /* This barrier is important here. It is required to ensure + * the ARM CPU flushes it's DMA write buffers before proceeding + * to the next instruction, to ensure that GMAC will see + * our descriptor changes in memory + */ + HIGMAC_SYNC_BARRIER(); + + if (pos != start) + writel(dma_byte(pos), priv->gmac_iobase + RX_FQ_WR_ADDR); +} + +static int higmac_rx(struct net_device *dev, int limit, int rxq_id) +{ + struct higmac_netdev_local *ld = netdev_priv(dev); + struct sk_buff *skb; + struct higmac_desc *desc; + dma_addr_t addr; + u32 start, end, num, pos, i, len; + u32 rx_bq_rd_reg, rx_bq_wr_reg; + u16 skb_id; + + rx_bq_rd_reg = RX_BQ_RD_ADDR_QUEUE(rxq_id); + rx_bq_wr_reg = RX_BQ_WR_ADDR_QUEUE(rxq_id); + + /* software read pointer */ + start = dma_cnt(readl(ld->gmac_iobase + rx_bq_rd_reg)); + /* logic write pointer */ + end = dma_cnt(readl(ld->gmac_iobase + rx_bq_wr_reg)); + num = CIRC_CNT(end, start, RX_DESC_NUM); + if (num > limit) + num = limit; + + /* ensure get updated desc */ + rmb(); + for (i = 0, pos = start; i < num; i++) { + if (rxq_id) + desc = ld->pool[3 + rxq_id].desc + pos; + else + desc = ld->rx_bq.desc + pos; + skb_id = desc->skb_id; + + spin_lock(&ld->rxlock); + skb = ld->rx_skb[skb_id]; + if (unlikely(!skb)) { + spin_unlock(&ld->rxlock); + netdev_err(dev, "inconsistent rx_skb\n"); + break; + } + + /* data consistent check */ + if (unlikely(skb != ld->rx_fq.skb[skb_id])) { + netdev_err(dev, "desc->skb(0x%p),rx_fq.skb[%d](0x%p)\n", + skb, skb_id, ld->rx_fq.skb[skb_id]); + if (ld->rx_fq.skb[skb_id] == SKB_MAGIC) { + spin_unlock(&ld->rxlock); + goto next; + } + BUG_ON(1); + } else { + ld->rx_fq.skb[skb_id] = NULL; + } + spin_unlock(&ld->rxlock); + + len = desc->data_len; + + addr = desc->data_buff_addr; + dma_unmap_single(ld->dev, addr, HIETH_MAX_FRAME_SIZE, + DMA_FROM_DEVICE); + + skb_put(skb, len); + if (skb->len > HIETH_MAX_FRAME_SIZE) { + netdev_err(dev, "rcv len err, len = %d\n", skb->len); + dev->stats.rx_errors++; + dev->stats.rx_length_errors++; + dev_kfree_skb_any(skb); + goto next; + } + + skb->protocol = eth_type_trans(skb, dev); + skb->ip_summed = CHECKSUM_NONE; +#if defined(CONFIG_HIGMAC_RXCSUM) + if (dev->features & NETIF_F_RXCSUM) { + int hdr_csum_done = + desc->header_csum_done; + int payload_csum_done = + desc->payload_csum_done; + int hdr_csum_err = + desc->header_csum_err; + int payload_csum_err = + desc->payload_csum_err; + + if (hdr_csum_done && payload_csum_done) { + if (unlikely(hdr_csum_err || + payload_csum_err)) { + dev->stats.rx_errors++; + dev->stats.rx_crc_errors++; + dev_kfree_skb_any(skb); + goto next; + } else { + skb->ip_summed = CHECKSUM_UNNECESSARY; + } + } + } +#endif + if ((dev->features & NETIF_F_RXHASH) && desc->has_hash) + skb_set_hash(skb, desc->rxhash, desc->l3_hash ? + PKT_HASH_TYPE_L3 : PKT_HASH_TYPE_L4); + + skb_record_rx_queue(skb, rxq_id); + + napi_gro_receive(&ld->q_napi[rxq_id].napi, skb); + dev->stats.rx_packets++; + dev->stats.rx_bytes += skb->len; + dev->last_rx = jiffies; +next: + spin_lock(&ld->rxlock); + ld->rx_skb[skb_id] = NULL; + spin_unlock(&ld->rxlock); + pos = dma_ring_incr(pos, RX_DESC_NUM); + } + + if (pos != start) + writel(dma_byte(pos), ld->gmac_iobase + rx_bq_rd_reg); + + spin_lock(&ld->rxlock); + higmac_rx_refill(ld); + spin_unlock(&ld->rxlock); + + return num; +} + +#ifdef HIGMAC_TSO_DEBUG +unsigned int id_send; +unsigned int id_free; +struct send_pkt_info pkt_rec[MAX_RECORD]; +#endif + +static int higmac_check_tx_err(struct higmac_netdev_local *ld, + struct higmac_tso_desc *tx_bq_desc, + unsigned int desc_pos) +{ + unsigned int tx_err = tx_bq_desc->tx_err; + + if (unlikely(tx_err & ERR_ALL)) { + struct sg_desc *desc_cur; + int *sg_word; + int i; + + WARN((tx_err & ERR_ALL), + "TX ERR: desc1=0x%x, desc2=0x%x, desc5=0x%x\n", + tx_bq_desc->data_buff_addr, + tx_bq_desc->desc1.val, tx_bq_desc->tx_err); + + desc_cur = ld->dma_sg_desc + ld->tx_bq.sg_desc_offset[desc_pos]; + sg_word = (int *)desc_cur; + for (i = 0; i < sizeof(struct sg_desc) / sizeof(int); i++) + pr_err("%s,%d: sg_desc word[%d]=0x%x\n", + __func__, __LINE__, i, sg_word[i]); + + return -1; + } + + return 0; +} + +static int higmac_xmit_release_gso(struct higmac_netdev_local *ld, + struct higmac_tso_desc *tx_bq_desc, + unsigned int desc_pos) +{ + struct sk_buff *skb = ld->tx_skb[desc_pos]; + int pkt_type; + int nfrags = skb_shinfo(skb)->nr_frags; + dma_addr_t addr; + size_t len; + + if (unlikely(higmac_check_tx_err(ld, tx_bq_desc, desc_pos) < 0)) { + /* dev_close */ + higmac_irq_disable_all_queue(ld); + higmac_hw_desc_disable(ld); + + netif_carrier_off(ld->netdev); + netif_stop_queue(ld->netdev); + + phy_stop(ld->phy); + del_timer_sync(&ld->monitor); + return -1; + } + + if (skb_is_gso(skb) || nfrags) + pkt_type = PKT_SG; + else + pkt_type = PKT_NORMAL; + + if (pkt_type == PKT_NORMAL) { + addr = tx_bq_desc->data_buff_addr; + dma_unmap_single(ld->dev, addr, skb->len, DMA_TO_DEVICE); + } else { + struct sg_desc *desc_cur; + unsigned int desc_offset; + int i; + + desc_offset = ld->tx_bq.sg_desc_offset[desc_pos]; + BUG_ON(desc_offset != ld->sg_tail); + desc_cur = ld->dma_sg_desc + desc_offset; + + addr = desc_cur->linear_addr; + len = desc_cur->linear_len; + dma_unmap_single(ld->dev, addr, len, DMA_TO_DEVICE); + for (i = 0; i < nfrags; i++) { + addr = desc_cur->frags[i].addr; + len = desc_cur->frags[i].size; + dma_unmap_page(ld->dev, addr, len, DMA_TO_DEVICE); + } + + ld->sg_tail = (ld->sg_tail + 1) % ld->sg_count; + } + +#ifdef HIGMAC_TSO_DEBUG + pkt_rec[id_free].status = 0; + id_free++; + if (id_free == MAX_RECORD) + id_free = 0; +#endif + + return 0; +} + +static void higmac_xmit_reclaim(struct net_device *dev) +{ + struct sk_buff *skb; + struct higmac_desc *desc; + struct higmac_tso_desc *tso_desc; + struct higmac_netdev_local *priv = netdev_priv(dev); + unsigned int bytes_compl = 0, pkts_compl = 0; + u32 start, end, num, pos, i; + dma_addr_t addr; + int ret; + + spin_lock(&priv->txlock); + + /* software read */ + start = dma_cnt(readl(priv->gmac_iobase + TX_RQ_RD_ADDR)); + /* logic write */ + end = dma_cnt(readl(priv->gmac_iobase + TX_RQ_WR_ADDR)); + num = CIRC_CNT(end, start, TX_DESC_NUM); + + for (i = 0, pos = start; i < num; i++) { + skb = priv->tx_skb[pos]; + if (unlikely(!skb)) { + netdev_err(dev, "inconsistent tx_skb\n"); + break; + } + + if (skb != priv->tx_bq.skb[pos]) { + netdev_err(dev, "wired, tx skb[%d](%p) != skb(%p)\n", + pos, priv->tx_bq.skb[pos], skb); + if (priv->tx_bq.skb[pos] == SKB_MAGIC) + goto next; + } + + pkts_compl++; + bytes_compl += skb->len; + desc = priv->tx_rq.desc + pos; + if (priv->tso_supported) { + tso_desc = (struct higmac_tso_desc *)desc; + ret = higmac_xmit_release_gso(priv, tso_desc, pos); + if (ret < 0) + break; + } else { + addr = desc->data_buff_addr; + dma_unmap_single(priv->dev, addr, skb->len, + DMA_TO_DEVICE); + } + priv->tx_bq.skb[pos] = NULL; +next: + priv->tx_skb[pos] = NULL; + dev_consume_skb_any(skb); + pos = dma_ring_incr(pos, TX_DESC_NUM); + } + + if (pos != start) + writel(dma_byte(pos), priv->gmac_iobase + TX_RQ_RD_ADDR); + + if (pkts_compl || bytes_compl) + netdev_completed_queue(dev, pkts_compl, bytes_compl); + + if (unlikely(netif_queue_stopped(priv->netdev)) && pkts_compl) + netif_wake_queue(priv->netdev); + + spin_unlock(&priv->txlock); +} + +static int higmac_poll(struct napi_struct *napi, int budget) +{ + struct higmac_napi *q_napi = container_of(napi, + struct higmac_napi, napi); + struct higmac_netdev_local *priv = q_napi->ndev_priv; + struct net_device *dev = priv->netdev; + int work_done = 0, task = budget; + int ints, num; + u32 raw_int_reg, raw_int_mask; + + if (q_napi->rxq_id) { + raw_int_reg = RSS_RAW_PMU_INT; + raw_int_mask = DEF_INT_MASK_QUEUE(q_napi->rxq_id); + } else { + raw_int_reg = RAW_PMU_INT; + raw_int_mask = DEF_INT_MASK; + } + + do { + if (!q_napi->rxq_id) + higmac_xmit_reclaim(dev); + num = higmac_rx(dev, task, q_napi->rxq_id); + work_done += num; + task -= num; + if (work_done >= budget) + break; + + ints = readl(priv->gmac_iobase + raw_int_reg); + ints &= raw_int_mask; + writel(ints, priv->gmac_iobase + raw_int_reg); + } while (ints); + + if (work_done < budget) { + napi_complete(napi); + higmac_irq_enable_queue(priv, q_napi->rxq_id); + } + + return work_done; +} + +static irqreturn_t higmac_interrupt(int irq, void *dev_id) +{ + struct higmac_napi *q_napi = (struct higmac_napi *)dev_id; + struct higmac_netdev_local *ld = q_napi->ndev_priv; + int ints; + u32 raw_int_reg, raw_int_mask; + + if (higmac_queue_irq_disabled(ld, q_napi->rxq_id)) + return IRQ_NONE; + + if (q_napi->rxq_id) { + raw_int_reg = RSS_RAW_PMU_INT; + raw_int_mask = DEF_INT_MASK_QUEUE(q_napi->rxq_id); + } else { + raw_int_reg = RAW_PMU_INT; + raw_int_mask = DEF_INT_MASK; + } + + ints = readl(ld->gmac_iobase + raw_int_reg); + ints &= raw_int_mask; + writel(ints, ld->gmac_iobase + raw_int_reg); + + if (likely(ints)) { + higmac_irq_disable_queue(ld, q_napi->rxq_id); + napi_schedule(&q_napi->napi); + } + + return IRQ_HANDLED; +} + +static inline __be16 higmac_get_l3_proto(struct sk_buff *skb) +{ + __be16 l3_proto; + + l3_proto = skb->protocol; + if (skb->protocol == htons(ETH_P_8021Q)) + l3_proto = vlan_get_protocol(skb); + + return l3_proto; +} + +static inline unsigned int higmac_get_l4_proto(struct sk_buff *skb) +{ + __be16 l3_proto; + unsigned int l4_proto = IPPROTO_MAX; + + l3_proto = higmac_get_l3_proto(skb); + if (l3_proto == htons(ETH_P_IP)) + l4_proto = ip_hdr(skb)->protocol; + else if (l3_proto == htons(ETH_P_IPV6)) + l4_proto = ipv6_hdr(skb)->nexthdr; + + return l4_proto; +} + +static inline bool higmac_skb_is_ipv6(struct sk_buff *skb) +{ + return (higmac_get_l3_proto(skb) == htons(ETH_P_IPV6)); +} + +static inline bool higmac_skb_is_udp(struct sk_buff *skb) +{ + return (higmac_get_l4_proto(skb) == IPPROTO_UDP); +} + +static int higmac_check_hw_capability_for_udp(struct sk_buff *skb) +{ + struct ethhdr *eth; + + /* hardware can't dea with UFO broadcast packet */ + eth = (struct ethhdr *)(skb->data); + if (skb_is_gso(skb) && is_broadcast_ether_addr(eth->h_dest)) + return -ENOTSUPP; + + return 0; +} + +static int higmac_check_hw_capability_for_ipv6(struct sk_buff *skb) +{ + unsigned int l4_proto = IPPROTO_MAX; + + l4_proto = ipv6_hdr(skb)->nexthdr; + + if ((l4_proto != IPPROTO_TCP) && (l4_proto != IPPROTO_UDP)) { + /* when IPv6 next header is not tcp or udp, + * it means that IPv6 next header is extension header. + * Hardware can't deal with this case, + * so do checksumming by software or do GSO by software. + */ + if (skb_is_gso(skb)) + return -ENOTSUPP; + + if (skb->ip_summed == CHECKSUM_PARTIAL && + skb_checksum_help(skb)) + return -EFAULT; + } + + return 0; +} + +static inline bool higmac_skb_is_ipv4_with_options(struct sk_buff *skb) +{ + return ((higmac_get_l3_proto(skb) == htons(ETH_P_IP)) && + (ip_hdr(skb)->ihl > 5)); +} + +static int higmac_check_hw_capability(struct sk_buff *skb) +{ + int ret = 0; + + /* if tcp_mtu_probe() use (2 * tp->mss_cache) as probe_size, + * the linear data length will be larger than 2048, + * the MAC can't handle it, so let the software do it. + */ + if (skb_is_gso(skb) && (skb_headlen(skb) > 2048)) + return -ENOTSUPP; + + if (higmac_skb_is_ipv6(skb)) { + ret = higmac_check_hw_capability_for_ipv6(skb); + if (ret) + return ret; + } + + if (higmac_skb_is_udp(skb)) { + ret = higmac_check_hw_capability_for_udp(skb); + if (ret) + return ret; + } + + if (((skb->ip_summed == CHECKSUM_PARTIAL) || skb_is_gso(skb)) && + higmac_skb_is_ipv4_with_options(skb)) + return -ENOTSUPP; + + return 0; +} + +static void higmac_do_udp_checksum(struct sk_buff *skb) +{ + int offset; + __wsum csum; + __sum16 udp_csum; + + offset = skb_checksum_start_offset(skb); + WARN_ON(offset >= skb_headlen(skb)); + csum = skb_checksum(skb, offset, skb->len - offset, 0); + + offset += skb->csum_offset; + BUG_ON(offset + sizeof(__sum16) > skb_headlen(skb)); + udp_csum = csum_fold(csum); + if (udp_csum == 0) + udp_csum = CSUM_MANGLED_0; + + *(__sum16 *)(skb->data + offset) = udp_csum; + + skb->ip_summed = CHECKSUM_NONE; +} + +static void higmac_get_pkt_info(struct higmac_netdev_local *ld, + struct sk_buff *skb, + struct higmac_tso_desc *tx_bq_desc) +{ + int nfrags = skb_shinfo(skb)->nr_frags; + + __be16 l3_proto; /* level 3 protocol */ + unsigned int l4_proto = IPPROTO_MAX; + unsigned int max_mss = ETH_DATA_LEN; + unsigned char coe_enable = 0; + int max_data_len = skb->len - ETH_HLEN; + + if (likely(skb->ip_summed == CHECKSUM_PARTIAL)) + coe_enable = 1; + + tx_bq_desc->desc1.val = 0; + + if (skb_is_gso(skb)) { + tx_bq_desc->desc1.tx.tso_flag = 1; + tx_bq_desc->desc1.tx.sg_flag = 1; + } else if (nfrags) { + tx_bq_desc->desc1.tx.sg_flag = 1; + } + + l3_proto = skb->protocol; + if (skb->protocol == htons(ETH_P_8021Q)) { + l3_proto = vlan_get_protocol(skb); + tx_bq_desc->desc1.tx.vlan_flag = 1; + max_data_len -= VLAN_HLEN; + } + + if (l3_proto == htons(ETH_P_IP)) { + struct iphdr *iph; + + iph = ip_hdr(skb); + tx_bq_desc->desc1.tx.ip_ver = PKT_IPV4; + tx_bq_desc->desc1.tx.ip_hdr_len = iph->ihl; + + if ((max_data_len >= GSO_MAX_SIZE) && + (ntohs(iph->tot_len) <= (iph->ihl << 2))) + iph->tot_len = htons(GSO_MAX_SIZE - 1); + + max_mss -= iph->ihl * WORD_TO_BYTE; + l4_proto = iph->protocol; + } else if (l3_proto == htons(ETH_P_IPV6)) { + tx_bq_desc->desc1.tx.ip_ver = PKT_IPV6; + tx_bq_desc->desc1.tx.ip_hdr_len = PKT_IPV6_HDR_LEN; + max_mss -= PKT_IPV6_HDR_LEN * WORD_TO_BYTE; + l4_proto = ipv6_hdr(skb)->nexthdr; + } else { + coe_enable = 0; + } + + if (l4_proto == IPPROTO_TCP) { + tx_bq_desc->desc1.tx.prot_type = PKT_TCP; + tx_bq_desc->desc1.tx.prot_hdr_len = tcp_hdr(skb)->doff; + max_mss -= tcp_hdr(skb)->doff * WORD_TO_BYTE; + } else if (l4_proto == IPPROTO_UDP) { + tx_bq_desc->desc1.tx.prot_type = PKT_UDP; + tx_bq_desc->desc1.tx.prot_hdr_len = PKT_UDP_HDR_LEN; + if (l3_proto == htons(ETH_P_IPV6)) + max_mss -= sizeof(struct frag_hdr); + } else { + coe_enable = 0; + } + + if (skb_is_gso(skb)) + tx_bq_desc->desc1.tx.data_len = + (skb_shinfo(skb)->gso_size > max_mss) ? max_mss : + skb_shinfo(skb)->gso_size; + else + tx_bq_desc->desc1.tx.data_len = skb->len; + + if (coe_enable && skb_is_gso(skb) && (l4_proto == IPPROTO_UDP)) + higmac_do_udp_checksum(skb); + + if (coe_enable) + tx_bq_desc->desc1.tx.coe_flag = 1; + + tx_bq_desc->desc1.tx.nfrags_num = nfrags; + + tx_bq_desc->desc1.tx.hw_own = DESC_VLD_BUSY; +} + +static int higmac_xmit_gso(struct higmac_netdev_local *ld, struct sk_buff *skb, + struct higmac_tso_desc *tx_bq_desc, + unsigned int desc_pos) +{ + int pkt_type = PKT_NORMAL; + int nfrags = skb_shinfo(skb)->nr_frags; + dma_addr_t addr; + int ret; + + if (skb_is_gso(skb) || nfrags) { + /* TSO pkt or SG pkt */ + pkt_type = PKT_SG; + } else { /* Normal pkt */ + pkt_type = PKT_NORMAL; + } + + ret = higmac_check_hw_capability(skb); + if (unlikely(ret)) + return ret; + + higmac_get_pkt_info(ld, skb, tx_bq_desc); + + if (pkt_type == PKT_NORMAL) { + addr = dma_map_single(ld->dev, skb->data, skb->len, + DMA_TO_DEVICE); + ret = dma_mapping_error(ld->dev, addr); + if (unlikely(ret)) { + pr_err("Normal Packet DMA Mapping fail.\n"); + return -EFAULT; + } + tx_bq_desc->data_buff_addr = addr; + } else { + struct sg_desc *desc_cur; + int i; + + if (unlikely(((ld->sg_head + 1) % ld->sg_count) == + ld->sg_tail)) { + /* SG pkt, but sg desc all used */ + pr_err("WARNING: sg desc all used.\n"); + return -EBUSY; + } + + desc_cur = ld->dma_sg_desc + ld->sg_head; + + /* TODO: deal with ipv6_id */ + if (tx_bq_desc->desc1.tx.tso_flag && + tx_bq_desc->desc1.tx.ip_ver == PKT_IPV6 && + tx_bq_desc->desc1.tx.prot_type == PKT_UDP) { + desc_cur->ipv6_id = ntohl(skb_shinfo(skb)->ip6_frag_id); + } + + desc_cur->total_len = skb->len; + desc_cur->linear_len = skb_headlen(skb); + addr = dma_map_single(ld->dev, skb->data, desc_cur->linear_len, + DMA_TO_DEVICE); + ret = dma_mapping_error(ld->dev, addr); + if (unlikely(ret)) { + pr_err("DMA Mapping fail."); + return -EFAULT; + } + desc_cur->linear_addr = addr; + + for (i = 0; i < nfrags; i++) { + skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; + int len = frag->size; + + addr = skb_frag_dma_map(ld->dev, frag, 0, len, + DMA_TO_DEVICE); + ret = dma_mapping_error(ld->dev, addr); + if (unlikely(ret)) { + pr_err("skb frag DMA Mapping fail."); + return -EFAULT; + } + desc_cur->frags[i].addr = addr; + desc_cur->frags[i].size = len; + } + tx_bq_desc->data_buff_addr = ld->dma_sg_phy + + ld->sg_head * sizeof(struct sg_desc); + ld->tx_bq.sg_desc_offset[desc_pos] = ld->sg_head; + + ld->sg_head = (ld->sg_head + 1) % ld->sg_count; + } + +#ifdef HIGMAC_TSO_DEBUG + memcpy(&pkt_rec[id_send].desc, tx_bq_desc, + sizeof(struct higmac_tso_desc)); + pkt_rec[id_send].status = 1; + id_send++; + if (id_send == MAX_RECORD) + id_send = 0; +#endif + return 0; +} + +static netdev_tx_t higmac_net_xmit(struct sk_buff *skb, struct net_device *dev); + +static netdev_tx_t higmac_sw_gso(struct higmac_netdev_local *ld, + struct sk_buff *skb) +{ + struct sk_buff *segs, *curr_skb; + int gso_segs = skb_shinfo(skb)->gso_segs; + + if (gso_segs == 0 && skb_shinfo(skb)->gso_size != 0) + gso_segs = DIV_ROUND_UP(skb->len, skb_shinfo(skb)->gso_size); + + /* Estimate the number of fragments in the worst case */ + if (unlikely(higmac_tx_avail(ld) < gso_segs)) { + netif_stop_queue(ld->netdev); + if (higmac_tx_avail(ld) < gso_segs) { + ld->netdev->stats.tx_dropped++; + ld->netdev->stats.tx_fifo_errors++; + return NETDEV_TX_BUSY; + } + + netif_wake_queue(ld->netdev); + } + + segs = skb_gso_segment(skb, ld->netdev->features & ~(NETIF_F_ALL_CSUM | + NETIF_F_SG | NETIF_F_GSO_SOFTWARE)); + + if (IS_ERR_OR_NULL(segs)) + goto drop; + + do { + curr_skb = segs; + segs = segs->next; + curr_skb->next = NULL; + higmac_net_xmit(curr_skb, ld->netdev); + } while (segs); + + dev_kfree_skb_any(skb); + return NETDEV_TX_OK; + +drop: + dev_kfree_skb_any(skb); + ld->netdev->stats.tx_dropped++; + return NETDEV_TX_OK; +} + +static netdev_tx_t higmac_net_xmit(struct sk_buff *skb, struct net_device *dev) +{ + struct higmac_netdev_local *ld = netdev_priv(dev); + struct higmac_desc *desc; + dma_addr_t addr; + unsigned long txflags; + int ret; + u32 pos; + + /* if adding higmac_xmit_reclaim here, iperf tcp client + * performance will be affected, from 550M(avg) to 513M~300M + */ + + /* software write pointer */ + pos = dma_cnt(readl(ld->gmac_iobase + TX_BQ_WR_ADDR)); + + spin_lock_irqsave(&ld->txlock, txflags); + + if (unlikely(ld->tx_skb[pos] || ld->tx_bq.skb[pos])) { + dev->stats.tx_dropped++; + dev->stats.tx_fifo_errors++; + netif_stop_queue(dev); + spin_unlock_irqrestore(&ld->txlock, txflags); + + return NETDEV_TX_BUSY; + } + + ld->tx_bq.skb[pos] = skb; + ld->tx_skb[pos] = skb; + + desc = ld->tx_bq.desc + pos; + + if (ld->tso_supported) { + ret = higmac_xmit_gso(ld, skb, + (struct higmac_tso_desc *)desc, + pos); + if (unlikely(ret < 0)) { + ld->tx_skb[pos] = NULL; + ld->tx_bq.skb[pos] = NULL; + spin_unlock_irqrestore(&ld->txlock, txflags); + + if (ret == -ENOTSUPP) + return higmac_sw_gso(ld, skb); + + dev_kfree_skb_any(skb); + dev->stats.tx_dropped++; + return NETDEV_TX_OK; + } + } else { + addr = dma_map_single(ld->dev, skb->data, skb->len, + DMA_TO_DEVICE); + if (unlikely(dma_mapping_error(ld->dev, addr))) { + dev_kfree_skb_any(skb); + dev->stats.tx_dropped++; + ld->tx_skb[pos] = NULL; + ld->tx_bq.skb[pos] = NULL; + spin_unlock_irqrestore(&ld->txlock, txflags); + return NETDEV_TX_OK; + } + desc->data_buff_addr = addr; + desc->buffer_len = HIETH_MAX_FRAME_SIZE - 1; + desc->data_len = skb->len; + desc->fl = DESC_FL_FULL; + desc->descvid = DESC_VLD_BUSY; + } + + /* This barrier is important here. It is required to ensure + * the ARM CPU flushes it's DMA write buffers before proceeding + * to the next instruction, to ensure that GMAC will see + * our descriptor changes in memory + */ + HIGMAC_SYNC_BARRIER(); + + pos = dma_ring_incr(pos, TX_DESC_NUM); + writel(dma_byte(pos), ld->gmac_iobase + TX_BQ_WR_ADDR); + + dev->trans_start = jiffies; + dev->stats.tx_packets++; + dev->stats.tx_bytes += skb->len; + netdev_sent_queue(dev, skb->len); + + spin_unlock_irqrestore(&ld->txlock, txflags); + + return NETDEV_TX_OK; +} + +void higmac_enable_napi(struct higmac_netdev_local *priv) +{ + struct higmac_napi *q_napi; + int i; + + for (i = 0; i < priv->num_rxqs; i++) { + q_napi = &priv->q_napi[i]; + napi_enable(&q_napi->napi); + } +} + +void higmac_disable_napi(struct higmac_netdev_local *priv) +{ + struct higmac_napi *q_napi; + int i; + + for (i = 0; i < priv->num_rxqs; i++) { + q_napi = &priv->q_napi[i]; + napi_disable(&q_napi->napi); + } +} + +static int higmac_net_open(struct net_device *dev) +{ + struct higmac_netdev_local *ld = netdev_priv(dev); + unsigned long flags; + + clk_prepare_enable(ld->macif_clk); + clk_prepare_enable(ld->clk); + + phy_resume(ld->phy); + + /* If we configure mac address by + * "ifconfig ethX hw ether XX:XX:XX:XX:XX:XX", + * the ethX must be down state and mac core clock is disabled + * which results the mac address has not been configured + * in mac core register. + * So we must set mac address again here, + * because mac core clock is enabled at this time + * and we can configure mac address to mac core register. + */ + higmac_hw_set_mac_addr(dev); + + /* We should use netif_carrier_off() here, + * because the default state should be off. + * And this call should before phy_start(). + */ + netif_carrier_off(dev); + higmac_enable_napi(ld); + phy_start(ld->phy); + + higmac_hw_desc_enable(ld); + higmac_port_enable(ld); + higmac_irq_enable_all_queue(ld); + + spin_lock_irqsave(&ld->rxlock, flags); + higmac_rx_refill(ld); + spin_unlock_irqrestore(&ld->rxlock, flags); + + ld->monitor.expires = jiffies + HIGMAC_MONITOR_TIMER; + mod_timer(&ld->monitor, ld->monitor.expires); + + netif_start_queue(dev); + + return 0; +} + +static int higmac_net_close(struct net_device *dev) +{ + struct higmac_netdev_local *ld = netdev_priv(dev); + + higmac_irq_disable_all_queue(ld); + higmac_hw_desc_disable(ld); + + higmac_disable_napi(ld); + + netif_carrier_off(dev); + netif_stop_queue(dev); + + phy_stop(ld->phy); + del_timer_sync(&ld->monitor); + phy_suspend(ld->phy); + + clk_disable_unprepare(ld->clk); + clk_disable_unprepare(ld->macif_clk); + + return 0; +} + +static void higmac_net_timeout(struct net_device *dev) +{ + dev->stats.tx_errors++; + + pr_err("tx timeout!\n"); +} + +static void higmac_set_multicast_list(struct net_device *dev) +{ + higmac_gmac_multicast_list(dev); +} + +static inline void higmac_enable_rxcsum_drop(struct higmac_netdev_local *ld, + bool drop) +{ + unsigned int v; + + v = readl(ld->gmac_iobase + TSO_COE_CTRL); + if (drop) + v |= COE_ERR_DROP; + else + v &= ~COE_ERR_DROP; + writel(v, ld->gmac_iobase + TSO_COE_CTRL); +} + +static int higmac_set_features(struct net_device *dev, + netdev_features_t features) +{ + struct higmac_netdev_local *ld = netdev_priv(dev); + netdev_features_t changed = dev->features ^ features; + + if (changed & NETIF_F_RXCSUM) { + if (features & NETIF_F_RXCSUM) + higmac_enable_rxcsum_drop(ld, true); + else + higmac_enable_rxcsum_drop(ld, false); + } + + return 0; +} + +static struct net_device_stats *higmac_net_get_stats(struct net_device *dev) +{ + return &dev->stats; +} + +static void higmac_get_drvinfo(struct net_device *net_dev, + struct ethtool_drvinfo *info) +{ + strncpy(info->driver, "higmac driver", 15); + strncpy(info->version, "higmac v200", 15); + strncpy(info->bus_info, "platform", 15); +} + +static unsigned int higmac_get_link(struct net_device *net_dev) +{ + struct higmac_netdev_local *ld = netdev_priv(net_dev); + + return ld->phy->link ? HIGMAC_LINKED : 0; +} + +static int higmac_get_settings(struct net_device *net_dev, + struct ethtool_cmd *cmd) +{ + struct higmac_netdev_local *ld = netdev_priv(net_dev); + + if (ld->phy) + return phy_ethtool_gset(ld->phy, cmd); + + return -EINVAL; +} + +static int higmac_set_settings(struct net_device *net_dev, + struct ethtool_cmd *cmd) +{ + struct higmac_netdev_local *ld = netdev_priv(net_dev); + + if (!capable(CAP_NET_ADMIN)) + return -EPERM; + + if (ld->phy) + return phy_ethtool_sset(ld->phy, cmd); + + return -EINVAL; +} + +#include "pm.c" + +static void higmac_get_mac_wol(struct net_device *dev, + struct ethtool_wolinfo *wol) +{ + wol->supported = WAKE_UCAST | WAKE_MAGIC; + wol->wolopts = 0; +} + +static void higmac_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) +{ + wol->supported = 0; + wol->wolopts = 0; + if (dev->phydev) + phy_ethtool_get_wol(dev->phydev, wol); + + if (!wol->supported) + higmac_get_mac_wol(dev, wol); +} + +static int higmac_set_mac_wol(struct net_device *dev, + struct ethtool_wolinfo *wol) +{ + struct higmac_netdev_local *priv = netdev_priv(dev); + int err = 0; + struct pm_config mac_pm_config = { 0 }; + + mac_pm_config.index = priv->index; + if (wol->wolopts & WAKE_UCAST) + mac_pm_config.uc_pkts_enable = 1; + + if (wol->wolopts & WAKE_MAGIC) + mac_pm_config.magic_pkts_enable = 1; + + pmt_config(dev, &mac_pm_config); + + return err; +} + +static int higmac_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) +{ + struct higmac_netdev_local *priv = netdev_priv(dev); + int err = 0; + + if (dev->phydev) + err = phy_ethtool_set_wol(dev->phydev, wol); + if (err == -EOPNOTSUPP) + err = higmac_set_mac_wol(dev, wol); + + if (!err) + priv->wol_enable = true; + + return err; +} + +static u32 higmac_ethtool_getmsglevel(struct net_device *ndev) +{ + struct higmac_netdev_local *priv = netdev_priv(ndev); + + return priv->msg_enable; +} + +static void higmac_ethtool_setmsglevel(struct net_device *ndev, u32 level) +{ + struct higmac_netdev_local *priv = netdev_priv(ndev); + + priv->msg_enable = level; +} + +static u32 higmac_get_rxfh_key_size(struct net_device *ndev) +{ + return RSS_HASH_KEY_SIZE; +} + +static u32 higmac_get_rxfh_indir_size(struct net_device *ndev) +{ + struct higmac_netdev_local *priv = netdev_priv(ndev); + + return priv->rss_info.ind_tbl_size; +} + +static int higmac_get_rxfh(struct net_device *ndev, u32 *indir, u8 *hkey, u8 *hfunc) +{ + struct higmac_netdev_local *priv = netdev_priv(ndev); + struct higmac_rss_info *rss = &priv->rss_info; + int i; + + if (hfunc) + *hfunc = ETH_RSS_HASH_TOP; + + if (hkey) + memcpy(hkey, rss->key, RSS_HASH_KEY_SIZE); + + if (indir) { + for (i = 0; i < rss->ind_tbl_size; i++) + indir[i] = rss->ind_tbl[i]; + } + + return 0; +} + +static void higmac_get_rss_key(struct higmac_netdev_local *priv) +{ + struct higmac_rss_info *rss = &priv->rss_info; + u32 hkey; + + hkey = readl(priv->gmac_iobase + RSS_HASH_KEY); + *((u32 *)rss->key) = hkey; +} + +static void higmac_set_rss_key(struct higmac_netdev_local *priv) +{ + struct higmac_rss_info *rss = &priv->rss_info; + + writel(*((u32 *)rss->key), priv->gmac_iobase + RSS_HASH_KEY); +} + +static int higmac_wait_rss_ready(struct higmac_netdev_local *priv) +{ + void __iomem *base = priv->gmac_iobase; + int i, timeout = 10000; + + for (i = 0; !(readl(base + RSS_IND_TBL) & BIT_IND_TBL_READY); i++) { + if (i == timeout) { + netdev_err(priv->netdev, "wait rss ready timeout!\n"); + return -ETIMEDOUT; + } + usleep_range(10, 20); + } + + return 0; +} + +static void higmac_config_rss(struct higmac_netdev_local *priv) +{ + struct higmac_rss_info *rss = &priv->rss_info; + u32 rss_val; + int i; + + for (i = 0; i < rss->ind_tbl_size; i++) { + if (higmac_wait_rss_ready(priv)) + break; + rss_val = BIT_IND_TLB_WR | (rss->ind_tbl[i] << 8) | i; + writel(rss_val, priv->gmac_iobase + RSS_IND_TBL); + } +} + +static void higmac_get_rss(struct higmac_netdev_local *priv) +{ + struct higmac_rss_info *rss = &priv->rss_info; + u32 rss_val; + int i; + + for (i = 0; i < rss->ind_tbl_size; i++) { + if (higmac_wait_rss_ready(priv)) + break; + writel(i, priv->gmac_iobase + RSS_IND_TBL); + if (higmac_wait_rss_ready(priv)) + break; + rss_val = readl(priv->gmac_iobase + RSS_IND_TBL); + rss->ind_tbl[i] = (rss_val >> 10) & 0x3; + } +} + +static int higmac_set_rxfh(struct net_device *ndev, const u32 *indir, + const u8 *hkey, const u8 hfunc) +{ + struct higmac_netdev_local *priv = netdev_priv(ndev); + struct higmac_rss_info *rss = &priv->rss_info; + int i; + + if (hfunc != ETH_RSS_HASH_NO_CHANGE && hfunc != ETH_RSS_HASH_TOP) + return -EOPNOTSUPP; + + if (indir) { + for (i = 0; i < rss->ind_tbl_size; i++) + rss->ind_tbl[i] = indir[i]; + } + + if (hkey) { + memcpy(rss->key, hkey, RSS_HASH_KEY_SIZE); + higmac_set_rss_key(priv); + } + + higmac_config_rss(priv); + + return 0; +} + +static int higmac_get_rss_hash_opts(struct higmac_netdev_local *priv, + struct ethtool_rxnfc *info) +{ + u32 hash_cfg = priv->rss_info.hash_cfg; + + info->data = 0; + + switch (info->flow_type) { + case TCP_V4_FLOW: + if (hash_cfg & TCPV4_L3_HASH_EN) + info->data |= RXH_IP_SRC | RXH_IP_DST; + if (hash_cfg & TCPV4_L4_HASH_EN) + info->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3; + if (hash_cfg & TCPV4_VLAN_HASH_EN) + info->data |= RXH_VLAN; + break; + case TCP_V6_FLOW: + if (hash_cfg & TCPV6_L3_HASH_EN) + info->data |= RXH_IP_SRC | RXH_IP_DST; + if (hash_cfg & TCPV6_L4_HASH_EN) + info->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3; + if (hash_cfg & TCPV6_VLAN_HASH_EN) + info->data |= RXH_VLAN; + break; + case UDP_V4_FLOW: + if (hash_cfg & UDPV4_L3_HASH_EN) + info->data |= RXH_IP_SRC | RXH_IP_DST; + if (hash_cfg & UDPV4_L4_HASH_EN) + info->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3; + if (hash_cfg & UDPV4_VLAN_HASH_EN) + info->data |= RXH_VLAN; + break; + case UDP_V6_FLOW: + if (hash_cfg & UDPV6_L3_HASH_EN) + info->data |= RXH_IP_SRC | RXH_IP_DST; + if (hash_cfg & UDPV6_L4_HASH_EN) + info->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3; + if (hash_cfg & UDPV6_VLAN_HASH_EN) + info->data |= RXH_VLAN; + break; + case IPV4_FLOW: + if (hash_cfg & IPV4_L3_HASH_EN) + info->data |= RXH_IP_SRC | RXH_IP_DST; + if (hash_cfg & IPV4_VLAN_HASH_EN) + info->data |= RXH_VLAN; + break; + case IPV6_FLOW: + if (hash_cfg & IPV6_L3_HASH_EN) + info->data |= RXH_IP_SRC | RXH_IP_DST; + if (hash_cfg & IPV6_VLAN_HASH_EN) + info->data |= RXH_VLAN; + break; + default: + return -EINVAL; + } + + return 0; +} + +static int higmac_get_rxnfc(struct net_device *ndev, + struct ethtool_rxnfc *info, u32 *rules) +{ + struct higmac_netdev_local *priv = netdev_priv(ndev); + int ret = -EOPNOTSUPP; + + switch (info->cmd) { + case ETHTOOL_GRXRINGS: + info->data = priv->num_rxqs; + ret = 0; + break; + case ETHTOOL_GRXFH: + return higmac_get_rss_hash_opts(priv, info); + default: + break; + } + return ret; +} + +static void higmac_config_hash_policy(struct higmac_netdev_local *priv) +{ + writel(priv->rss_info.hash_cfg, priv->gmac_iobase + RSS_HASH_CONFIG); +} + +static int higmac_set_rss_hash_opts(struct higmac_netdev_local *priv, + struct ethtool_rxnfc *info) +{ + u32 hash_cfg = priv->rss_info.hash_cfg; + + netdev_info(priv->netdev, "Set RSS flow type = %d, data = %lld\n", + info->flow_type, info->data); + + if (!(info->data & RXH_IP_SRC) || !(info->data & RXH_IP_DST)) + return -EINVAL; + + switch (info->flow_type) { + case TCP_V4_FLOW: + switch (info->data & (RXH_L4_B_0_1 | RXH_L4_B_2_3)) { + case 0: + hash_cfg &= ~TCPV4_L4_HASH_EN; + break; + case (RXH_L4_B_0_1 | RXH_L4_B_2_3): + hash_cfg |= TCPV4_L4_HASH_EN; + break; + default: + return -EINVAL; + } + if (info->data & RXH_VLAN) + hash_cfg |= TCPV4_VLAN_HASH_EN; + else + hash_cfg &= ~TCPV4_VLAN_HASH_EN; + break; + case TCP_V6_FLOW: + switch (info->data & (RXH_L4_B_0_1 | RXH_L4_B_2_3)) { + case 0: + hash_cfg &= ~TCPV6_L4_HASH_EN; + break; + case (RXH_L4_B_0_1 | RXH_L4_B_2_3): + hash_cfg |= TCPV6_L4_HASH_EN; + break; + default: + return -EINVAL; + } + if (info->data & RXH_VLAN) + hash_cfg |= TCPV6_VLAN_HASH_EN; + else + hash_cfg &= ~TCPV6_VLAN_HASH_EN; + break; + case UDP_V4_FLOW: + switch (info->data & (RXH_L4_B_0_1 | RXH_L4_B_2_3)) { + case 0: + hash_cfg &= ~UDPV4_L4_HASH_EN; + break; + case (RXH_L4_B_0_1 | RXH_L4_B_2_3): + hash_cfg |= UDPV4_L4_HASH_EN; + break; + default: + return -EINVAL; + } + if (info->data & RXH_VLAN) + hash_cfg |= UDPV4_VLAN_HASH_EN; + else + hash_cfg &= ~UDPV4_VLAN_HASH_EN; + break; + case UDP_V6_FLOW: + switch (info->data & (RXH_L4_B_0_1 | RXH_L4_B_2_3)) { + case 0: + hash_cfg &= ~UDPV6_L4_HASH_EN; + break; + case (RXH_L4_B_0_1 | RXH_L4_B_2_3): + hash_cfg |= UDPV6_L4_HASH_EN; + break; + default: + return -EINVAL; + } + if (info->data & RXH_VLAN) + hash_cfg |= UDPV6_VLAN_HASH_EN; + else + hash_cfg &= ~UDPV6_VLAN_HASH_EN; + break; + case IPV4_FLOW: + if (info->data & (RXH_L4_B_0_1 | RXH_L4_B_2_3)) + return -EINVAL; + if (info->data & RXH_VLAN) + hash_cfg |= IPV4_VLAN_HASH_EN; + else + hash_cfg &= ~IPV4_VLAN_HASH_EN; + break; + case IPV6_FLOW: + if (info->data & (RXH_L4_B_0_1 | RXH_L4_B_2_3)) + return -EINVAL; + if (info->data & RXH_VLAN) + hash_cfg |= IPV6_VLAN_HASH_EN; + else + hash_cfg &= ~IPV6_VLAN_HASH_EN; + break; + default: + return -EINVAL; + } + + priv->rss_info.hash_cfg = hash_cfg; + higmac_config_hash_policy(priv); + + return 0; +} + +static int higmac_set_rxnfc(struct net_device *ndev, struct ethtool_rxnfc *info) +{ + struct higmac_netdev_local *priv = netdev_priv(ndev); + + switch (info->cmd) { + case ETHTOOL_SRXFH: + return higmac_set_rss_hash_opts(priv, info); + default: + break; + } + return -EOPNOTSUPP; +} + +static struct ethtool_ops hieth_ethtools_ops = { + .get_drvinfo = higmac_get_drvinfo, + .get_link = higmac_get_link, + .get_settings = higmac_get_settings, + .set_settings = higmac_set_settings, + .get_wol = higmac_get_wol, + .set_wol = higmac_set_wol, + .get_msglevel = higmac_ethtool_getmsglevel, + .set_msglevel = higmac_ethtool_setmsglevel, + .get_rxfh_key_size = higmac_get_rxfh_key_size, + .get_rxfh_indir_size = higmac_get_rxfh_indir_size, + .get_rxfh = higmac_get_rxfh, + .set_rxfh = higmac_set_rxfh, + .get_rxnfc = higmac_get_rxnfc, + .set_rxnfc = higmac_set_rxnfc, +}; + +static const struct net_device_ops hieth_netdev_ops = { + .ndo_open = higmac_net_open, + .ndo_stop = higmac_net_close, + .ndo_start_xmit = higmac_net_xmit, + .ndo_tx_timeout = higmac_net_timeout, + .ndo_set_rx_mode = higmac_set_multicast_list, + .ndo_set_features = higmac_set_features, + .ndo_do_ioctl = higmac_ioctl, + .ndo_set_mac_address = higmac_net_set_mac_address, + .ndo_change_mtu = eth_change_mtu, + .ndo_get_stats = higmac_net_get_stats, +}; + +static void higmac_of_get_phy_trim_params(struct higmac_netdev_local *priv) +{ + u32 phy_trim_val = 0; + + priv->trim_params = 0; + + if (!priv->internal_phy) + return; + + phy_trim_val = readl(priv->otp_iobase + REG_OTP_FEPHY_TRIM); + phy_trim_val &= REG_MASK_OTP_FEPHY_TRIM; + + priv->trim_params = phy_trim_val; +} + +static int higmac_of_get_param(struct higmac_netdev_local *ld, + struct device_node *node) +{ + struct device_node *child = NULL; + int data; + + /* get auto eee */ + ld->autoeee = of_property_read_bool(node, "autoeee"); + /* get internal flag */ + ld->internal_phy = + of_property_read_bool(node, "internal-phy"); + if (ld->internal_phy) { + ld->crg_iobase = ioremap_nocache(REG_BASE_CRG, 0x1000); + ld->peri_iobase = ioremap_nocache(REG_BASE_PERI_CTRL, 0x1000); + ld->otp_iobase = ioremap_nocache(REG_BASE_OTP, 0x400); + higmac_of_get_phy_trim_params(ld); + } + + /* get gpio_base and bit */ + of_property_read_u32(node, "phy-gpio-base", + (u32 *)(&ld->gpio_base)); + of_property_read_u32(node, "phy-gpio-bit", + &ld->gpio_bit); + + child = of_get_next_available_child(node, NULL); + WARN_ON(child == NULL); + + /* get phy-addr */ + if (of_property_read_u32(child, "reg", &data)) { + pr_info("%s has not config PHY address\n", + child->full_name); + return -EINVAL; + } + if ((data < 0) || (data >= PHY_MAX_ADDR)) { + pr_info("%s has invalid PHY address=%d\n", + child->full_name, data); + return -EINVAL; + } + + ld->phy_addr = data; + + child = of_get_next_available_child(node, child); + WARN_ON(child != NULL); + + return 0; +} + +static void higmac_destroy_hw_desc_queue(struct higmac_netdev_local *priv) +{ + int i; + + for (i = 0; i < QUEUE_NUMS + RSS_NUM_RXQS - 1; i++) { + if (priv->pool[i].desc) { + dma_free_coherent(priv->dev, priv->pool[i].size, + priv->pool[i].desc, + priv->pool[i].phys_addr); + priv->pool[i].desc = NULL; + } + } + + kfree(priv->rx_fq.skb); + kfree(priv->tx_bq.skb); + priv->rx_fq.skb = NULL; + priv->tx_bq.skb = NULL; + + if (priv->tso_supported) { + kfree(priv->tx_bq.sg_desc_offset); + priv->tx_bq.sg_desc_offset = NULL; + } + + kfree(priv->tx_skb); + priv->tx_skb = NULL; + + kfree(priv->rx_skb); + priv->rx_skb = NULL; +} + +static int higmac_init_hw_desc_queue(struct higmac_netdev_local *priv) +{ + struct device *dev = priv->dev; + struct higmac_desc *virt_addr; + dma_addr_t phys_addr; + int size, i; + + priv->rx_fq.count = RX_DESC_NUM; + priv->rx_bq.count = RX_DESC_NUM; + priv->tx_bq.count = TX_DESC_NUM; + priv->tx_rq.count = TX_DESC_NUM; + + for (i = 1; i < RSS_NUM_RXQS; i++) + priv->pool[3 + i].count = RX_DESC_NUM; + + for (i = 0; i < (QUEUE_NUMS + RSS_NUM_RXQS - 1); i++) { + size = priv->pool[i].count * sizeof(struct higmac_desc); + virt_addr = dma_alloc_coherent(dev, size, &phys_addr, + GFP_KERNEL); + if (virt_addr == NULL) + goto error_free_pool; + + memset(virt_addr, 0, size); + priv->pool[i].size = size; + priv->pool[i].desc = virt_addr; + priv->pool[i].phys_addr = phys_addr; + } + priv->rx_fq.skb = kzalloc(priv->rx_fq.count + * sizeof(struct sk_buff *), GFP_KERNEL); + if (priv->rx_fq.skb == NULL) + goto error_free_pool; + + priv->rx_skb = kzalloc(priv->rx_fq.count + * sizeof(struct sk_buff *), GFP_KERNEL); + if (priv->rx_skb == NULL) + goto error_free_pool; + + priv->tx_bq.skb = kzalloc(priv->tx_bq.count + * sizeof(struct sk_buff *), GFP_KERNEL); + if (priv->tx_bq.skb == NULL) + goto error_free_pool; + + priv->tx_skb = kzalloc(priv->tx_bq.count + * sizeof(struct sk_buff *), GFP_KERNEL); + if (priv->tx_skb == NULL) + goto error_free_pool; + + if (priv->tso_supported) { + priv->tx_bq.sg_desc_offset = kzalloc(priv->tx_bq.count + * sizeof(int), GFP_KERNEL); + if (priv->tx_bq.sg_desc_offset == NULL) + goto error_free_pool; + } + + higmac_hw_set_desc_addr(priv); + + return 0; + +error_free_pool: + higmac_destroy_hw_desc_queue(priv); + + return -ENOMEM; +} + +void higmac_init_napi(struct higmac_netdev_local *priv) +{ + struct higmac_napi *q_napi; + int i; + + for (i = 0; i < priv->num_rxqs; i++) { + q_napi = &priv->q_napi[i]; + q_napi->rxq_id = i; + q_napi->ndev_priv = priv; + netif_napi_add(priv->netdev, &q_napi->napi, higmac_poll, + NAPI_POLL_WEIGHT); + } +} + +void higmac_destroy_napi(struct higmac_netdev_local *priv) +{ + struct higmac_napi *q_napi; + int i; + + for (i = 0; i < priv->num_rxqs; i++) { + q_napi = &priv->q_napi[i]; + netif_napi_del(&q_napi->napi); + } +} + +int higmac_request_irqs(struct platform_device *pdev, + struct higmac_netdev_local *priv) +{ + struct device *dev = priv->dev; + int ret; + int i; + + for (i = 0; i < priv->num_rxqs; i++) { + ret = platform_get_irq(pdev, i); + if (ret < 0) { + dev_err(dev, "No irq[%d] resource, ret=%d\n", i, ret); + return ret; + } + priv->irq[i] = ret; + + ret = devm_request_irq(dev, priv->irq[i], higmac_interrupt, + IRQF_SHARED, pdev->name, + &priv->q_napi[i]); + if (ret) { + dev_err(dev, "devm_request_irq failed, ret=%d\n", ret); + return ret; + } + } + + return 0; +} + +static void higmac_set_irq_affinity_with_cpu(unsigned int irq, unsigned int cpu) +{ + struct cpumask cpumask; + + if ((num_online_cpus() > cpu) && + cpu_online(cpu)) { + cpumask_clear(&cpumask); + cpumask_set_cpu(cpu, &cpumask); + irq_set_affinity(irq, &cpumask); + } +} + +void higmac_set_irq_affinity(struct higmac_netdev_local *priv) +{ + int i; + + for (i = 0; i < priv->num_rxqs; i++) + higmac_set_irq_affinity_with_cpu(priv->irq[i], + HIGMAC_IRQ_AFFINITY_CPU); +} + +static int higmac_dev_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct device_node *node = dev->of_node; + struct net_device *ndev; + struct higmac_netdev_local *priv; + struct resource *res; + struct mii_bus *bus; + const char *mac_addr; + unsigned int hw_cap; + int ret; + int num_rxqs; + + if (of_device_is_compatible(node, "hisilicon,higmac-v5")) + num_rxqs = RSS_NUM_RXQS; + else + num_rxqs = 1; + + ndev = alloc_etherdev_mqs(sizeof(struct higmac_netdev_local), 1, + num_rxqs); + if (!ndev) + return -ENOMEM; + + platform_set_drvdata(pdev, ndev); + + priv = netdev_priv(ndev); + priv->dev = dev; + priv->netdev = ndev; + priv->num_rxqs = num_rxqs; + + higmac_of_get_param(priv, node); + + res = platform_get_resource(pdev, IORESOURCE_MEM, MEM_GMAC_IOBASE); + priv->gmac_iobase = devm_ioremap_resource(dev, res); + if (IS_ERR(priv->gmac_iobase)) { + ret = PTR_ERR(priv->gmac_iobase); + goto out_free_netdev; + } + + res = platform_get_resource(pdev, IORESOURCE_MEM, + MEM_MACIF_IOBASE); + priv->macif_base = devm_ioremap_resource(dev, res); + if (IS_ERR(priv->macif_base)) { + ret = PTR_ERR(priv->macif_base); + goto out_free_netdev; + } + + priv->port_rst = devm_reset_control_get(dev, HIGMAC_PORT_RST_NAME); + if (IS_ERR(priv->port_rst)) { + ret = PTR_ERR(priv->port_rst); + goto out_free_netdev; + } + + priv->macif_rst = devm_reset_control_get(dev, HIGMAC_MACIF_RST_NAME); + if (IS_ERR(priv->macif_rst)) { + ret = PTR_ERR(priv->macif_rst); + goto out_free_netdev; + } + + priv->phy_rst = devm_reset_control_get(dev, HIGMAC_PHY_RST_NAME); + if (IS_ERR(priv->phy_rst)) + priv->phy_rst = NULL; + + priv->pub_clk = devm_clk_get(&pdev->dev, "pub_clk"); + if (IS_ERR(priv->pub_clk)) + priv->pub_clk = NULL; + + priv->clk = devm_clk_get(&pdev->dev, HIGMAC_MAC_CLK_NAME); + if (IS_ERR(priv->clk)) { + dev_err(dev, "failed to get clk\n"); + ret = -ENODEV; + goto out_free_netdev; + } + + priv->macif_clk = devm_clk_get(&pdev->dev, HIGMAC_MACIF_CLK_NAME); + if (IS_ERR(priv->macif_clk)) + priv->macif_clk = NULL; + + /* enable macif clk early than PHY hardware reset to make sure + * MDIO access PHY ok. + */ + ret = clk_prepare_enable(priv->macif_clk); + if (ret < 0) { + dev_err(dev, "failed enable macif_clk %d\n", ret); + goto out_free_netdev; + } + + ret = clk_prepare_enable(priv->pub_clk); + if (ret < 0) { + dev_err(dev, "failed to enable clk %d\n", ret); + goto out_macif_clk_disable; + } + + ret = clk_prepare_enable(priv->clk); + if (ret < 0) { + dev_err(dev, "failed to enable clk %d\n", ret); + goto out_macif_clk_disable; + } + + /* phy reset, should be early than "of_mdiobus_register". + * becausue "of_mdiobus_register" will read PHY register by MDIO. + */ + higmac_hw_phy_reset(priv); + + higmac_mac_core_reset(priv); + + bus = mdiobus_alloc(); + if (bus == NULL) { + ret = -ENOMEM; + goto out_mac_clk_disable; + } + + bus->priv = priv; + bus->name = "higmac_mii_bus"; + bus->read = higmac_mdio_read; + bus->write = higmac_mdio_write; + bus->parent = &pdev->dev; + snprintf(bus->id, MII_BUS_ID_SIZE, "%s-mii", dev_name(&pdev->dev)); + priv->bus = bus; + + if (priv->internal_phy) { + usleep_range(5000, 8000); + higmac_internal_fephy_trim(bus, priv->phy_addr, priv->trim_params); + } + + ret = of_mdiobus_register(bus, node); + if (ret) + goto err_free_mdio; + + priv->phy_mode = of_get_phy_mode(node); + if (priv->phy_mode < 0) { + dev_err(dev, "not find phy-mode\n"); + ret = -EINVAL; + goto err_mdiobus; + } + + priv->phy_node = of_parse_phandle(node, "phy-handle", 0); + if (!priv->phy_node) { + dev_err(dev, "not find phy-handle\n"); + ret = -EINVAL; + goto err_mdiobus; + } + + mac_addr = of_get_mac_address(node); + if (mac_addr) + ether_addr_copy(ndev->dev_addr, mac_addr); + if (!is_valid_ether_addr(ndev->dev_addr)) { + eth_hw_addr_random(ndev); + netdev_warn(ndev, "using random MAC address %pM\n", + ndev->dev_addr); + } + + higmac_hw_set_mac_addr(ndev); + + hw_cap = readl(priv->gmac_iobase + CRF_MIN_PACKET); + priv->tso_supported = HAS_TSO_CAP(hw_cap); + priv->has_rxhash_cap = HAS_RXHASH_CAP(hw_cap); + priv->has_rss_cap = HAS_RSS_CAP(hw_cap); + + higmac_set_rss_cap(priv); + higmac_get_rss_key(priv); + if (priv->has_rss_cap) { + priv->rss_info.ind_tbl_size = RSS_INDIRECTION_TABLE_SIZE; + higmac_get_rss(priv); + } + + if (priv->has_rxhash_cap) { + priv->rss_info.hash_cfg = DEF_HASH_CFG; + higmac_config_hash_policy(priv); + } + + /* init hw controller */ + higmac_hw_init(priv); + + /* TODO: phy fix here?? other way ??? */ + phy_register_fixups(); + + priv->phy = of_phy_connect(ndev, priv->phy_node, + &higmac_adjust_link, 0, priv->phy_mode); + if (!priv->phy) { + pr_info("No eth phy found at address %d\n", priv->phy_addr); + ret = -ENODEV; + goto out_phy_node; + } + + /* If the phy_id is mostly Fs, there is no device there */ + if ((priv->phy->phy_id & 0x1fffffff) == 0x1fffffff || + priv->phy->phy_id == 0) { + pr_info("Eth phy %d has invalid OUI:0x%x\n", priv->phy->addr, priv->phy->phy_id); + ret = -ENODEV; + goto out_phy_disconnect; + } + + pr_info("attached PHY %d to driver %s, PHY_ID=0x%x\n", + priv->phy->addr, priv->phy->drv->name, priv->phy->phy_id); + + /* Stop Advertising 1000BASE Capability if interface is not RGMII */ + if ((priv->phy_mode == PHY_INTERFACE_MODE_MII) || + (priv->phy_mode == PHY_INTERFACE_MODE_RMII)) { + priv->phy->advertising &= ~(SUPPORTED_1000baseT_Half | + SUPPORTED_1000baseT_Full); + + /* Internal FE phy's reg BMSR bit8 is wrong, make the kernel + * believe it has the 1000base Capability, so fix it here + */ + if (priv->phy->phy_id == HISILICON_PHY_ID_FESTAV200) + priv->phy->supported &= ~(ADVERTISED_1000baseT_Full | + ADVERTISED_1000baseT_Half); + } + + if (priv->autoeee) + init_autoeee(priv); + else + higmac_disable_phy_eee(priv->phy); + + ret = higmac_request_irqs(pdev, priv); + if (ret) + goto out_phy_disconnect; + + higmac_set_irq_affinity(priv); + + higmac_init_napi(priv); + spin_lock_init(&priv->rxlock); + spin_lock_init(&priv->txlock); + spin_lock_init(&priv->pmtlock); + + /* init netdevice */ + SET_NETDEV_DEV(ndev, dev); /* init ndev */ + ndev->irq = priv->irq[0]; + ndev->watchdog_timeo = 3 * HZ; + ndev->netdev_ops = &hieth_netdev_ops; + ndev->ethtool_ops = &hieth_ethtools_ops; + + if (priv->has_rxhash_cap) + ndev->hw_features |= NETIF_F_RXHASH; + if (priv->has_rss_cap) + ndev->hw_features |= NETIF_F_NTUPLE; + if (priv->tso_supported) { + ndev->hw_features |= NETIF_F_SG | + NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | + NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_UFO; + } +#if defined(CONFIG_HIGMAC_RXCSUM) + ndev->hw_features |= NETIF_F_RXCSUM; + higmac_enable_rxcsum_drop(priv, true); +#endif + + ndev->features |= ndev->hw_features; + ndev->features |= NETIF_F_HIGHDMA | NETIF_F_GSO; + ndev->vlan_features |= ndev->features; + + init_timer(&priv->monitor); + priv->monitor.function = higmac_monitor_func; + priv->monitor.data = (unsigned long)ndev; + priv->monitor.expires = jiffies + HIGMAC_MONITOR_TIMER; + + device_set_wakeup_capable(priv->dev, 1); + /* TODO: when we can let phy powerdown? + * In some mode, we don't want phy powerdown, + * so I set wakeup enable all the time + */ + device_set_wakeup_enable(priv->dev, 1); + + priv->wol_enable = false; + + priv->msg_enable = netif_msg_init(debug, DEFAULT_MSG_ENABLE); + + /* init hw desc queue */ + ret = higmac_init_hw_desc_queue(priv); + if (ret) + goto _error_hw_desc_queue; + + if (priv->tso_supported) { + ret = higmac_init_sg_desc_queue(priv); + if (ret) + goto _error_sg_desc_queue; + } + + /* register netdevice */ + ret = register_netdev(priv->netdev); + if (ret) { + pr_err("register_ndev failed!"); + goto _error_sg_desc_queue; + } + + /* reset queue here to make BQL only reset once. + * if we put netdev_reset_queue() in higmac_net_open(), + * the BQL will be reset when ifconfig eth0 down and up, + * but the tx ring is not cleared before. + * As a result, the NAPI poll will call netdev_completed_queue() + * and BQL throw a bug. + */ + netdev_reset_queue(ndev); + + /* config PHY power down to save power */ + phy_suspend(priv->phy); + + clk_disable_unprepare(priv->clk); + clk_disable_unprepare(priv->macif_clk); + + pr_info("ETH: %s, phy_addr=%d\n", + phy_modes(priv->phy_mode), priv->phy->addr); + + return ret; + +_error_sg_desc_queue: + if (priv->tso_supported) + higmac_destroy_sg_desc_queue(priv); + +_error_hw_desc_queue: + higmac_destroy_hw_desc_queue(priv); + higmac_destroy_napi(priv); +out_phy_disconnect: + phy_disconnect(priv->phy); +out_phy_node: + of_node_put(priv->phy_node); +err_mdiobus: + mdiobus_unregister(bus); +err_free_mdio: + mdiobus_free(bus); +out_mac_clk_disable: + clk_disable_unprepare(priv->clk); +out_macif_clk_disable: + clk_disable_unprepare(priv->macif_clk); +out_free_netdev: + if (priv->internal_phy) { + higmac_internal_phy_clk_disable(priv); + iounmap(priv->crg_iobase); + iounmap(priv->peri_iobase); + iounmap(priv->otp_iobase); + } + free_netdev(ndev); + + return ret; +} + +static int higmac_dev_remove(struct platform_device *pdev) +{ + struct net_device *ndev = platform_get_drvdata(pdev); + struct higmac_netdev_local *priv = netdev_priv(ndev); + + /* TODO: stop the gmac and free all resource */ + del_timer_sync(&priv->monitor); + higmac_destroy_napi(priv); + + unregister_netdev(ndev); + + higmac_reclaim_rx_tx_resource(priv); + + if (priv->tso_supported) + higmac_destroy_sg_desc_queue(priv); + higmac_destroy_hw_desc_queue(priv); + + phy_disconnect(priv->phy); + of_node_put(priv->phy_node); + + mdiobus_unregister(priv->bus); + mdiobus_free(priv->bus); + + clk_disable_unprepare(priv->pub_clk); + free_netdev(ndev); + + return 0; +} + +#ifdef CONFIG_PM + +static void higmac_disable_irq(struct higmac_netdev_local *priv) +{ + int i; + + for (i = 0; i < priv->num_rxqs; i++) + disable_irq(priv->irq[i]); +} + +static void higmac_enable_irq(struct higmac_netdev_local *priv) +{ + int i; + + for (i = 0; i < priv->num_rxqs; i++) + enable_irq(priv->irq[i]); +} + +int higmac_dev_suspend(struct platform_device *pdev, pm_message_t state) +{ + struct net_device *ndev = platform_get_drvdata(pdev); + struct higmac_netdev_local *priv = netdev_priv(ndev); + + higmac_disable_irq(priv); + /* If support Wake on LAN, we should not disconnect phy + * because it will call phy_suspend to power down phy. + */ + if (!priv->wol_enable) + phy_disconnect(priv->phy); + del_timer_sync(&priv->monitor); + /* If suspend when netif is not up, the napi_disable will run into + * dead loop and dpm_drv_timeout will give warning. + */ + if (netif_running(ndev)) + higmac_disable_napi(priv); + netif_device_detach(ndev); + + netif_carrier_off(ndev); + + /* If netdev is down, MAC clock is disabled. + * So if we want to reclaim MAC rx and tx resource, + * we must first enable MAC clock and then disable it. + */ + if (!netif_running(ndev)) + clk_prepare_enable(priv->clk); + + higmac_reclaim_rx_tx_resource(priv); + + if (!netif_running(ndev)) + clk_disable_unprepare(priv->clk); + + pmt_enter(priv); + + if (!priv->wol_enable) { /* if no WOL, then poweroff */ + /* pr_info("power off gmac.\n"); */ + /* no need to call genphy_resume() in resume, + * because we reset everything + */ + genphy_suspend(priv->phy); /* power down phy */ + msleep(20); + higmac_hw_all_clk_disable(priv); + } + + return 0; +} +EXPORT_SYMBOL(higmac_dev_suspend); + +int higmac_dev_resume(struct platform_device *pdev) +{ + struct net_device *ndev = platform_get_drvdata(pdev); + struct higmac_netdev_local *priv = netdev_priv(ndev); + + /* make sure MAC_PUB_CLK is always on, + * even if the suspend/resume power down CRG and + * disable all the GSF clock bit. */ + clk_disable_unprepare(priv->pub_clk); + clk_prepare_enable(priv->pub_clk); + + /* If we support Wake on LAN, we doesn't call clk_disable. + * But when we resume, the uboot may off mac clock and reset phy + * by re-write the mac CRG register. + * So we first call clk_disable, and then clk_enable. + */ + if (priv->wol_enable) + higmac_hw_all_clk_disable(priv); + + higmac_hw_all_clk_enable(priv); + + /* If netdev is down, MAC clock is disabled. + * So if we want to restart MAC and re-initialize it, + * we must first enable MAC clock and then disable it. + */ + if (!netif_running(ndev)) { + clk_prepare_enable(priv->clk); + clk_prepare_enable(priv->macif_clk); + } + + /* restart hw engine now */ + higmac_mac_core_reset(priv); + + /* internal FE_PHY: enable clk and reset */ + higmac_hw_phy_reset(priv); + if (priv->internal_phy) { + usleep_range(5000, 8000); + higmac_internal_fephy_trim(priv->bus, priv->phy_addr, priv->trim_params); + } + + /* power on gmac */ + higmac_restart(priv); + + /* If support WoL, we didn't disconnect phy. + * But when we resume, we reset PHY, so we want to + * call phy_connect to make phy_fixup excuted. + * This is important for internal PHY fix. + */ + if (priv->wol_enable) + phy_disconnect(priv->phy); + + phy_connect_direct(ndev, priv->phy, higmac_adjust_link, priv->phy_mode); + + /* If we suspend and resume when net device is down, + * some operations are unnecessary. + */ + if (netif_running(ndev)) { + priv->monitor.expires = jiffies + HIGMAC_MONITOR_TIMER; + mod_timer(&priv->monitor, priv->monitor.expires); + priv->old_link = 0; + priv->old_speed = SPEED_UNKNOWN; + priv->old_duplex = DUPLEX_UNKNOWN; + } + if (netif_running(ndev)) + higmac_enable_napi(priv); + netif_device_attach(ndev); + if (netif_running(ndev)) + phy_start(priv->phy); + higmac_enable_irq(priv); + + pmt_exit(priv); + + if (!netif_running(ndev)) { + clk_disable_unprepare(priv->macif_clk); + clk_disable_unprepare(priv->clk); + } + + return 0; +} +EXPORT_SYMBOL(higmac_dev_resume); +#else +#define higmac_dev_suspend NULL +#define higmac_dev_resume NULL +#endif + +static const struct of_device_id higmac_of_match[] = { + {.compatible = "hisilicon,higmac",}, + {.compatible = "hisilicon,higmac-v1",}, + {.compatible = "hisilicon,higmac-v2",}, + {.compatible = "hisilicon,higmac-v3",}, + {.compatible = "hisilicon,higmac-v4",}, + {.compatible = "hisilicon,higmac-v5",}, + {}, +}; + +MODULE_DEVICE_TABLE(of, higmac_of_match); + +static struct platform_driver higmac_dev_driver = { + .probe = higmac_dev_probe, + .remove = higmac_dev_remove, + .suspend = higmac_dev_suspend, + .resume = higmac_dev_resume, + .driver = { + .owner = THIS_MODULE, + .name = HIGMAC_DRIVER_NAME, + .of_match_table = higmac_of_match, + }, +}; + +#include "proc-dev.c" + +static int __init higmac_init(void) +{ + int ret = 0; + + ret = platform_driver_register(&higmac_dev_driver); + if (ret) + return ret; + + higmac_proc_create(); + + return ret; +} + +static void __exit higmac_exit(void) +{ + platform_driver_unregister(&higmac_dev_driver); + + higmac_proc_destroy(); +} + +module_init(higmac_init); +module_exit(higmac_exit); + +MODULE_AUTHOR("ZMJUN"); +MODULE_DESCRIPTION("Hisilicon double GMAC driver, base on driver higmacv200 by CHH"); +MODULE_LICENSE("GPL v2"); diff --git a/drivers/net/ethernet/hisilicon/higmac/higmac.h b/drivers/net/ethernet/hisilicon/higmac/higmac.h new file mode 100644 index 000000000..bd41119aa --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/higmac.h @@ -0,0 +1,554 @@ +#ifndef __HIGMAC_H__ +#define __HIGMAC_H__ + +#include +#include +#include +#include +#include +#include +#include +#include "phy_fix.h" + +#define STATION_ADDR_LOW 0x0000 +#define STATION_ADDR_HIGH 0x0004 +#define MAC_DUPLEX_HALF_CTRL 0x0008 + +#define PORT_MODE 0x0040 + +#define PORT_EN 0x0044 +#define BITS_TX_EN BIT(2) +#define BITS_RX_EN BIT(1) + +#define REC_FILT_CONTROL 0x0064 +#define BIT_CRC_ERR_PASS BIT(5) +#define BIT_PAUSE_FRM_PASS BIT(4) +#define BIT_VLAN_DROP_EN BIT(3) +#define BIT_BC_DROP_EN BIT(2) +#define BIT_MC_MATCH_EN BIT(1) +#define BIT_UC_MATCH_EN BIT(0) + +#define PORT_MC_ADDR_LOW 0x0068 +#define PORT_MC_ADDR_HIGH 0x006C + +#define MODE_CHANGE_EN 0x01b4 +#define BIT_MODE_CHANGE_EN BIT(0) + +#define COL_SLOT_TIME 0x01c0 + +#define CRF_MIN_PACKET 0x0210 + +#define CONTROL_WORD 0x0214 +#define CONTROL_WORD_CONFIG 0x640 + +#define TSO_COE_CTRL 0x02e8 +#define BIT_COE_IPHDR_DROP BIT(4) +#define BIT_COE_PAYLOAD_DROP BIT(5) +#define BIT_COE_IPV6_UDP_ZERO_DROP BIT(6) +#define COE_ERR_DROP (BIT_COE_IPHDR_DROP | \ + BIT_COE_PAYLOAD_DROP | \ + BIT_COE_IPV6_UDP_ZERO_DROP) + +#define RX_FQ_START_ADDR 0x0500 +#define RX_FQ_DEPTH 0x0504 +#define RX_FQ_WR_ADDR 0x0508 +#define BITS_RX_FQ_WR_ADDR MK_BITS(0, 21) +#define RX_FQ_RD_ADDR 0x050c +#define BITS_RX_FQ_RD_ADDR MK_BITS(0, 21) +#define RX_FQ_VLDDESC_CNT 0x0510 +#define BITS_RX_FQ_VLDDESC_CNT MK_BITS(0, 16) +#define RX_FQ_ALEMPTY_TH 0x0514 +#define BITS_RX_FQ_ALEMPTY_TH MK_BITS(0, 16) +#define RX_FQ_REG_EN 0x0518 +#define BITS_RX_FQ_START_ADDR_EN BIT(2) +#define BITS_RX_FQ_DEPTH_EN BIT(1) +#define BITS_RX_FQ_RD_ADDR_EN MK_BITS(0, 1) +#define RX_FQ_ALFULL_TH 0x051c +#define BITS_RX_FQ_ALFULL_TH MK_BITS(0, 16) + +#define RX_BQ_START_ADDR 0x0520 +#define RX_BQ_DEPTH 0x0524 +#define RX_BQ_WR_ADDR 0x0528 +#define RX_BQ_RD_ADDR 0x052c +#define RX_BQ_FREE_DESC_CNT 0x0530 +#define BITS_RX_BQ_FREE_DESC_CNT MK_BITS(0, 16) +#define RX_BQ_ALEMPTY_TH 0x0534 +#define BITS_RX_BQ_ALEMPTY_TH MK_BITS(0, 16) +#define RX_BQ_REG_EN 0x0538 +#define BITS_RX_BQ_START_ADDR_EN BIT(2) +#define BITS_RX_BQ_DEPTH_EN BIT(1) +#define BITS_RX_BQ_WR_ADDR_EN MK_BITS(0, 1) +#define RX_BQ_ALFULL_TH 0x053c +#define BITS_RX_BQ_ALFULL_TH MK_BITS(0, 16) + +#define TX_BQ_START_ADDR 0x0580 +#define TX_BQ_DEPTH 0x0584 +#define TX_BQ_WR_ADDR 0x0588 +#define BITS_TX_BQ_WR_ADDR MK_BITS(0, 21) +#define TX_BQ_RD_ADDR 0x058c +#define BITS_TX_BQ_RD_ADDR MK_BITS(0, 21) +#define TX_BQ_VLDDESC_CNT 0x0590 +#define BITS_TX_BQ_VLDDESC_CNT MK_BITS(0, 16) +#define TX_BQ_ALEMPTY_TH 0x0594 +#define BITS_TX_BQ_ALEMPTY_TH MK_BITS(0, 16) +#define TX_BQ_REG_EN 0x0598 +#define BITS_TX_BQ_START_ADDR_EN BIT(2) +#define BITS_TX_BQ_DEPTH_EN BIT(1) +#define BITS_TX_BQ_RD_ADDR_EN MK_BITS(0, 1) +#define TX_BQ_ALFULL_TH 0x059c +#define BITS_TX_BQ_ALFULL_TH MK_BITS(0, 16) + +#define TX_RQ_START_ADDR 0x05a0 +#define TX_RQ_DEPTH 0x05a4 +#define TX_RQ_WR_ADDR 0x05a8 +#define BITS_TX_RQ_WR_ADDR MK_BITS(0, 21) +#define TX_RQ_RD_ADDR 0x05ac +#define BITS_TX_RQ_RD_ADDR MK_BITS(0, 21) +#define TX_RQ_FREE_DESC_CNT 0x05b0 +#define BITS_TX_RQ_FREE_DESC_CNT MK_BITS(0, 16) +#define TX_RQ_ALEMPTY_TH 0x05b4 +#define BITS_TX_RQ_ALEMPTY_TH MK_BITS(0, 16) +#define TX_RQ_REG_EN 0x05b8 +#define BITS_TX_RQ_START_ADDR_EN BIT(2) +#define BITS_TX_RQ_DEPTH_EN BIT(1) +#define BITS_TX_RQ_WR_ADDR_EN MK_BITS(0, 1) +#define TX_RQ_ALFULL_TH 0x05bc +#define BITS_TX_RQ_ALFULL_TH MK_BITS(0, 16) + +#define RAW_PMU_INT 0x05c0 +#define ENA_PMU_INT 0x05c4 + +#define DESC_WR_RD_ENA 0x05CC + +#define IN_QUEUE_TH 0x05d8 +#define BITS_OFFSET_TX_RQ_IN_TH 16 + +#define RX_BQ_IN_TIMEOUT_TH 0x05E0 + +#define TX_RQ_IN_TIMEOUT_TH 0x05e4 + +#define STOP_CMD 0x05e8 +#define BITS_TX_STOP_EN BIT(1) +#define BITS_RX_STOP_EN BIT(0) +#define STOP_RX_TX (BITS_TX_STOP_EN | BITS_RX_STOP_EN) + +#define HW_CAP_EN 0x0c00 +#define RSS_HASH_KEY 0x0c04 +#define RSS_HASH_CONFIG 0x0c08 +#define TCPV4_L3_HASH_EN BIT(0) +#define TCPV4_L4_HASH_EN BIT(1) +#define TCPV4_VLAN_HASH_EN BIT(2) +#define UDPV4_L3_HASH_EN BIT(4) +#define UDPV4_L4_HASH_EN BIT(5) +#define UDPV4_VLAN_HASH_EN BIT(6) +#define IPV4_L3_HASH_EN BIT(8) +#define IPV4_VLAN_HASH_EN BIT(9) +#define TCPV6_L3_HASH_EN BIT(12) +#define TCPV6_L4_HASH_EN BIT(13) +#define TCPV6_VLAN_HASH_EN BIT(14) +#define UDPV6_L3_HASH_EN BIT(16) +#define UDPV6_L4_HASH_EN BIT(17) +#define UDPV6_VLAN_HASH_EN BIT(18) +#define IPV6_L3_HASH_EN BIT(20) +#define IPV6_VLAN_HASH_EN BIT(21) +#define DEF_HASH_CFG 0x377377 + +#define RSS_IND_TBL 0x0c0c +#define BIT_IND_TBL_READY BIT(13) +#define BIT_IND_TLB_WR BIT(12) +#define RSS_RAW_PMU_INT 0x0c10 +#define RSS_QUEUE1_START_ADDR 0x0c20 +#define RX_BQ_START_ADDR_QUEUE(i) (RSS_QUEUE1_START_ADDR + \ + ((i) - 1) * 0x10) +#define RSS_QUEUE1_DEPTH 0x0c24 +#define RX_BQ_WR_ADDR_QUEUE1 0x0c28 +#define RX_BQ_RD_ADDR_QUEUE1 0x0c2c +#define RSS_QUEUE1_ENA_INT 0x0c90 +#define RSS_ENA_INT_QUEUE(i) (RSS_QUEUE1_ENA_INT + ((i) - 1) * 0x4) +#define RX_BQ_DEPTH_QUEUE(i) (RSS_QUEUE1_DEPTH + ((i) - 1) * 0x10) +#define RX_BQ_WR_ADDR_QUEUE(i) ((i) ? (RX_BQ_WR_ADDR_QUEUE1 + \ + ((i) - 1) * 0x10) : RX_BQ_WR_ADDR) +#define RX_BQ_RD_ADDR_QUEUE(i) ((i) ? (RX_BQ_RD_ADDR_QUEUE1 + \ + ((i) - 1) * 0x10) : RX_BQ_RD_ADDR) + +#define DEF_INT_MASK_QUEUE(i) (0x3 << (2 * ((i) - 1))) + +#define GMAC_SPEED_1000 0x05 +#define GMAC_SPEED_100 0x01 +#define GMAC_SPEED_10 0x00 + +enum higmac_tx_err { + ERR_NONE = 0, + ERR_DESC_CFG = (1 << 0), + ERR_DATA_LEN = (1 << 1), + ERR_DESC_NFRAG_NUM = (1 << 2), + ERR_DESC_IP_HDR_LEN = (1 << 3), + ERR_DESC_PROT_HDR_LEN = (1 << 4), + ERR_DESC_MTU = (1 << 5), + ERR_LINK_SGPKT_LEN = (1 << 8), + ERR_LINK_TSOPKT_LINEAR = (1 << 9), + ERR_LINK_NFRAG_LEN = (1 << 10), + ERR_LINK_TOTAL_LEN = (1 << 11), + ERR_HDR_TCP_BCMC = (1 << 12), + ERR_HDR_UDP_BC = (1 << 13), + ERR_HDR_VLAN_IP_TYPE = (1 << 14), + ERR_HDR_IP_TYPE = (1 << 15), + ERR_HDR_IP_VERSION = (1 << 16), + ERR_HDR_IP_HDR_LEN = (1 << 17), + ERR_HDR_IP_TOTAL_LEN = (1 << 18), + ERR_HDR_IPV6_TTL_PROT = (1 << 19), + ERR_HDR_IPV4_OFFSET = (1 << 20), + ERR_HDR_IPV4_TTL_PROT = (1 << 21), + ERR_HDR_UDP_LEN = (1 << 22), + ERR_HDR_TCP_LEN = (1 << 23), + ERR_DESC = (ERR_DESC_CFG | ERR_DATA_LEN | + ERR_DESC_NFRAG_NUM | ERR_DESC_IP_HDR_LEN | + ERR_DESC_PROT_HDR_LEN | ERR_DESC_MTU), + ERR_LINK = (ERR_LINK_SGPKT_LEN | ERR_LINK_TSOPKT_LINEAR | + ERR_LINK_NFRAG_LEN | ERR_LINK_TOTAL_LEN), + ERR_HDR = (ERR_HDR_TCP_BCMC | ERR_HDR_UDP_BC | + ERR_HDR_VLAN_IP_TYPE | ERR_HDR_IP_TYPE | + ERR_HDR_IP_VERSION | ERR_HDR_IP_HDR_LEN | + ERR_HDR_IP_TOTAL_LEN | ERR_HDR_IPV6_TTL_PROT | + ERR_HDR_IPV4_OFFSET | ERR_HDR_IPV4_TTL_PROT | + ERR_HDR_UDP_LEN | ERR_HDR_TCP_LEN), + ERR_ALL = (ERR_DESC | ERR_LINK | ERR_HDR), +}; + +#define HIGMAC_DRIVER_NAME "hi_gmac_v200" + +#define HIGMAC_MAC_CLK_NAME "higmac_clk" +#define HIGMAC_MACIF_CLK_NAME "macif_clk" + +#define HIGMAC_PORT_RST_NAME "port_reset" +#define HIGMAC_MACIF_RST_NAME "macif_reset" +#define HIGMAC_PHY_RST_NAME "phy_reset" + +#define HIGMAC_TSO_DEBUG + +#include "tso.h" + +#define HIGMAC_IOSIZE (0x1000) +#define HIGMAC_OFFSET (HIGMAC_IOSIZE) + +#define RX_BQ_IN_INT BIT(17) +#define TX_RQ_IN_INT BIT(19) +#define RX_BQ_IN_TIMEOUT_INT BIT(28) +#define TX_RQ_IN_TIMEOUT_INT BIT(29) + +#define DEF_INT_MASK (RX_BQ_IN_INT | RX_BQ_IN_TIMEOUT_INT | \ + TX_RQ_IN_INT | TX_RQ_IN_TIMEOUT_INT) + +/* write or read descriptor need memory barrier */ +#define HIGMAC_SYNC_BARRIER() do { isb(); smp_mb(); } while (0) + +enum { + GMAC_PORT0, + GMAC_PORT1, + GMAC_MAX_PORT, +}; + +enum { + MEM_GMAC_IOBASE, + MEM_MACIF_IOBASE, + MEM_FWD_IOBASE, + MEM_CTRL_IOBASE, +}; + +#define HIGMAC_LINKED (1 << 0) +#define HIGMAC_DUP_FULL (1 << 1) +#define HIGMAC_SPD_10M (1 << 2) +#define HIGMAC_SPD_100M (1 << 3) +#define HIGMAC_SPD_1000M (1 << 4) + +#define RX_BQ_INT_THRESHOLD 0x40 /* TODO: */ +#define TX_RQ_INT_THRESHOLD 0x20 /* TODO: */ + +#define HIGMAC_MONITOR_TIMER (msecs_to_jiffies(200)) + +#define HIETH_MAX_FRAME_SIZE (1600+128) +#define SKB_SIZE (HIETH_MAX_FRAME_SIZE) + +#define DESC_VLD_FREE 0 +#define DESC_VLD_BUSY 1 + +#define DESC_FL_FIRST 2 +#define DESC_FL_MID 0 +#define DESC_FL_LAST 1 +#define DESC_FL_FULL 3 + +#if defined(CONFIG_HIGMAC_DESC_4WORD) +#define DESC_WORD_SHIFT 2 +#else +#define DESC_WORD_SHIFT 3 +#endif +#define DESC_BYTE_SHIFT (DESC_WORD_SHIFT + 2) +#define DESC_WORD_CNT (1 << DESC_WORD_SHIFT) +#define DESC_SIZE (1 << DESC_BYTE_SHIFT) + +#define RX_DESC_NUM 1024 +#define TX_DESC_NUM 1024 + +/* DMA descriptor ring helpers */ +#define dma_ring_incr(n, s) (((n) + 1) & ((s) - 1)) +#define dma_cnt(n) ((n) >> DESC_BYTE_SHIFT) +#define dma_byte(n) ((n) << DESC_BYTE_SHIFT) + +#define RSS_HASH_KEY_SIZE 4 +#define RSS_INDIRECTION_TABLE_SIZE 128 +#define RSS_NUM_RXQS 4 + +#if defined(CONFIG_HIGMAC_DESC_4WORD) +struct higmac_desc { + unsigned int data_buff_addr; + + unsigned int buffer_len:11; +#if defined(CONFIG_HIGMAC_RXCSUM) + unsigned int reserve2:1; + unsigned int payload_csum_err:1; + unsigned int header_csum_err:1; + unsigned int payload_csum_done:1; + unsigned int header_csum_done:1; +#else + unsigned int reserve2:5; +#endif + unsigned int data_len:11; + unsigned int reserve1:2; + unsigned int fl:2; + unsigned int descvid:1; + + unsigned int rxhash; + unsigned int reserve3:8; + unsigned int l3_hash:1; + unsigned int has_hash:1; + unsigned int skb_id:14; + unsigned int reserve31:8; +}; + +struct higmac_tso_desc { + unsigned int data_buff_addr; + union { + struct { + unsigned int prot_hdr_len:4; + unsigned int ip_hdr_len:4; + unsigned int prot_type:1; + unsigned int ip_ver:1; + unsigned int vlan_flag:1; + unsigned int nfrags_num:5; + unsigned int data_len:11; + unsigned int reservel:1; + unsigned int tso_flag:1; + unsigned int coe_flag:1; + unsigned int sg_flag:1; + unsigned int hw_own:1; + } tx; + unsigned int val; + } desc1; + unsigned int reserve_desc2; + unsigned int tx_err; +}; +#else +struct higmac_desc { + unsigned int data_buff_addr; + + unsigned int buffer_len:11; +#if defined(CONFIG_HIGMAC_RXCSUM) + unsigned int reserve2:1; + unsigned int payload_csum_err:1; + unsigned int header_csum_err:1; + unsigned int payload_csum_done:1; +#else + unsigned int reserve2:5; +#endif + unsigned int data_len:11; + unsigned int reserve1:2; + unsigned int fl:2; + unsigned int descvid:1; + + unsigned int rxhash; + unsigned int reserve3:8; + unsigned int l3_hash:1; + unsigned int has_hash:1; + unsigned int skb_id:14; + unsigned int reserve31:8; + + unsigned int reserve4; + unsigned int reserve5; + unsigned int reserve6; + unsigned int reserve7; +}; + +struct higmac_tso_desc { + unsigned int data_buff_addr; + union { + struct { + unsigned int prot_hdr_len:4; + unsigned int ip_hdr_len:4; + unsigned int prot_type:1; + unsigned int ip_ver:1; + unsigned int vlan_flag:1; + unsigned int nfrags_num:5; + unsigned int data_len:11; + unsigned int reservel:1; + unsigned int tso_flag:1; + unsigned int coe_flag:1; + unsigned int sg_flag:1; + unsigned int hw_own:1; + } tx; + unsigned int val; + } desc1; + unsigned int reserve_desc2; + unsigned int reserve3; + + unsigned int tx_err; + unsigned int reserve5; + unsigned int reserve6; + unsigned int reserve7; +}; +#endif + +#define SKB_MAGIC ((struct sk_buff *)0x5a) + +struct higmac_napi { + struct napi_struct napi; + struct higmac_netdev_local *ndev_priv; + int rxq_id; +}; + +struct higmac_rss_info { + u32 hash_cfg; + u32 ind_tbl_size; + u8 ind_tbl[RSS_INDIRECTION_TABLE_SIZE]; + u8 key[RSS_HASH_KEY_SIZE]; +}; + +#define QUEUE_NUMS (4) +struct higmac_netdev_local { +#define HIGMAC_SG_DESC_ADD (64U) + struct sg_desc *dma_sg_desc ____cacheline_aligned; + dma_addr_t dma_sg_phy; + unsigned int sg_head; + unsigned int sg_tail; + unsigned int sg_count; + + void __iomem *gmac_iobase; + void __iomem *macif_base; + void __iomem *crg_iobase; + void __iomem *peri_iobase; + void __iomem *otp_iobase; + int index; /* 0 -- mac0, 1 -- mac1 */ + + bool tso_supported; + bool has_rxhash_cap; + bool has_rss_cap; + int num_rxqs; + struct higmac_napi q_napi[RSS_NUM_RXQS]; + int irq[RSS_NUM_RXQS]; + struct higmac_rss_info rss_info; + + struct reset_control *port_rst; + struct reset_control *macif_rst; + struct reset_control *phy_rst; + + struct { + struct higmac_desc *desc; + dma_addr_t phys_addr; + int *sg_desc_offset; + + /* how many desc in the desc pool */ + unsigned int count; + struct sk_buff **skb; + + /* sizeof(desc) * count */ + unsigned int size; + } pool[QUEUE_NUMS + RSS_NUM_RXQS - 1]; +#define rx_fq pool[0] +#define rx_bq pool[1] +#define tx_bq pool[2] +#define tx_rq pool[3] + + struct sk_buff **tx_skb; + struct sk_buff **rx_skb; + + struct device *dev; + struct net_device *netdev; + struct clk *pub_clk; + struct clk *clk; + struct clk *macif_clk; + + struct mii_bus *bus; + struct higmac_adapter *adapter; + + struct timer_list monitor; + + char phy_name[MII_BUS_ID_SIZE]; + struct phy_device *phy; + struct device_node *phy_node; + phy_interface_t phy_mode; + bool autoeee; + bool internal_phy; + u32 trim_params; + unsigned int phy_addr; + int (*eee_init)(struct phy_device *phy_dev); + /* gpio reset pin if has */ + void __iomem *gpio_base; + u32 gpio_bit; + + int old_link; + int old_speed; + int old_duplex; + + /* receive packet lock */ + spinlock_t rxlock; + /* transmit packet lock */ + spinlock_t txlock; + /* power management lock */ + spinlock_t pmtlock; + + int dev_state; /* INIT/OPEN/CLOSE */ + char pm_state; + bool wol_enable; + u32 msg_enable; +#define INIT (0) /* power off gmac */ +#define OPEN (1) /* power on gmac */ +#define CLOSE (2) /* power off gmac */ +}; + +enum tso_version { + VER_NO_TSO = 0x0, + VER_BYTE_SPLICE = 0x1, + VER_SG_COE = 0x2, + VER_TSO = 0x3, +}; + +#ifdef HIGMAC_TSO_DEBUG +#define MAX_RECORD (100) +struct send_pkt_info { + struct higmac_tso_desc desc; + int status; +}; +#endif + +#if defined(CONFIG_ARCH_HI3796MV2X) +#define HIGMAC_HAS_INTERNAL_PHY +#define HIGMAC_INTERNAL_PHY_TRIM +#endif + +int higmac_tx_avail(struct higmac_netdev_local *ld); + +/* board related func */ +void higmac_mac_core_reset(struct higmac_netdev_local *priv); +void higmac_hw_internal_phy_reset(struct higmac_netdev_local *priv); +void higmac_hw_external_phy_reset(struct higmac_netdev_local *priv); +void higmac_internal_phy_clk_disable(struct higmac_netdev_local *priv); +void higmac_internal_phy_clk_enable(struct higmac_netdev_local *priv); +void higmac_hw_all_clk_disable(struct higmac_netdev_local *priv); +void higmac_hw_all_clk_enable(struct higmac_netdev_local *priv); +void higmac_internal_fephy_trim(struct mii_bus *bus, int phyaddr, + u32 trim_params); + +/* board independent func */ +void higmac_hw_phy_reset(struct higmac_netdev_local *priv); + +void pmt_reg_restore(struct higmac_netdev_local *ld); +#endif diff --git a/drivers/net/ethernet/hisilicon/higmac/mdio.c b/drivers/net/ethernet/hisilicon/higmac/mdio.c new file mode 100644 index 000000000..ee6f6abf1 --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/mdio.c @@ -0,0 +1,52 @@ +#include "mdio.h" +#include "util.h" +#include "higmac.h" + +static int wait_mdio_ready(struct higmac_netdev_local *ld) +{ + int timeout_us = 1000; + + while (--timeout_us && !test_mdio_ready(ld)) + udelay(1); + + return timeout_us; +} + +int higmac_mdio_read(struct mii_bus *bus, int phy, int reg) +{ + struct higmac_netdev_local *ld = bus->priv; + int timeout = 1000; + int val; + + if (!wait_mdio_ready(ld)) + return 0; + + mdio_start_phyread(ld, phy, reg); + + while (!wait_mdio_ready(ld) && timeout-- > 0) + udelay(1); + + if (timeout <= 0 || !test_mdio_read_data_done(ld)) + return 0; + + val = mdio_get_phyread_val(ld); + + higmac_trace(2, "mdio read phy:%x, reg:%x = %x\n", phy, reg, val); + + return val; +} + +int higmac_mdio_write(struct mii_bus *bus, int phy, int reg, u16 val) +{ + struct higmac_netdev_local *ld = bus->priv; + + if (!wait_mdio_ready(ld)) + return 0; + + higmac_trace(2, "mdio write phy:%x, reg:%x = %x\n", phy, reg, val); + + mdio_set_phywrite_val(ld, val); + mdio_phywrite(ld, phy, reg); + + return val; +} diff --git a/drivers/net/ethernet/hisilicon/higmac/mdio.h b/drivers/net/ethernet/hisilicon/higmac/mdio.h new file mode 100644 index 000000000..12eaf56ca --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/mdio.h @@ -0,0 +1,89 @@ +#ifndef __HIGMAC_MDIO_H__ +#define __HIGMAC_MDIO_H__ + +#include "higmac.h" + +/* FIXME: s40v200 may change */ +#define HIGMAC_MDIO_IO_BASE 0x10090000 +#define HIGMAC_MDIO_IO_SIZE (0x1000) +#define HIGMAC_MDIO_FRQDIV (0) + +#define REG_MDIO_SINGLE_CMD 0x000003C0 +#define REG_MDIO_SINGLE_DATA 0x000003C4 +#define REG_MDIO_RDATA_STATUS 0x000003D0 + +/* 0:mdio operation done, 1: start mdio operation */ +#define mdio_cmd MK_BITS(20, 1) +#define mdio_wr_data MK_BITS(0, 16) +#define mdio_rdata_status MK_BITS(0, 1) + +#define mdio_cmd_read (2) +#define mdio_cmd_write (1) + +#define higmac_mdio_readl(ld, ofs) \ + ({ unsigned int reg = readl((ld)->gmac_iobase + (ofs)); \ + higmac_trace(2, "readl(0x%04X) = 0x%08X", (ofs), reg); reg; }) + +#define higmac_mdio_writel(ld, v, ofs) \ + do { writel(v, (ld)->gmac_iobase + (ofs));\ + higmac_trace(2, "writel(0x%04X) = 0x%08X", (ofs),\ + (unsigned int)(v)); \ + } while (0) + +#define higmac_mdio_writel_bits(ld, v, ofs, bits_desc) \ + do { \ + unsigned int _bits_desc = bits_desc; \ + unsigned int _shift = (_bits_desc) >> 16; \ + unsigned int _reg = higmac_mdio_readl(ld, ofs); \ + unsigned int _mask = ((_bits_desc & 0x3F) < 32) ? \ + (((1 << (_bits_desc & 0x3F)) - 1) << (_shift)) : 0xffffffff;\ + higmac_mdio_writel(ld, (_reg & (~_mask))\ + | (((v) << (_shift)) & _mask), ofs); \ + } while (0) + +#define higmac_mdio_readl_bits(ld, ofs, bits_desc) \ + ({ unsigned int _bits_desc = bits_desc; \ + unsigned int _shift = (_bits_desc) >> 16; \ + unsigned int _mask = ((_bits_desc & 0x3F) < 32) ? \ + (((1 << (_bits_desc & 0x3F)) - 1) << (_shift)) : 0xffffffff; \ + (higmac_mdio_readl(ld, ofs) & _mask) >> (_shift); }) + +#define mdio_mk_rwctl(rw, phy_exaddr, phy_regnum) \ + (((0x1)<<20) | \ + (((rw)&0x3)<<16) | \ + (((phy_exaddr)&0x1f)<<8) | \ + ((phy_regnum)&0x1f)) + +#define mdio_start_phyread(ld, phy_addr, regnum) \ + higmac_mdio_writel(ld,\ + mdio_mk_rwctl(mdio_cmd_read, phy_addr, regnum),\ + REG_MDIO_SINGLE_CMD) + +#define mdio_get_phyread_val(ld) \ + (higmac_mdio_readl(ld, REG_MDIO_SINGLE_DATA) >> 16) + +#define mdio_set_phywrite_val(ld, val) \ +do { \ + int reg = 0; \ + higmac_mdio_writel_bits(ld, val, REG_MDIO_SINGLE_DATA, mdio_wr_data);\ + reg = higmac_mdio_readl(ld, REG_MDIO_SINGLE_DATA); \ + higmac_trace(2, "write reg 0x%x, bits:0x%x= 0x%x, then read = 0x%x",\ + REG_MDIO_SINGLE_DATA, mdio_wr_data, val, reg);\ +} while (0) + +#define mdio_phywrite(ld, phy_addr, regnum) \ + higmac_mdio_writel(ld,\ + mdio_mk_rwctl(mdio_cmd_write, phy_addr, regnum),\ + REG_MDIO_SINGLE_CMD) + +#define test_mdio_ready(ld) \ + (higmac_mdio_readl_bits((ld), REG_MDIO_SINGLE_CMD, mdio_cmd) == 0) + +#define test_mdio_read_data_done(ld) \ + (higmac_mdio_readl_bits(ld, REG_MDIO_RDATA_STATUS, mdio_rdata_status)\ + == 0) + +int higmac_mdio_read(struct mii_bus *bus, int phy, int reg); +int higmac_mdio_write(struct mii_bus *bus, int phy, int reg, u16 val); + +#endif diff --git a/drivers/net/ethernet/hisilicon/higmac/phy_fix.c b/drivers/net/ethernet/hisilicon/higmac/phy_fix.c new file mode 100644 index 000000000..82a6f7ddd --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/phy_fix.c @@ -0,0 +1,376 @@ +#include "higmac.h" +#include "phy_fix.h" +#include "mdio.h" + +static const u32 phy_fix_param[] = { +#include "festa_v200.h" +}; + +static const u32 phy_v300_fix_param[] = { +#include "festa_v300_2204.h" +}; + +#ifdef HIGMAC_INTERNAL_PHY_TRIM +#define REG_LD_AM 0x3050 +#define LD_AM_MASK GENMASK(4, 0) +#define REG_LDO_AM 0x3051 +#define LDO_AM_MASK GENMASK(2, 0) +#define REG_R_TUNING 0x3052 +#define R_TUNING_MASK GENMASK(5, 0) +#define REG_WR_DONE 0x3053 +#define REG_DEF_ATE 0x3057 +#define DEF_LD_AM 0x0f +#define DEF_LDO_AM 0x7 +#define DEF_R_TUNING 0x15 + +static inline int higmac_phy_expanded_read(struct mii_bus *bus, int phyaddr, + u32 reg_addr) +{ + int ret; + + higmac_mdio_write(bus, phyaddr, MII_EXPMA, reg_addr); + ret = higmac_mdio_read(bus, phyaddr, MII_EXPMD); + + return ret; +} + +static inline int higmac_phy_expanded_write(struct mii_bus *bus, int phyaddr, + u32 reg_addr, u16 val) +{ + int ret; + + higmac_mdio_write(bus, phyaddr, MII_EXPMA, reg_addr); + ret = higmac_mdio_write(bus, phyaddr, MII_EXPMD, val); + + return ret; +} + +void higmac_use_default_trim(struct mii_bus *bus, int phyaddr) +{ + unsigned short v; + int timeout = 3; + + pr_info("No OTP data, festa PHY use default ATE parameters!\n"); + + do { + msleep(250); + v = higmac_phy_expanded_read(bus, phyaddr, REG_DEF_ATE); + v &= BIT(0); + } while (!v && --timeout); + WARN(!timeout, "festa PHY 0x3057 wait bit0 timeout!\n"); + + mdelay(5); +} +#endif + +#ifdef HIGMAC_INTERNAL_PHY_TRIM +void higmac_internal_fephy_trim(struct mii_bus *bus, int phyaddr, + u32 trim_params) +{ + unsigned short ld_amptlitude; + unsigned short ldo_amptlitude; + unsigned short r_tuning_val; + unsigned short v; + int timeout = 3000; + + ld_amptlitude = DEF_LD_AM; + ldo_amptlitude = DEF_LDO_AM; + r_tuning_val = DEF_R_TUNING; + + if (!trim_params) { + higmac_use_default_trim(bus, phyaddr); + return; + } + + ld_amptlitude = trim_params & LD_AM_MASK; + ldo_amptlitude = (trim_params >> 8) & LDO_AM_MASK; + r_tuning_val = (trim_params >> 16) & R_TUNING_MASK; + + v = higmac_phy_expanded_read(bus, phyaddr, REG_LD_AM); + v = (v & ~LD_AM_MASK) | (ld_amptlitude & LD_AM_MASK); + higmac_phy_expanded_write(bus, phyaddr, REG_LD_AM, v); + + v = higmac_phy_expanded_read(bus, phyaddr, REG_LDO_AM); + v = (v & ~LDO_AM_MASK) | (ldo_amptlitude & LDO_AM_MASK); + higmac_phy_expanded_write(bus, phyaddr, REG_LDO_AM, v); + + v = higmac_phy_expanded_read(bus, phyaddr, REG_R_TUNING); + v = (v & ~R_TUNING_MASK) | (r_tuning_val & R_TUNING_MASK); + higmac_phy_expanded_write(bus, phyaddr, REG_R_TUNING, v); + + v = higmac_phy_expanded_read(bus, phyaddr, REG_WR_DONE); + WARN(v & BIT(1), "festa PHY 0x3053 bit1 CFG_ACK value: 1\n"); + v = v | BIT(0); + higmac_phy_expanded_write(bus, phyaddr, REG_WR_DONE, v); + + do { + usleep_range(100, 150); + v = higmac_phy_expanded_read(bus, phyaddr, REG_WR_DONE); + v &= BIT(1); + } while (!v && --timeout); + WARN(!timeout, "festa PHY 0x3053 wait bit1 CFG_ACK timeout!\n"); + + mdelay(5); + + pr_info("FEPHY:addr=%d, la_am=0x%x, ldo_am=0x%x, r_tuning=0x%x\n", + phyaddr, + higmac_phy_expanded_read(bus, phyaddr, REG_LD_AM), + higmac_phy_expanded_read(bus, phyaddr, REG_LDO_AM), + higmac_phy_expanded_read(bus, phyaddr, REG_R_TUNING)); +} +#else +void higmac_internal_fephy_trim(struct mii_bus *bus, int phyaddr, + u32 trim_params) +{ +} +#endif + +static int __maybe_unused set_phy_expanded_access_mode(struct phy_device *phy_dev, int access_mode) +{ + int v, ret; + + v = phy_read(phy_dev, MII_MISC_CTL); + v &= (~0x3); + v |= (access_mode & 0x3); + ret = phy_write(phy_dev, MII_MISC_CTL, v); + + return ret; +} + +static int __maybe_unused phy_expanded_read(struct phy_device *phy_dev, u32 reg_addr) +{ + int v, ret; + + v = phy_read(phy_dev, MII_BMCR); + v |= BMCR_PDOWN; + phy_write(phy_dev, MII_BMCR, v); + + phy_write(phy_dev, MII_EXPMA, reg_addr); + ret = phy_read(phy_dev, MII_EXPMD); + + v = phy_read(phy_dev, MII_BMCR); + v &= (~BMCR_PDOWN); + phy_write(phy_dev, MII_BMCR, v); + + return ret; +} + +static int __maybe_unused phy_expanded_write(struct phy_device *phy_dev, u32 reg_addr, u16 val) +{ + int v, ret; + + v = phy_read(phy_dev, MII_BMCR); + v |= BMCR_PDOWN; + phy_write(phy_dev, MII_BMCR, v); + + phy_write(phy_dev, MII_EXPMA, reg_addr); + ret = phy_write(phy_dev, MII_EXPMD, val); + + v = phy_read(phy_dev, MII_BMCR); + v &= (~BMCR_PDOWN); + phy_write(phy_dev, MII_BMCR, v); + + return ret; +} + +static int phy_expanded_write_bulk(struct phy_device *phy_dev, const u32 reg_and_val[], + int count) +{ + int i, v, ret = 0; + u32 reg_addr; + u16 val; + + v = phy_read(phy_dev, MII_BMCR); + v |= BMCR_PDOWN; + phy_write(phy_dev, MII_BMCR, v); + + for (i = 0; i < (2 * count); i += 2) { + reg_addr = reg_and_val[i]; + val = (u16) reg_and_val[i + 1]; + phy_write(phy_dev, MII_EXPMA, reg_addr); + ret = phy_write(phy_dev, MII_EXPMD, val); + } + + v = phy_read(phy_dev, MII_BMCR); + v &= (~BMCR_PDOWN); + phy_write(phy_dev, MII_BMCR, v); + + return ret; +} + +/* fix FEPHY for better eye diagram */ +static int hisilicon_fephy_fix(struct phy_device *phy_dev) +{ + int count; + + count = sizeof(phy_fix_param) / sizeof(phy_fix_param[0]); + if (count % 2) + pr_warn("internal FEPHY fix register count is not right.\n"); + count /= 2; + + phy_expanded_write_bulk(phy_dev, phy_fix_param, count); + + return 0; +} + +static int hisilicon_fephy_v300_fix(struct phy_device *phy_dev) +{ + int count; + + count = sizeof(phy_v300_fix_param) / sizeof(phy_v300_fix_param[0]); + if (count % 2) + pr_warn("internal FEPHY fix register count is not right.\n"); + count /= 2; + + phy_expanded_write_bulk(phy_dev, phy_v300_fix_param, count); + + return 0; +} + +/* + * for a better Electromagnetic Compatibility + */ +static int realtek_gephy_fix(struct phy_device *phy_dev) +{ +#if 0 + int v; + + pr_info("RealTek phy fix: phy id=0x%x\n", phy_dev->phy_id); + + v = phy_read(phy_dev, 16); /* PHYCR reg */ + v |= 1 << 4; /* clk125 remains at logic low */ + phy_write(phy_dev, 16, v); + + phy_write(phy_dev, 31, 0x0007); /* set to extension page */ + phy_write(phy_dev, 30, 0x00A0); /* set to extension page 160 */ + + v = phy_read(phy_dev, 26); + v &= ~(1 << 2); /* enable RXC SSC */ + phy_write(phy_dev, 26, v); + + phy_write(phy_dev, 31, 0x0); /* back to page 0 */ + +#endif + + return 0; +} + +/* copy from phy_quirk() in hieth-sf/net.c */ +static int KSZ8051MNL_phy_fix(struct phy_device *phy_dev) +{ + u32 v; + + if (phy_dev->interface != PHY_INTERFACE_MODE_RMII) + return 0; + + v = phy_read(phy_dev, 0x1F); + v |= (1 << 7); /* set phy RMII 50MHz clk; */ + phy_write(phy_dev, 0x1F, v); + + v = phy_read(phy_dev, 0x16); + v |= (1 << 1); /* set phy RMII override; */ + phy_write(phy_dev, 0x16, v); + + return 0; +} + +/* copy from phy_quirk() in hieth-sf/net.c */ +static int KSZ8081RNB_phy_fix(struct phy_device *phy_dev) +{ + u32 v; + + if (phy_dev->interface != PHY_INTERFACE_MODE_RMII) + return 0; + + v = phy_read(phy_dev, 0x1F); + v |= (1 << 7); /* set phy RMII 50MHz clk; */ + phy_write(phy_dev, 0x1F, v); + + return 0; +} + +static int KSZ9031RNX_phy_fix(struct phy_device *phy_dev) +{ + u32 v; + + /* RX_CLK Pad Skew: 1_1101(+0.84) */ + v = phy_mmd_read(phy_dev, 0x2, 0x8); + v = (v & ~0x1F) | 0x1D; + phy_mmd_write(phy_dev, 0x2, 0x8, v); + + return 0; +} + +static int at803x_phy_debug_read(struct phy_device *phy_dev, u32 reg_addr) +{ + int ret; + + phy_write(phy_dev, MII_ATH_DEBUG_ADDR, reg_addr); + ret = phy_read(phy_dev, MII_ATH_DEBUG_DATA); + + return ret; +} + +static int at803x_phy_debug_write(struct phy_device *phy_dev, u32 reg_addr, u16 val) +{ + int ret; + + phy_write(phy_dev, MII_ATH_DEBUG_ADDR, reg_addr); + ret = phy_write(phy_dev, MII_ATH_DEBUG_DATA, val); + + return ret; +} + +static int at803x_phy_fix(struct phy_device *phy_dev) +{ + /* PHY-AR8035 */ + u16 tx_delay; + int ret; + + /* enable rgmii tx clock delay */ + tx_delay = at803x_phy_debug_read(phy_dev, 0x05); + tx_delay |= BIT(8); + ret = at803x_phy_debug_write(phy_dev, 0x05, tx_delay); + + return ret; +} + +#define RTL8211F_PAGE_SELECT 0x1f +#define RTL8211F_TX_DELAY BIT(8) +static int rtl8211f_phy_fix(struct phy_device *phy_dev) +{ + u16 reg; + + if (phy_dev->interface != PHY_INTERFACE_MODE_RGMII) + return 0; + + /* enable TXDLY */ + phy_write(phy_dev, RTL8211F_PAGE_SELECT, 0xd08); + reg = phy_read(phy_dev, 0x11); + reg |= RTL8211F_TX_DELAY; + phy_write(phy_dev, 0x11, reg); + /* restore to default page 0 */ + phy_write(phy_dev, RTL8211F_PAGE_SELECT, 0x0); + + return 0; +} + +void phy_register_fixups(void) +{ + phy_register_fixup_for_uid(REALTEK_PHY_ID_8211EG, + REALTEK_PHY_MASK, realtek_gephy_fix); + phy_register_fixup_for_uid(HISILICON_PHY_ID_FESTAV200, + HISILICON_PHY_MASK, hisilicon_fephy_fix); + phy_register_fixup_for_uid(HISILICON_PHY_ID_FESTAV300, + HISILICON_PHY_MASK, hisilicon_fephy_v300_fix); + phy_register_fixup_for_uid(PHY_ID_KSZ8051MNL, + DEFAULT_PHY_MASK, KSZ8051MNL_phy_fix); + phy_register_fixup_for_uid(PHY_ID_KSZ8081RNB, + DEFAULT_PHY_MASK, KSZ8081RNB_phy_fix); + phy_register_fixup_for_uid(PHY_ID_KSZ9031RNX, + DEFAULT_PHY_MASK, KSZ9031RNX_phy_fix); + phy_register_fixup_for_uid(ATH8035_PHY_ID, + ATH_PHY_ID_MASK, at803x_phy_fix); + phy_register_fixup_for_uid(PHY_ID_RTL8211F, + PHY_ID_MASK_RTL8211F, rtl8211f_phy_fix); +} diff --git a/drivers/net/ethernet/hisilicon/higmac/phy_fix.h b/drivers/net/ethernet/hisilicon/higmac/phy_fix.h new file mode 100644 index 000000000..59b9c8781 --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/phy_fix.h @@ -0,0 +1,44 @@ +#ifndef __HIGMAC_FEPHY_FIX_H +#define __HIGMAC_FEPHY_FIX_H + +/* MMD: MDIO Manageable Device */ +#define MACR 0x0D +#define MAADR 0x0E + +#define MII_MISC_CTL 0x16 +#define MII_EXPMD 0x1D +#define MII_EXPMA 0x1E + +#define MII_ATH_DEBUG_ADDR 0x1D +#define MII_ATH_DEBUG_DATA 0x1E + +#define XMODE_8bit_RW_NO_AUTO_INC 0x0 +#define XMODE_8bit_RW_AUTO_INC 0x1 +#define XMODE_16bit_RW_AUTO_INC 0x2 +#define XMODE_8bit_WO_BUNDLED_ADDR 0x3 + +#define REALTEK_PHY_ID_8211EG (0x001cc915) +#define REALTEK_PHY_MASK (0xfffffff0) +#define PHY_ID_RTL8211F 0x001cc916 +#define PHY_ID_MASK_RTL8211F 0x001fffff +#define HISILICON_PHY_ID_FE_S40 (0x20669813) +#define HISILICON_PHY_ID_FESTAV200 (0x20669823) +#define HISILICON_PHY_ID_FESTAV300 (0x20669843) +#define HISILICON_PHY_MASK (0xfffffff0) + +/* the following two copied from phy_quirk() + * in "./drivers/net/ethernet/hieth-sf/net.c" + */ +#define PHY_ID_KSZ8051MNL (0x00221550) +#define PHY_ID_KSZ8081RNB (0x00221560) +#define PHY_ID_KSZ9031RNX (0x00221620) +#define DEFAULT_PHY_MASK (0xfffffff0) + +#define ATH8035_PHY_ID (0x004dd072) +#define ATH_PHY_ID_MASK (0xffffffef) + +int phy_mmd_read(struct phy_device *phy_dev, u32 mmd_device, u32 regnum); +int phy_mmd_write(struct phy_device *phy_dev, u32 mmd_device, u32 regnum, u16 val); + +void phy_register_fixups(void); +#endif diff --git a/drivers/net/ethernet/hisilicon/higmac/pm.c b/drivers/net/ethernet/hisilicon/higmac/pm.c new file mode 100644 index 000000000..6e65ad08e --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/pm.c @@ -0,0 +1,357 @@ +#include +#include "higmac.h" + +#define N (31) +#define FILTERS (4) +struct pm_config { + unsigned char index; /* bit0--eth0 bit1--eth1 */ + unsigned char uc_pkts_enable; + unsigned char magic_pkts_enable; + unsigned char wakeup_pkts_enable; + struct { + unsigned int mask_bytes:N; + unsigned int reserved:1; /* userspace ignore this bit */ + unsigned char offset; /* >= 12 */ + unsigned char value[N]; /* byte string */ + unsigned char valid; /* valid filter */ + } filter[FILTERS]; +}; + +struct pm_reg_config { + unsigned int pmt_ctrl; + unsigned int pmt_mask0; + unsigned int pmt_mask1; + unsigned int pmt_mask2; + unsigned int pmt_mask3; + unsigned int pmt_cmd; + unsigned int pmt_offset; + unsigned int pmt_crc1_0; + unsigned int pmt_crc3_2; +}; + +struct pm_reg_config pm_reg_config_backup; + +#define PMT_CTRL 0xa00 +#define PMT_MASK0 0xa04 +#define PMT_MASK1 0xa08 +#define PMT_MASK2 0xa0c +#define PMT_MASK3 0xa10 +#define PMT_CMD 0xa14 +#define PMT_OFFSET 0xa18 +#define PMT_CRC1_0 0xa1c +#define PMT_CRC3_2 0xa20 +#define MASK_INVALID_BIT (1 << 31) + +static void init_crc_table(void); +static unsigned short compute_crc(char *message, int nbytes); +static unsigned short calculate_crc16(char *buf, unsigned int mask) +{ + char data[N]; + int i, len = 0; + + memset(data, 0, sizeof(data)); + + for (i = 0; i < N; i++) { + if (mask & 0x1) + data[len++] = buf[i]; + + mask >>= 1; + } + + return compute_crc(data, len); +} + +/* use this func in config pm func */ +void _pmt_reg_backup(struct higmac_netdev_local *ld) +{ + pm_reg_config_backup.pmt_ctrl = readl(ld->gmac_iobase + PMT_CTRL); + pm_reg_config_backup.pmt_mask0 = readl(ld->gmac_iobase + PMT_MASK0); + pm_reg_config_backup.pmt_mask1 = readl(ld->gmac_iobase + PMT_MASK1); + pm_reg_config_backup.pmt_mask2 = readl(ld->gmac_iobase + PMT_MASK2); + pm_reg_config_backup.pmt_mask3 = readl(ld->gmac_iobase + PMT_MASK3); + pm_reg_config_backup.pmt_cmd = readl(ld->gmac_iobase + PMT_CMD); + pm_reg_config_backup.pmt_offset = readl(ld->gmac_iobase + PMT_OFFSET); + pm_reg_config_backup.pmt_crc1_0 = readl(ld->gmac_iobase + PMT_CRC1_0); + pm_reg_config_backup.pmt_crc3_2 = readl(ld->gmac_iobase + PMT_CRC3_2); +} + +#define PM_SET (1) +#define PM_CLEAR (0) + +int pmt_config_gmac(struct pm_config *config, struct higmac_netdev_local *ld) +{ + unsigned int v = 0, cmd = 0, offset = 0; + unsigned short crc[FILTERS] = { 0 }; + unsigned long flags; + int reg_mask = 0; + int i; + + if (!ld) + return -EINVAL; + + spin_lock_irqsave(&ld->pmtlock, flags); + if (config->wakeup_pkts_enable) { + /* disable wakeup_pkts_enable before reconfig? */ + v = readl(ld->gmac_iobase + PMT_CTRL); + v &= ~(1 << 2); + writel(v, ld->gmac_iobase + PMT_CTRL); /* any side effect? */ + } else { + goto config_ctrl; + } + +/* filter.valid mask.valid mask_bytes effect + * 0 * * no use the filter + * 1 0 * all pkts can wake-up(non-exist) + * 1 1 0 all pkts can wake-up + * 1 1 !0 normal filter + */ + /* setup filter */ + for (i = 0; i < FILTERS; i++) { + if (config->filter[i].valid) { + if (config->filter[i].offset < 12) + continue; + /* offset and valid bit */ + offset |= config->filter[i].offset << (i * 8); + cmd |= 1 << (i * 8); /* valid bit */ + /* mask */ + reg_mask = PMT_MASK0 + (i * 4); + + /* for logic, mask valid bit(bit31) must set to 0, + * 0 is enable + */ + v = config->filter[i].mask_bytes; + v &= ~(1 << 31); + writel(v, ld->gmac_iobase + reg_mask); + + /* crc */ + crc[i] = calculate_crc16(config->filter[i].value, v); + if (i <= 1) { /* for filter0 and filter 1 */ + v = readl(ld->gmac_iobase + PMT_CRC1_0); + v &= ~(0xFFFF << (16 * i)); + v |= crc[i] << (16 * i); + writel(v, ld->gmac_iobase + PMT_CRC1_0); + } else { /* filter2 and filter3 */ + v = readl(ld->gmac_iobase + PMT_CRC3_2); + v &= ~(0xFFFF << (16 * (i - 2))); + v |= crc[i] << (16 * (i - 2)); + writel(v, ld->gmac_iobase + PMT_CRC3_2); + } + } + } + + if (cmd) { + writel(offset, ld->gmac_iobase + PMT_OFFSET); + writel(cmd, ld->gmac_iobase + PMT_CMD); + } + +config_ctrl: + v = 0; + if (config->uc_pkts_enable) + v |= 1 << 9; /* uc pkts wakeup */ + if (config->wakeup_pkts_enable) + v |= 1 << 2; /* use filter framework */ + if (config->magic_pkts_enable) + v |= 1 << 1; /* magic pkts wakeup */ + + v |= 3 << 5; /* clear irq status */ + writel(v, ld->gmac_iobase + PMT_CTRL); + + _pmt_reg_backup(ld); + + spin_unlock_irqrestore(&ld->pmtlock, flags); + + return 0; +} + +/* pmt_config will overwrite pre-config */ +int pmt_config(struct net_device *ndev, struct pm_config *config) +{ + static int init; + int ret = -EINVAL; + struct higmac_netdev_local *priv = netdev_priv(ndev); + + if (!init) + init_crc_table(); + + ret = pmt_config_gmac(config, priv); + if (ret) + return ret; + + priv->pm_state = PM_SET; + priv->wol_enable = true; + device_set_wakeup_enable(priv->dev, 1); + + return ret; +} + +inline bool pmt_enter(struct higmac_netdev_local *ld) +{ + int v, pm = false; + unsigned long flags; + + spin_lock_irqsave(&ld->pmtlock, flags); + if (ld->pm_state == PM_SET) { + v = readl(ld->gmac_iobase + PMT_CTRL); + v |= 1 << 0; /* enter power down */ + v |= 1 << 3; /* enable wakeup irq */ + v |= 3 << 5; /* clear irq status */ + writel(v, ld->gmac_iobase + PMT_CTRL); + + ld->pm_state = PM_CLEAR; + pm = true; + } + spin_unlock_irqrestore(&ld->pmtlock, flags); + return pm; +} + +inline void pmt_exit(struct higmac_netdev_local *ld) +{ + int v; + unsigned long flags; + + /* logic auto exit power down mode */ + spin_lock_irqsave(&ld->pmtlock, flags); + + v = readl(ld->gmac_iobase + PMT_CTRL); + v &= ~(1 << 0); /* enter power down */ + v &= ~(1 << 3); /* enable wakeup irq */ + + v |= 3 << 5; /* clear irq status */ + writel(v, ld->gmac_iobase + PMT_CTRL); + + spin_unlock_irqrestore(&ld->pmtlock, flags); + + ld->wol_enable = false; + /* device_set_wakeup_enable(ld->dev, 0); */ +} + +void pmt_reg_restore(struct higmac_netdev_local *ld) +{ + unsigned int v; + unsigned long flags; + + spin_lock_irqsave(&ld->pmtlock, flags); + v = pm_reg_config_backup.pmt_mask0; + writel(v, ld->gmac_iobase + PMT_MASK0); + + v = pm_reg_config_backup.pmt_mask1; + writel(v, ld->gmac_iobase + PMT_MASK1); + + v = pm_reg_config_backup.pmt_mask2; + writel(v, ld->gmac_iobase + PMT_MASK2); + + v = pm_reg_config_backup.pmt_mask3; + writel(v, ld->gmac_iobase + PMT_MASK3); + + v = pm_reg_config_backup.pmt_cmd; + writel(v, ld->gmac_iobase + PMT_CMD); + + v = pm_reg_config_backup.pmt_offset; + writel(v, ld->gmac_iobase + PMT_OFFSET); + + v = pm_reg_config_backup.pmt_crc1_0; + writel(v, ld->gmac_iobase + PMT_CRC1_0); + + v = pm_reg_config_backup.pmt_crc3_2; + writel(v, ld->gmac_iobase + PMT_CRC3_2); + + v = pm_reg_config_backup.pmt_ctrl; + writel(v, ld->gmac_iobase + PMT_CTRL); + spin_unlock_irqrestore(&ld->pmtlock, flags); +} + +/* ========the following code copy from Synopsys DWC_gmac_crc_example.c====== */ +#define CRC16 /* Change it to CRC16 for CRC16 Computation */ + +#if defined(CRC16) +#define CRC_NAME "CRC-16" +#define POLYNOMIAL 0x8005 +#define INITIAL_REMAINDER 0xFFFF +#define FINAL_XOR_VALUE 0x0000 +#define REVERSE_DATA +#undef REVERSE_REMAINDER +#endif + +#define WIDTH (8 * sizeof(unsigned short)) +#define TOPBIT (1 << (WIDTH - 1)) + +#ifdef REVERSE_DATA +#undef REVERSE_DATA +#define REVERSE_DATA(X) ((unsigned char)reverse((X), 8)) +#else +#undef REVERSE_DATA +#define REVERSE_DATA(X) (X) +#endif + +#ifdef REVERSE_REMAINDER +#undef REVERSE_REMAINDER +#define REVERSE_REMAINDER(X) ((unsigned short)reverse((X), WIDTH)) +#else +#undef REVERSE_REMAINDER +#define REVERSE_REMAINDER(X) (X) +#endif + +static unsigned short crc_table[256]; + +/* Reverse the data + * Input1: Data to be reversed + * Input2: number of bits in the data + * Output: The reversed data + */ +static unsigned int reverse(unsigned int data, unsigned char nbits) +{ + unsigned int reversed = 0x00000000; + unsigned char bit; + + /* Reverse the data about the center bit. */ + for (bit = 0; bit < nbits; ++bit) { + /* If the LSB bit is set, set the reflection of it. */ + if (data & 0x01) + reversed |= (1 << ((nbits - 1) - bit)); + + data = (data >> 1); + } + return reversed; +} + +/* This Initializes the partial CRC look up table */ +static void init_crc_table(void) +{ + unsigned short remainder; + int dividend; + unsigned char bit; + + /* Compute the remainder of each possible dividend. */ + for (dividend = 0; dividend < 256; ++dividend) { + /* Start with the dividend followed by zeros. */ + remainder = (unsigned short)(dividend << (WIDTH - 8)); + + /* Perform modulo-2 division, a bit at a time. */ + for (bit = 8; bit > 0; --bit) { + /* Try to divide the current data bit. */ + if (remainder & TOPBIT) + remainder = (remainder << 1) ^ POLYNOMIAL; + else + remainder = (remainder << 1); + } + + /* Store the result into the table. */ + crc_table[dividend] = remainder; + } +} + +static unsigned short compute_crc(char *message, int nbytes) +{ + unsigned short remainder = INITIAL_REMAINDER; + int byte; + unsigned char data; + + /* Divide the message by the polynomial, a byte at a time. */ + for (byte = 0; byte < nbytes; ++byte) { + data = REVERSE_DATA(message[byte]) ^ (remainder >> (WIDTH - 8)); + remainder = crc_table[data] ^ (remainder << 8); + } + + /* The final remainder is the CRC. */ + return (REVERSE_REMAINDER(remainder) ^ FINAL_XOR_VALUE); +} diff --git a/drivers/net/ethernet/hisilicon/higmac/proc-dev.c b/drivers/net/ethernet/hisilicon/higmac/proc-dev.c new file mode 100644 index 000000000..59798a8e9 --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/proc-dev.c @@ -0,0 +1,146 @@ +#include "sockioctl.h" + +/* debug code */ +static int set_suspend(int eth_n) +{ + return 0; +} + +/* debug code */ +static int set_resume(int eth_n) +{ + /* higmac_dev_driver.resume(&higmac_platform_device); */ + return 0; +} + +static int hw_states_read(struct seq_file *m, void *v) +{ + struct higmac_netdev_local *ld = NULL; + +#define sprintf_io(name, base) \ + seq_printf(m, name, readl(io_base + base)) + +#define sprintf_pkts(name, rx_base, tx_base) \ + seq_printf(m, "rx_" name "%u\t\t\ttx_" name "%u\n", \ + readl(io_base + rx_base), \ + readl(io_base + tx_base)) + + { +/* need to initialize ld !!!!!!!!! */ + void __iomem *io_base = ld->gmac_iobase; + + if (!ld->phy) + return 0; + if (!netif_running(ld->netdev)) + return 0; + + seq_puts(m, "----------------gmac----------------\n"); + sprintf_pkts("ok_bytes:", 0x80, 0x100); + sprintf_pkts("bad_bytes:", 0x84, 0x104); + sprintf_pkts("uc_pkts:", 0x88, 0x108); + sprintf_pkts("mc_pkts:", 0x8c, 0x10c); + sprintf_pkts("bc_pkts:", 0x90, 0x110); + sprintf_pkts("pkts_64B:", 0x94, 0x114); + sprintf_pkts("pkts_65_127B:", 0x98, 0x118); + sprintf_pkts("pkts_128_255B:", 0x9c, 0x11c); + sprintf_pkts("pkts_256_511B:", 0xa0, 0x120); + sprintf_pkts("pkts_512_1023B:", 0xa4, 0x124); + sprintf_pkts("pkts_1024_1518B:", 0xa8, 0x128); + sprintf_pkts("pkts_1519_MAX:", 0xac, 0x12c); + sprintf_io("rx_fcs_errors:%u\n", 0xb0); + /* add more here */ + } +#undef sprintf_io +#undef sprintf_pkts + + return 0; +} + +static struct proc_dir_entry *higmac_proc_root; + +#define proc_open(name) \ +static int proc_open_##name(struct inode *inode, struct file *file) \ +{ \ + return single_open(file, name, PDE_DATA(inode)); \ +} \ + +proc_open(hw_states_read); + +static struct proc_file { + char *name; + const struct file_operations ops; + +} proc_file[] = { + { + .name = "hw_stats", + .ops = { + .open = proc_open_hw_states_read, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, + }, + } +}; + +/* /proc/higmac/ + * |---hw_stats + * |---skb_pools + */ +void higmac_proc_create(void) +{ + struct proc_dir_entry *entry; + int i; + + higmac_proc_root = proc_mkdir("higmac", NULL); + if (!higmac_proc_root) + return; + + for (i = 0; i < ARRAY_SIZE(proc_file); i++) { + entry = proc_create(proc_file[i].name, 0, higmac_proc_root, + &proc_file[i].ops); + } +} + +void higmac_proc_destroy(void) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(proc_file); i++) + remove_proc_entry(proc_file[i].name, higmac_proc_root); + + remove_proc_entry("higmac", NULL); +} + +int higmac_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd) +{ + struct higmac_netdev_local *priv = netdev_priv(ndev); + struct pm_config pm_config; + int val = 0; + + switch (cmd) { + case SIOCSETPM: + if (copy_from_user(&pm_config, rq->ifr_data, sizeof(pm_config))) + return -EFAULT; + return pmt_config(ndev, &pm_config); + + case SIOCSETSUSPEND: + if (copy_from_user(&val, rq->ifr_data, sizeof(val))) + return -EFAULT; + return set_suspend(val); + + case SIOCSETRESUME: + if (copy_from_user(&val, rq->ifr_data, sizeof(val))) + return -EFAULT; + return set_resume(val); + + default: + if (!netif_running(ndev)) + return -EINVAL; + + if (!priv->phy) + return -EINVAL; + + return phy_mii_ioctl(priv->phy, rq, cmd); + } + return 0; +} diff --git a/drivers/net/ethernet/hisilicon/higmac/sockioctl.h b/drivers/net/ethernet/hisilicon/higmac/sockioctl.h new file mode 100644 index 000000000..571c71aa2 --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/sockioctl.h @@ -0,0 +1,12 @@ +#ifndef _SOCKIOCTL_H_ +#define _SOCKIOCTL_H_ + +#include + +#define SIOCSETPM (SIOCDEVPRIVATE + 4) /* set pmt wake up config */ +#define SIOCSETSUSPEND (SIOCDEVPRIVATE + 5) /* call dev->suspend, debug */ +#define SIOCSETRESUME (SIOCDEVPRIVATE + 6) /* call dev->resume, debug */ + +int higmac_ioctl(struct net_device *net_dev, struct ifreq *rq, int cmd); + +#endif diff --git a/drivers/net/ethernet/hisilicon/higmac/tso.h b/drivers/net/ethernet/hisilicon/higmac/tso.h new file mode 100644 index 000000000..117697b51 --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/tso.h @@ -0,0 +1,53 @@ +#ifndef __HIETH_TSO_H +#define __HIETH_TSO_H + +#define SG_FLAG (1 << 30) +#define COE_FLAG (1 << 29) +#define TSO_FLAG (1 << 28) +#define VLAN_FLAG (1 << 10) +#define IPV6_FLAG (1 << 9) +#define UDP_FLAG (1 << 8) + +#define PKT_IPV6_HDR_LEN (10) +#define PKT_UDP_HDR_LEN (2) +#define WORD_TO_BYTE (4) +enum { + PKT_NORMAL, + PKT_SG +}; + +enum { + PKT_IPV4, + PKT_IPV6 +}; + +enum { + PKT_TCP, + PKT_UDP +}; + +struct frags_info { + /* Word(2*i+2) */ + u32 addr; + /* Word(2*i+3) */ + u32 size:16; + u32 reserved:16; +}; + +struct sg_desc { + /* Word0 */ + u32 total_len:17; + u32 reserv:15; + /* Word1 */ + u32 ipv6_id; + /* Word2 */ + u32 linear_addr; + /* Word3 */ + u32 linear_len:16; + u32 reserv3:16; + /* MAX_SKB_FRAGS = 17 */ + struct frags_info frags[18]; + /* struct frags_info frags[MAX_SKB_FRAGS]; */ +}; + +#endif diff --git a/drivers/net/ethernet/hisilicon/higmac/util.h b/drivers/net/ethernet/hisilicon/higmac/util.h new file mode 100644 index 000000000..5592a74bc --- /dev/null +++ b/drivers/net/ethernet/hisilicon/higmac/util.h @@ -0,0 +1,44 @@ +#ifndef __HIGMAC_UTIL_H__ +#define __HIGMAC_UTIL_H__ + +#define HIGMAC_TRACE_LEVEL 10 + +#define higmac_trace(level, msg...) do { \ + if ((level) >= HIGMAC_TRACE_LEVEL) { \ + pr_info("higmac_trace:%s:%d: ", __FILE__, __LINE__); \ + printk(msg); \ + printk("\n"); \ + } \ +} while (0) + +#define higmac_error(args...) do { \ + pr_err("higmac:%s:%d: ", __FILE__, __LINE__); \ + printk(args); \ + printk("\n"); \ +} while (0) + +#define higmac_assert(cond) do { \ + if (!(cond)) \ + pr_alert("Assert:higmac:%s:%d\n", \ + __FILE__, \ + __LINE__);\ +} while (0) + +#define higmac_set_bits(var, v, bits_desc) do { \ + unsigned int _bits_desc = bits_desc; \ + unsigned int _shift = (_bits_desc) >> 16; \ + unsigned int _mask = ((_bits_desc & 0x3F) < 32) ?\ + (((1 << (_bits_desc & 0x3F)) - 1) << (_shift)) \ + : 0xffffffff; \ + var = (var & (~_mask)) | (((v) << (_shift)) & _mask); \ + } while (0) +#define higmac_get_bits(var, bits_desc) ({ \ + unsigned int _bits_desc = bits_desc; \ + unsigned int _shift = (_bits_desc) >> 16; \ + unsigned int _mask = ((_bits_desc & 0x3F) < 32) ? \ + (((1 << (_bits_desc & 0x3F)) - 1) << (_shift)) \ + : 0xffffffff; \ + (var & _mask) >> (_shift); }) +#define MK_BITS(shift, nbits) ((((shift) & 0x1F) << 16) | ((nbits) & 0x3F)) + +#endif diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig index 1327290de..0a67ba9cf 100644 --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig @@ -45,6 +45,11 @@ config LED_TRIGGER_PHY for any speed known to the PHY. +config HISILICON_PHY + tristate "Drivers for HiSilicon PHYs" + help + Supports the Festa series PHYs. + config FIXED_PHY tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs" select SWPHY diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile index f7138d3c8..7466cc4a0 100644 --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile @@ -60,6 +60,7 @@ obj-$(CONFIG_DP83869_PHY) += dp83869.o obj-$(CONFIG_DP83TC811_PHY) += dp83tc811.o obj-$(CONFIG_DP83TD510_PHY) += dp83td510.o obj-$(CONFIG_FIXED_PHY) += fixed_phy.o +obj-$(CONFIG_HISILICON_PHY) += hisilicon.o obj-$(CONFIG_ICPLUS_PHY) += icplus.o obj-$(CONFIG_INTEL_XWAY_PHY) += intel-xway.o obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o diff --git a/drivers/net/phy/hisilicon.c b/drivers/net/phy/hisilicon.c new file mode 100644 index 000000000..a1673dc48 --- /dev/null +++ b/drivers/net/phy/hisilicon.c @@ -0,0 +1,499 @@ +/* + * drivers/net/phy/hisilicon.c + * + * Driver for HiSilicon PHYs + * + * Author: Dongpo Li + * + * Copyright (c) 2016 HiSilicon Technologies Co., Ltd. + * + * 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. + * + */ +#include +#include +#include +#include +#include +#include +#include +#include + +/* PHY registers */ +#define MII_INT_SR 0x14 +#define MII_INT_CLR 0x15 +#define BIT_SPEED_CHG_INT BIT(15) +#define BIT_LINK_CHG_INT BIT(14) +#define BIT_DUPLEX_CHG_INT BIT(13) +#define BIT_PHY_STATE_CHG_INT (BIT_SPEED_CHG_INT | BIT_LINK_CHG_INT | \ + BIT_DUPLEX_CHG_INT) +#define MII_EXPMD 0x1d +#define MII_EXPMA 0x1e + +#define INT_MASK_H 0x01e5 +#define BIT_SPEED_INT_EN BIT(7) +#define BIT_LINK_INT_EN BIT(6) +#define BIT_DUPLEX_INT_EN BIT(5) +#define BIT_PHY_STATE_INT_EN (BIT_SPEED_INT_EN | BIT_LINK_INT_EN | \ + BIT_DUPLEX_INT_EN) +#define WOL_CTRL_STATUS 0x1f00 +#define WOL_MAGIC_PKT_ENABLE BIT(1) +#define WOL_WAKE_PKT_ENABLE BIT(2) +#define WOL_INTR_ENABLE BIT(3) +#define WOL_MAGIC_PKT_INTR_RAW BIT(4) +#define WOL_WAKE_PKT_INTR_RAW BIT(6) + +#define WOL_UNICAST_CTRL 0x1f01 +#define WOL_UNICAST_ENABLE BIT(1) +#define WOL_FILTER0_MASK0 0x1f04 +#define WOL_FILTER0_MASK1 0x1f05 +#define WOL_FILTER0_MASK2 0x1f06 +#define WOL_FILTER0_MASK3 0x1f07 +#define WOL_FILTER0_CTRL 0x1f14 +#define WOL_FILTER_ENABLE BIT(0) +#define WOL_FILTER_TYPE BIT(4) +#define WOL_FILTER_TYPE_OFFSET 4 +#define WOL_FILTER0_OFFSET 0x1f18 +#define WOL_FILTER0_CRC0 0x1f1c +#define WOL_FILTER0_CRC1 0x1f1d +#define LOCAL_MACADDR_MSB 0x1f29 + +enum filter_type { + MATCH_UCAST_BCAST = 0, + MATCH_MCAST_BCAST, +}; + +struct festa_filter { + enum filter_type type; + u8 offset; + u32 bytemask; + u16 crc; +}; + +static struct festa_filter broadcast_template = { + .type = MATCH_UCAST_BCAST, + .offset = 0, + .bytemask = 0x3f, + .crc = 0x8029, +}; + +static struct festa_filter arp_template = { + .type = MATCH_UCAST_BCAST, + .offset = 12, + .bytemask = 0x3, + .crc = 0x614e, +}; + +static int phy_expanded_read_atomic(struct phy_device *phydev, u32 reg_addr) +{ + struct mii_bus *bus = phydev->bus; + int ret; + + bus->write(bus, phydev->addr, MII_EXPMA, reg_addr); + ret = bus->read(bus, phydev->addr, MII_EXPMD); + + return ret; +} + +static int phy_expanded_read(struct phy_device *phydev, u32 reg_addr) +{ + struct mii_bus *bus = phydev->bus; + int ret; + + mutex_lock(&bus->mdio_lock); + + bus->write(bus, phydev->addr, MII_EXPMA, reg_addr); + ret = bus->read(bus, phydev->addr, MII_EXPMD); + + mutex_unlock(&bus->mdio_lock); + + return ret; +} + +static int phy_expanded_write_atomic(struct phy_device *phydev, + u32 reg_addr, u16 val) +{ + struct mii_bus *bus = phydev->bus; + int ret; + + bus->write(bus, phydev->addr, MII_EXPMA, reg_addr); + ret = bus->write(bus, phydev->addr, MII_EXPMD, val); + + return ret; +} + +static int phy_expanded_write(struct phy_device *phydev, u32 reg_addr, u16 val) +{ + struct mii_bus *bus = phydev->bus; + int ret; + + mutex_lock(&bus->mdio_lock); + + bus->write(bus, phydev->addr, MII_EXPMA, reg_addr); + ret = bus->write(bus, phydev->addr, MII_EXPMD, val); + + mutex_unlock(&bus->mdio_lock); + + return ret; +} + +static int festa_ack_interrupt(struct phy_device *phydev) +{ + return phy_write(phydev, MII_INT_CLR, BIT_PHY_STATE_CHG_INT); +} + +static int festa_config_intr(struct phy_device *phydev) +{ + int err; + + if (phydev->interrupts == PHY_INTERRUPT_ENABLED) + err = phy_expanded_write(phydev, INT_MASK_H, BIT_PHY_STATE_INT_EN); + else + err = phy_expanded_write(phydev, INT_MASK_H, 0); + + return err; +} + +static int festa_did_interrupt(struct phy_device *phydev) +{ + int ret; + + ret = phy_read(phydev, MII_INT_SR); + if (ret < 0) + return 0; + + return (ret & BIT_PHY_STATE_CHG_INT) != 0; +} + +static void festa_set_mac_address(struct phy_device *phydev, const u8 *mac) +{ + int i; + + for (i = 0; i < ETH_ALEN; i++) + phy_expanded_write(phydev, LOCAL_MACADDR_MSB - i, mac[i]); +} + +static void festa_set_filter(struct phy_device *phydev, int index, + struct festa_filter *filter) +{ + u32 val; + + phy_expanded_write(phydev, WOL_FILTER0_OFFSET + index, filter->offset); + phy_expanded_write(phydev, WOL_FILTER0_MASK0 + index * 0x4, + filter->bytemask & 0xff); + phy_expanded_write(phydev, WOL_FILTER0_MASK1 + index * 0x4, + (filter->bytemask >> 8) & 0xff); + phy_expanded_write(phydev, WOL_FILTER0_MASK2 + index * 0x4, + (filter->bytemask >> 16) & 0xff); + phy_expanded_write(phydev, WOL_FILTER0_MASK3 + index * 0x4, + (filter->bytemask >> 24) & 0xff); + phy_expanded_write(phydev, WOL_FILTER0_CRC0 + index * 0x2, + filter->crc & 0xff); + phy_expanded_write(phydev, WOL_FILTER0_CRC1 + index * 0x2, + (filter->crc >> 8) & 0xff); + + val = phy_expanded_read(phydev, WOL_FILTER0_CTRL + index); + val &= ~WOL_FILTER_TYPE; + val |= (filter->type << WOL_FILTER_TYPE_OFFSET); + val |= WOL_FILTER_ENABLE; + phy_expanded_write(phydev, WOL_FILTER0_CTRL + index, val); +} + +static void festa_clear_filter(struct phy_device *phydev, int index) +{ + u32 val; + + val = phy_expanded_read(phydev, WOL_FILTER0_CTRL + index); + val &= ~WOL_FILTER_ENABLE; + phy_expanded_write(phydev, WOL_FILTER0_CTRL + index, val); +} + +static bool festa_filter_enabled(struct phy_device *phydev, int index) +{ + u32 val; + + val = phy_expanded_read(phydev, WOL_FILTER0_CTRL + index); + + return val & WOL_FILTER_ENABLE; +} + +static void festa_get_wol(struct phy_device *phydev, + struct ethtool_wolinfo *wol) +{ + u32 val; + + wol->supported = WAKE_UCAST | WAKE_BCAST | WAKE_ARP | WAKE_MAGIC; + wol->wolopts = 0; + + val = phy_expanded_read(phydev, WOL_UNICAST_CTRL); + if (val & WOL_UNICAST_ENABLE) + wol->wolopts |= WAKE_UCAST; + + val = phy_expanded_read(phydev, WOL_CTRL_STATUS); + if (val & WOL_MAGIC_PKT_ENABLE) + wol->wolopts |= WAKE_MAGIC; + + if (festa_filter_enabled(phydev, 0)) + wol->wolopts |= WAKE_BCAST; + + if (festa_filter_enabled(phydev, 1)) + wol->wolopts |= WAKE_ARP; +} + +static int festa_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol) +{ + struct net_device *ndev = phydev->attached_dev; + u32 val, wol_ctrl; + + if (!ndev) + return -ENODEV; + + if (wol->wolopts & (WAKE_PHY | WAKE_MCAST | WAKE_MAGICSECURE)) + return -EOPNOTSUPP; + + wol_ctrl = phy_expanded_read(phydev, WOL_CTRL_STATUS); + + if (wol->wolopts & WAKE_MAGIC) { + festa_set_mac_address(phydev, (const u8 *)ndev->dev_addr); + + /* write 1 to clear raw interrupt */ + wol_ctrl |= WOL_MAGIC_PKT_INTR_RAW; + /* enable magic packet recv and interrupt */ + wol_ctrl |= WOL_MAGIC_PKT_ENABLE | WOL_INTR_ENABLE; + } else { + wol_ctrl &= ~WOL_MAGIC_PKT_ENABLE; + } + + if (wol->wolopts & WAKE_UCAST) { + festa_set_mac_address(phydev, (const u8 *)ndev->dev_addr); + + val = phy_expanded_read(phydev, WOL_UNICAST_CTRL); + val |= WOL_UNICAST_ENABLE; + phy_expanded_write(phydev, WOL_UNICAST_CTRL, val); + + /* write 1 to clear raw interrupt */ + wol_ctrl |= WOL_WAKE_PKT_INTR_RAW; + wol_ctrl |= WOL_WAKE_PKT_ENABLE | WOL_INTR_ENABLE; + } else { + val = phy_expanded_read(phydev, WOL_UNICAST_CTRL); + val &= ~WOL_UNICAST_ENABLE; + phy_expanded_write(phydev, WOL_UNICAST_CTRL, val); + } + + if (wol->wolopts & WAKE_BCAST) { + festa_set_filter(phydev, 0, &broadcast_template); + /* write 1 to clear raw interrupt */ + wol_ctrl |= WOL_WAKE_PKT_INTR_RAW; + wol_ctrl |= WOL_WAKE_PKT_ENABLE | WOL_INTR_ENABLE; + } else { + festa_clear_filter(phydev, 0); + } + + if (wol->wolopts & WAKE_ARP) { + festa_set_filter(phydev, 1, &arp_template); + /* write 1 to clear raw interrupt */ + wol_ctrl |= WOL_WAKE_PKT_INTR_RAW; + wol_ctrl |= WOL_WAKE_PKT_ENABLE | WOL_INTR_ENABLE; + } else { + festa_clear_filter(phydev, 1); + } + + if (!(wol->wolopts & (WAKE_UCAST | WAKE_BCAST | WAKE_ARP))) + wol_ctrl &= ~WOL_WAKE_PKT_ENABLE; + + if (!wol->wolopts) + wol_ctrl &= ~WOL_INTR_ENABLE; + + phy_expanded_write(phydev, WOL_CTRL_STATUS, wol_ctrl); + + return 0; +} + +static int festa_suspend(struct phy_device *phydev) +{ + int value; + int wol_enabled; + + mutex_lock(&phydev->lock); + + value = phy_expanded_read(phydev, WOL_CTRL_STATUS); + wol_enabled = value & WOL_INTR_ENABLE; + + value = phy_read(phydev, MII_BMCR); + + if (!wol_enabled) + value |= BMCR_PDOWN; + + phy_write(phydev, MII_BMCR, value); + + mutex_unlock(&phydev->lock); + + return 0; +} + +static int festa_resume(struct phy_device *phydev) +{ + int value; + + mutex_lock(&phydev->lock); + + value = phy_read(phydev, MII_BMCR); + value &= ~(BMCR_PDOWN | BMCR_ISOLATE); + phy_write(phydev, MII_BMCR, value); + + mutex_unlock(&phydev->lock); + + return 0; +} + +struct festa_phy_priv { + const struct festa_driver_data *type; + int wol_irq; +}; + +struct festa_driver_data { + bool wol_enable; +}; + +static const struct festa_driver_data festa_v330_data = { + .wol_enable = true, +}; + +static const struct festa_driver_data festa_v331_data = { + .wol_enable = true, +}; + +static irqreturn_t festa_wol_irq_handler(int irq, void *phy_dat) +{ + struct phy_device *phydev = phy_dat; + u32 wol_ctrl; + + if (phydev->state == PHY_HALTED) + return IRQ_NONE; + + wol_ctrl = phy_expanded_read_atomic(phydev, WOL_CTRL_STATUS); + wol_ctrl |= WOL_MAGIC_PKT_INTR_RAW; + wol_ctrl |= WOL_WAKE_PKT_INTR_RAW; + wol_ctrl &= ~WOL_WAKE_PKT_ENABLE; + wol_ctrl &= ~WOL_INTR_ENABLE; + phy_expanded_write_atomic(phydev, WOL_CTRL_STATUS, wol_ctrl); + + return IRQ_HANDLED; +} + +static int festa_phy_probe(struct phy_device *phydev) +{ + const struct festa_driver_data *type = phydev->drv->driver_data; + struct device_node *np = phydev->dev.of_node; + struct festa_phy_priv *priv; + int ret; + + priv = devm_kzalloc(&phydev->dev, sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; + + phydev->priv = priv; + + priv->type = type; + + if (type && type->wol_enable) { + ret = irq_of_parse_and_map(np, 1); + priv->wol_irq = ret; + } + + if (priv->wol_irq > 0) { + ret = devm_request_irq(&phydev->dev, priv->wol_irq, + festa_wol_irq_handler, 0, + "festa_phy_wol", phydev); + if (ret) + return ret; + } + + return 0; +} + +static struct phy_driver hisilicon_drivers[] = { + { + .phy_id = HISILICON_PHY_ID_FESTAV200, + .phy_id_mask = HISILICON_PHY_ID_MASK, + .name = "HiSilicon Festa v200/v210", + .features = PHY_BASIC_FEATURES, + .flags = PHY_IS_INTERNAL, + .config_init = genphy_config_init, + .config_aneg = genphy_config_aneg, + .read_status = genphy_read_status, + .resume = genphy_resume, + .suspend = genphy_suspend, + .driver = { .owner = THIS_MODULE }, + }, + { + .phy_id = HISILICON_PHY_ID_FESTAV220, + .phy_id_mask = HISILICON_PHY_ID_MASK, + .name = "HiSilicon Festa v220", + .features = PHY_BASIC_FEATURES, + .flags = PHY_IS_INTERNAL, + .config_init = genphy_config_init, + .config_aneg = genphy_config_aneg, + .read_status = genphy_read_status, + .resume = genphy_resume, + .suspend = genphy_suspend, + .driver = {.owner = THIS_MODULE,}, + }, + { + .phy_id = HISILICON_PHY_ID_FESTAV330, + .phy_id_mask = HISILICON_PHY_ID_MASK, + .name = "HiSilicon Festa v330", + .features = PHY_BASIC_FEATURES, + .flags = PHY_IS_INTERNAL, + .driver_data = &festa_v330_data, + .probe = festa_phy_probe, + .config_init = genphy_config_init, + .config_aneg = genphy_config_aneg, + .read_status = genphy_read_status, + .ack_interrupt = festa_ack_interrupt, + .config_intr = festa_config_intr, + .did_interrupt = festa_did_interrupt, + .get_wol = festa_get_wol, + .set_wol = festa_set_wol, + .resume = festa_resume, + .suspend = festa_suspend, + .driver = { .owner = THIS_MODULE }, + }, + + { + .phy_id = HISILICON_PHY_ID_FESTAV331, + .phy_id_mask = HISILICON_PHY_ID_MASK, + .name = "HiSilicon Festa v331", + .features = PHY_BASIC_FEATURES, + .flags = PHY_IS_INTERNAL, + .driver_data = &festa_v331_data, + .probe = festa_phy_probe, + .config_init = genphy_config_init, + .config_aneg = genphy_config_aneg, + .read_status = genphy_read_status, + .get_wol = festa_get_wol, + .set_wol = festa_set_wol, + .resume = festa_resume, + .suspend = festa_suspend, + .driver = { .owner = THIS_MODULE }, + }, +}; + +module_phy_driver(hisilicon_drivers); + +static struct mdio_device_id __maybe_unused hisilicon_tbl[] = { + { HISILICON_PHY_ID_FESTAV200, HISILICON_PHY_ID_MASK }, + { HISILICON_PHY_ID_FESTAV220, HISILICON_PHY_ID_MASK }, + { HISILICON_PHY_ID_FESTAV330, HISILICON_PHY_ID_MASK }, + { HISILICON_PHY_ID_FESTAV331, HISILICON_PHY_ID_MASK }, + { } +}; + +MODULE_DEVICE_TABLE(mdio, hisilicon_tbl); + +MODULE_DESCRIPTION("HiSilicon PHY driver"); +MODULE_AUTHOR("Dongpo Li "); +MODULE_LICENSE("GPL v2"); diff --git a/drivers/phy/hisilicon/Kconfig b/drivers/phy/hisilicon/Kconfig index d3b92c288..f78792a3e 100644 --- a/drivers/phy/hisilicon/Kconfig +++ b/drivers/phy/hisilicon/Kconfig @@ -54,7 +54,7 @@ config PHY_HISTB_COMBPHY config PHY_HISI_INNO_USB2 tristate "HiSilicon INNO USB2 PHY support" - depends on (ARCH_HISI && ARM64) || COMPILE_TEST + depends on ARCH_HISI || COMPILE_TEST || ARCH_HI3798MX select GENERIC_PHY select MFD_SYSCON help diff --git a/drivers/phy/hisilicon/phy-hisi-inno-usb2.c b/drivers/phy/hisilicon/phy-hisi-inno-usb2.c index b133ae067..624899536 100644 --- a/drivers/phy/hisilicon/phy-hisi-inno-usb2.c +++ b/drivers/phy/hisilicon/phy-hisi-inno-usb2.c @@ -20,12 +20,24 @@ #define PHY_CLK_STABLE_TIME 2 /* unit:ms */ #define UTMI_RST_COMPLETE_TIME 2 /* unit:ms */ #define POR_RST_COMPLETE_TIME 300 /* unit:us */ + #define PHY_TEST_DATA GENMASK(7, 0) +#define PHY_TEST_ADDR_OFFSET 8 +#ifdef CONFIG_ARM64 #define PHY_TEST_ADDR GENMASK(15, 8) +#define PHY_TEST_PORT_OFFSET 16 #define PHY_TEST_PORT GENMASK(18, 16) #define PHY_TEST_WREN BIT(21) #define PHY_TEST_CLK BIT(22) /* rising edge active */ #define PHY_TEST_RST BIT(23) /* low active */ +#else +#define PHY_TEST_ADDR GENMASK(11, 8) +#define PHY_TEST_PORT_OFFSET 12 +#define PHY_TEST_PORT BIT(12) +#define PHY_TEST_WREN BIT(13) +#define PHY_TEST_CLK BIT(14) /* rising edge active */ +#define PHY_TEST_RST BIT(15) /* low active */ +#endif #define PHY_CLK_ENABLE BIT(2) struct hisi_inno_phy_port { @@ -47,8 +59,8 @@ static void hisi_inno_phy_write_reg(struct hisi_inno_phy_priv *priv, u32 val; val = (data & PHY_TEST_DATA) | - ((addr << 8) & PHY_TEST_ADDR) | - ((port << 16) & PHY_TEST_PORT) | + ((addr << PHY_TEST_ADDR_OFFSET) & PHY_TEST_ADDR) | + ((port << PHY_TEST_PORT_OFFSET) & PHY_TEST_PORT) | PHY_TEST_WREN | PHY_TEST_RST; writel(val, reg); diff --git a/include/dt-bindings/clock/hi3716cv200-clock.h b/include/dt-bindings/clock/hi3716cv200-clock.h new file mode 100644 index 000000000..e9a4bb247 --- /dev/null +++ b/include/dt-bindings/clock/hi3716cv200-clock.h @@ -0,0 +1,120 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.4 + * +******************************************************************************/ +#ifndef __DT_BINDINGS_CLOCK_HI3716CV200_H +#define __DT_BINDINGS_CLOCK_HI3716CV200_H + +#define PERI_CRG0_APLL_1 0x0000 +#define PERI_CRG1_APLL_2 0x0004 +#define PERI_CRG2_BPLL_1 0x0008 +#define PERI_CRG3_BPLL_2 0x000C +#define PERI_CRG4_DPLL_1 0x0010 +#define PERI_CRG5_DPLL_2 0x0014 +#define PERI_CRG8_VPLL_1 0x0020 +#define PERI_CRG9_VPLL_2 0x0024 +#define PERI_CRG10_HPLL_1 0x0028 +#define PERI_CRG11_HPLL_2 0x002C +#define PERI_CRG12_EPLL_1 0x0030 +#define PERI_CRG13_EPLL_2 0x0034 +#define PERI_CRG16_QPLL_1 0x0040 +#define PERI_CRG17_QPLL_2 0x0044 +#define PERI_CRG18_CPU_LP 0x0048 +#define PERI_CRG20_CPU_1 0x0050 +#define PERI_CRG21_CPU_2 0x0054 +#define PERI_CRG22_SYS 0x0058 +#define PERI_CRG23_SFC 0x005C +#define PERI_CRG24_NANDC 0x0060 +#define PERI_CRG25_DDR 0x0064 +#define PERI_CRG26_UART 0x0068 +#define PERI_CRG27_I2C 0x006C +#define PERI_CRG28_SSP 0x0070 +#define PERI_CRG29_SCI 0x0074 +#define PERI_CRG30_VDH 0x0078 +#define PERI_CRG31_JPGD 0x007C +#define PERI_CRG33_PGD 0x0084 +#define PERI_CRG34_BPD 0x0088 +#define PERI_CRG35_VENC 0x008C +#define PERI_CRG36_JPGE 0x0090 +#define PERI_CRG37_TDE 0x0094 +#define PERI_CRG39_SDIO0 0x009C +#define PERI_CRG40_SDIO1 0x00A0 +#define PERI_CRG41_DMA 0x00A4 +#define PERI_CRG42_SATA3CTRL 0x00A8 +#define PERI_CRG43_SATA3PHY 0x00AC +#define PERI_CRG46_USB2CTRL 0x00B8 +#define PERI_CRG47_USB2PHY 0x00BC +#define PERI_CRG48_CA 0x00C0 +#define PERI_CRG49_SHA 0x00C4 +#define PERI_CRG50_PMC 0x00C8 +#define PERI_CRG51_GSF 0x00CC +#define PERI_CRG52_DSP 0x00D0 +#define PERI_CRG53_GPU 0x00D4 +#define PERI_CRG54_VDP 0x00D8 +#define PERI_CRG55_VICAP 0x00DC +#define PERI_CRG56_QTC 0x00E0 +#define PERI_CRG57_QAM 0x00E4 +#define PERI_CRG58_QAMADC 0x00E8 +#define PERI_CRG59_SCD 0x00EC +#define PERI_CRG60_VPSS 0x00F0 +#define PERI_CRG61_HWC 0x00F4 +#define PERI_CRG62_BOOTMEM 0x00F8 +#define PERI_CRG63_PVR_1 0x00FC +#define PERI_CRG64_PVR_2 0x0100 +#define PERI_CRG67_HDMITX_CTRL 0x010C +#define PERI_CRG68_HDMITX_PHY 0x0110 +#define PERI_CRG69_ADAC 0x0114 +#define PERI_CRG70_AIAO 0x0118 +#define PERI_CRG71_VDAC 0x011C +#define PERI_CRG72_FEPHY 0x0120 +#define PERI_CRG73_GPU_LP 0x0124 +#define PERI_CRG74_DDR_LP 0x0128 +#define PERI_CRG75_APLL 0x012C +#define PERI_CRG76_BPLL 0x0130 +#define PERI_CRG77_DPLL 0x0134 +#define PERI_CRG79_VPLL 0x013C +#define PERI_CRG80_HPLL 0x0140 +#define PERI_CRG81_EPLL 0x0144 +#define PERI_CRG83_QPLL 0x014C +#define PERI_CRG84_PLL_LOCK 0x0150 +#define PERI_CRG85_SW_READBACK 0x0154 +#define PERI_CRG86_CPU 0x0158 +#define PERI_CRG87_CPU 0x015C +#define PERI_CRG88_DDR 0x0160 +#define PERI_CRG89_DDR 0x0164 +#define PERI_CRG90_OUTPUT_RST 0x0168 +#define PERI_CRG91_USB_FREECLK_DEC 0x016C +#define PERI_CRG93_VDH_RST_READBACK 0x0174 +#define PERI_CRG94_WDG 0x0178 +#define PERI_CRG95_PLL_TEST 0x017C +#define PERI_CRG96_A9_RAM 0x0180 +#define PERI_CRG97_GPU_RAM 0x0184 +#define PERI_CRG98_COMBPHY 0x0188 +#define PERI_CRG99_PCIECTRL 0x018c + +#define HII2C_QAM_CLK 0x01A4 +#define HII2C_ADC_CLK 0x01A8 +#define HII2C_I2C0_CLK 0x01AC +#define HII2C_I2C1_CLK 0x01B0 +#define HII2C_I2C2_CLK 0x01B4 +#define HII2C_I2C3_CLK 0x01B8 +#define HII2C_I2C4_CLK 0x01BC + +#define CLK_DUMMY 0x01A0 +#define CLK_MAX 0x0200 + +#endif /* __DT_BINDINGS_CLOCK_HI3716CV200_H */ diff --git a/include/dt-bindings/clock/hi3796mv200-clock.h b/include/dt-bindings/clock/hi3796mv200-clock.h new file mode 100644 index 000000000..b5e3c7a61 --- /dev/null +++ b/include/dt-bindings/clock/hi3796mv200-clock.h @@ -0,0 +1,134 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.4 + * +******************************************************************************/ +#ifndef __DT_BINDINGS_CLOCK_HI3798CV200_H +#define __DT_BINDINGS_CLOCK_HI3798CV200_H + +#define PERI_CRG0_APLL_1 0x0000 +#define PERI_CRG1_APLL_2 0x0004 +#define PERI_CRG2_BPLL_1 0x0008 +#define PERI_CRG3_BPLL_2 0x000C +#define PERI_CRG4_DPLL_1 0x0010 +#define PERI_CRG5_DPLL_2 0x0014 +#define PERI_CRG8_VPLL_1 0x0020 +#define PERI_CRG9_VPLL_2 0x0024 +#define PERI_CRG10_HPLL_1 0x0028 +#define PERI_CRG11_HPLL_2 0x002C +#define PERI_CRG12_EPLL_1 0x0030 +#define PERI_CRG13_EPLL_2 0x0034 +#define PERI_CRG16_QPLL_1 0x0040 +#define PERI_CRG17_QPLL_2 0x0044 +#define PERI_CRG18_CPU_LP 0x0048 +#define PERI_CRG20_CPU_1 0x0050 +#define PERI_CRG21_CPU_2 0x0054 +#define PERI_CRG22_SYS 0x0058 +#define PERI_CRG23_SFC 0x005C +#define PERI_CRG24_NANDC 0x0060 +#define PERI_CRG25_DDR 0x0064 +#define PERI_CRG26_UART 0x0068 +#define PERI_CRG27_I2C 0x006C +#define PERI_CRG28_SSP 0x0070 +#define PERI_CRG29_SCI 0x0074 +#define PERI_CRG30_VDH 0x0078 +#define PERI_CRG31_JPGD 0x007C +#define PERI_CRG33_PGD 0x0084 +#define PERI_CRG34_BPD 0x0088 +#define PERI_CRG35_VENC 0x008C +#define PERI_CRG36_JPGE 0x0090 +#define PERI_CRG37_TDE 0x0094 +#define PERI_CRG39_SDIO0 0x009C +#define PERI_CRG40_SDIO1 0x00A0 +#define PERI_CRG41_DMA 0x00A4 +#define PERI_CRG42_SATA3CTRL 0x00A8 +#define PERI_CRG43_SATA3PHY 0x00AC +#define PERI_CRG44_USB3CTRL 0x00b0 +#define PERI_CRG46_USB2CTRL 0x00B8 +#define PERI_CRG47_USB2PHY 0x00BC +#define PERI_CRG48_CA 0x00C0 +#define PERI_CRG49_SHA 0x00C4 +#define PERI_CRG50_PMC 0x00C8 +#define PERI_CRG51_GSF 0x00CC +#define PERI_CRG53_GPU 0x00D4 +#define PERI_CRG54_VDP 0x00D8 +#define PERI_CRG55_VICAP 0x00DC +#define PERI_CRG56_QTC 0x00E0 +#define PERI_CRG57_QAM 0x00E4 +#define PERI_CRG58_QAMADC 0x00E8 +#define PERI_CRG59_SCD 0x00EC +#define PERI_CRG60_VPSS 0x00F0 +#define PERI_CRG61_HWC 0x00F4 +#define PERI_CRG62_BOOTMEM 0x00F8 +#define PERI_CRG63_PVR_1 0x00FC +#define PERI_CRG64_PVR_2 0x0100 +#define PERI_CRG67_HDMITX_CTRL 0x010C +#define PERI_CRG68_HDMITX_PHY 0x0110 +#define PERI_CRG69_ADAC 0x0114 +#define PERI_CRG70_AIAO 0x0118 +#define PERI_CRG71_VDAC 0x011C +#define PERI_CRG72_FEPHY 0x0120 +#define PERI_CRG73_GPU_LP 0x0124 +#define PERI_CRG74_DDR_LP 0x0128 +#define PERI_CRG75_APLL 0x012C +#define PERI_CRG76_BPLL 0x0130 +#define PERI_CRG77_DPLL 0x0134 +#define PERI_CRG79_VPLL 0x013C +#define PERI_CRG80_HPLL 0x0140 +#define PERI_CRG81_EPLL 0x0144 +#define PERI_CRG83_QPLL 0x014C +#define PERI_CRG84_PLL_LOCK 0x0150 +#define PERI_CRG85_SW_READBACK 0x0154 +#define PERI_CRG86_CPU 0x0158 +#define PERI_CRG87_CPU 0x015C +#define PERI_CRG88_DDR 0x0160 +#define PERI_CRG89_DDR 0x0164 +#define PERI_CRG90_OUTPUT_RST 0x0168 +#define PERI_CRG91_USB_FREECLK_DEC 0x016C +#define PERI_CRG93_VDH_RST_READBACK 0x0174 +#define PERI_CRG94_WDG 0x0178 +#define PERI_CRG95_PLL_TEST 0x017C +#define PERI_CRG96_A9_RAM 0x0180 +#define PERI_CRG97_GPU_RAM 0x0184 +#define PERI_CRG98_COMBPHY 0x0188 +#define PERI_CRG99_PCIECTRL 0x018c + +#define HIGMAC_MAC0_PUB_CLK 0x0198 +#define HIGMAC_MAC0_CLK 0x019C +#define HIGMAC_MAC1_CLK 0x01A0 +#define HIGMAC_MAC_IF0_CLK 0x01A4 +#define HIGMAC_MAC_IF1_CLK 0x01A8 +#define HII2C_I2C0_CLK 0x01AC +#define HII2C_I2C1_CLK 0x01B0 +#define HII2C_I2C2_CLK 0x01B4 +#define HII2C_ADC_CLK 0x01B8 +#define HII2C_QAM_CLK 0x01BC +#define HIGMAC_MAC1_PUB_CLK 0x01C0 +#define PERI_CRG163_SDIO2 0x028C +#define PERI_CRG224_FMC 0x0380 +#define HIIR_CLK 0x0384 +#define PERI_CRG256_SATA3CTRL 0x0400 +#define CLK_MAX 0x0438 + +/* higmac reset bit */ +#define HIGMAC_PORT0_RST_BIT 0 +#define HIGMAC_MACIF0_RST_BIT 2 +#define HIGMAC_PHY0_RST_BIT 5 +#define HIGMAC_PORT1_RST_BIT 12 +#define HIGMAC_MACIF1_RST_BIT 14 +#define HIGMAC_PHY1_RST_BIT 15 + +#endif /* __DT_BINDINGS_CLOCK_HI3798CV200_H */ diff --git a/include/dt-bindings/clock/hi3798cv200-clock.h b/include/dt-bindings/clock/hi3798cv200-clock.h new file mode 100644 index 000000000..477503a7a --- /dev/null +++ b/include/dt-bindings/clock/hi3798cv200-clock.h @@ -0,0 +1,132 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.4 + * +******************************************************************************/ +#ifndef __DT_BINDINGS_CLOCK_HI3798CV200_H +#define __DT_BINDINGS_CLOCK_HI3798CV200_H + +#define PERI_CRG0_APLL_1 0x0000 +#define PERI_CRG1_APLL_2 0x0004 +#define PERI_CRG2_BPLL_1 0x0008 +#define PERI_CRG3_BPLL_2 0x000C +#define PERI_CRG4_DPLL_1 0x0010 +#define PERI_CRG5_DPLL_2 0x0014 +#define PERI_CRG8_VPLL_1 0x0020 +#define PERI_CRG9_VPLL_2 0x0024 +#define PERI_CRG10_HPLL_1 0x0028 +#define PERI_CRG11_HPLL_2 0x002C +#define PERI_CRG12_EPLL_1 0x0030 +#define PERI_CRG13_EPLL_2 0x0034 +#define PERI_CRG16_QPLL_1 0x0040 +#define PERI_CRG17_QPLL_2 0x0044 +#define PERI_CRG18_CPU_LP 0x0048 +#define PERI_CRG20_CPU_1 0x0050 +#define PERI_CRG21_CPU_2 0x0054 +#define PERI_CRG22_SYS 0x0058 +#define PERI_CRG23_SFC 0x005C +#define PERI_CRG24_NANDC 0x0060 +#define PERI_CRG25_DDR 0x0064 +#define PERI_CRG26_UART 0x0068 +#define PERI_CRG27_I2C 0x006C +#define PERI_CRG28_SSP 0x0070 +#define PERI_CRG29_SCI 0x0074 +#define PERI_CRG30_VDH 0x0078 +#define PERI_CRG31_JPGD 0x007C +#define PERI_CRG33_PGD 0x0084 +#define PERI_CRG34_BPD 0x0088 +#define PERI_CRG35_VENC 0x008C +#define PERI_CRG36_JPGE 0x0090 +#define PERI_CRG37_TDE 0x0094 +#define PERI_CRG39_SDIO0 0x009C +#define PERI_CRG40_SDIO1 0x00A0 +#define PERI_CRG41_DMA 0x00A4 +#define PERI_CRG42_SATA3CTRL 0x00A8 +#define PERI_CRG43_SATA3PHY 0x00AC +#define PERI_CRG44_USB3CTRL 0x00b0 +#define PERI_CRG46_USB2CTRL 0x00B8 +#define PERI_CRG47_USB2PHY 0x00BC +#define PERI_CRG48_CA 0x00C0 +#define PERI_CRG49_SHA 0x00C4 +#define PERI_CRG50_PMC 0x00C8 +#define PERI_CRG51_GSF 0x00CC +#define PERI_CRG52_DSP 0x00D0 +#define PERI_CRG53_GPU 0x00D4 +#define PERI_CRG54_VDP 0x00D8 +#define PERI_CRG55_VICAP 0x00DC +#define PERI_CRG56_QTC 0x00E0 +#define PERI_CRG57_QAM 0x00E4 +#define PERI_CRG58_QAMADC 0x00E8 +#define PERI_CRG59_SCD 0x00EC +#define PERI_CRG60_VPSS 0x00F0 +#define PERI_CRG61_HWC 0x00F4 +#define PERI_CRG62_BOOTMEM 0x00F8 +#define PERI_CRG63_PVR_1 0x00FC +#define PERI_CRG64_PVR_2 0x0100 +#define PERI_CRG67_HDMITX_CTRL 0x010C +#define PERI_CRG68_HDMITX_PHY 0x0110 +#define PERI_CRG69_ADAC 0x0114 +#define PERI_CRG70_AIAO 0x0118 +#define PERI_CRG71_VDAC 0x011C +#define PERI_CRG72_FEPHY 0x0120 +#define PERI_CRG73_GPU_LP 0x0124 +#define PERI_CRG74_DDR_LP 0x0128 +#define PERI_CRG75_APLL 0x012C +#define PERI_CRG76_BPLL 0x0130 +#define PERI_CRG77_DPLL 0x0134 +#define PERI_CRG79_VPLL 0x013C +#define PERI_CRG80_HPLL 0x0140 +#define PERI_CRG81_EPLL 0x0144 +#define PERI_CRG83_QPLL 0x014C +#define PERI_CRG84_PLL_LOCK 0x0150 +#define PERI_CRG85_SW_READBACK 0x0154 +#define PERI_CRG86_CPU 0x0158 +#define PERI_CRG87_CPU 0x015C +#define PERI_CRG88_DDR 0x0160 +#define PERI_CRG89_DDR 0x0164 +#define PERI_CRG90_OUTPUT_RST 0x0168 +#define PERI_CRG91_USB_FREECLK_DEC 0x016C +#define PERI_CRG93_VDH_RST_READBACK 0x0174 +#define PERI_CRG94_WDG 0x0178 +#define PERI_CRG95_PLL_TEST 0x017C +#define PERI_CRG96_A9_RAM 0x0180 +#define PERI_CRG97_GPU_RAM 0x0184 +#define PERI_CRG98_COMBPHY 0x0188 +#define PERI_CRG99_PCIECTRL 0x018c + +#define HIGMAC_MAC0_CLK 0x019C +#define HIGMAC_MAC1_CLK 0x01A0 +#define HIGMAC_MAC_IF0_CLK 0x01A4 +#define HIGMAC_MAC_IF1_CLK 0x01A8 +#define HII2C_I2C0_CLK 0x01AC +#define HII2C_I2C1_CLK 0x01B0 +#define HII2C_I2C2_CLK 0x01B4 +#define HII2C_I2C3_CLK 0x01B8 +#define HII2C_I2C4_CLK 0x01BC +#define PERI_CRG163_SDIO2 0x028C +#define PERI_CRG224_FMC 0x0380 +#define HIIR_CLK 0x0384 +#define CLK_MAX 0x0390 + +/* higmac reset bit */ +#define HIGMAC_PORT0_RST_BIT 8 +#define HIGMAC_PORT1_RST_BIT 9 +#define HIGMAC_MACIF0_RST_BIT 10 +#define HIGMAC_MACIF1_RST_BIT 11 +#define HIGMAC_PHY0_RST_BIT 12 +#define HIGMAC_PHY1_RST_BIT 13 + +#endif /* __DT_BINDINGS_CLOCK_HI3798CV200_H */ diff --git a/include/dt-bindings/clock/hi3798mv100-clock.h b/include/dt-bindings/clock/hi3798mv100-clock.h new file mode 100644 index 000000000..0d3cce0bf --- /dev/null +++ b/include/dt-bindings/clock/hi3798mv100-clock.h @@ -0,0 +1,117 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.4 + * +******************************************************************************/ +#ifndef __DT_BINDINGS_CLOCK_HI3798MV100_H +#define __DT_BINDINGS_CLOCK_HI3798MV100_H + +#define PERI_CRG0_APLL_1 0x0000 +#define PERI_CRG1_APLL_2 0x0004 +#define PERI_CRG2_BPLL_1 0x0008 +#define PERI_CRG3_BPLL_2 0x000C +#define PERI_CRG4_DPLL_1 0x0010 +#define PERI_CRG5_DPLL_2 0x0014 +#define PERI_CRG8_VPLL_1 0x0020 +#define PERI_CRG9_VPLL_2 0x0024 +#define PERI_CRG10_HPLL_1 0x0028 +#define PERI_CRG11_HPLL_2 0x002C +#define PERI_CRG12_EPLL_1 0x0030 +#define PERI_CRG13_EPLL_2 0x0034 +#define PERI_CRG16_QPLL_1 0x0040 +#define PERI_CRG17_QPLL_2 0x0044 +#define PERI_CRG18_CPU_LP 0x0048 +#define PERI_CRG20_CPU_1 0x0050 +#define PERI_CRG21_CPU_2 0x0054 +#define PERI_CRG22_SYS 0x0058 +#define PERI_CRG23_SFC 0x005C +#define PERI_CRG24_NANDC 0x0060 +#define PERI_CRG25_DDR 0x0064 +#define PERI_CRG26_UART 0x0068 +#define PERI_CRG27_I2C 0x006C +#define PERI_CRG28_SSP 0x0070 +#define PERI_CRG29_SCI 0x0074 +#define PERI_CRG30_VDH 0x0078 +#define PERI_CRG31_JPGD 0x007C +#define PERI_CRG33_PGD 0x0084 +#define PERI_CRG34_BPD 0x0088 +#define PERI_CRG35_VENC 0x008C +#define PERI_CRG36_JPGE 0x0090 +#define PERI_CRG37_TDE 0x0094 +#define PERI_CRG39_SDIO0 0x009C +#define PERI_CRG40_SDIO1 0x00A0 +#define PERI_CRG41_DMA 0x00A4 +#define PERI_CRG42_SATA3CTRL 0x00A8 +#define PERI_CRG43_SATA3PHY 0x00AC +#define PERI_CRG44_USB3CTRL 0x00b0 +#define PERI_CRG46_USB2CTRL 0x00B8 +#define PERI_CRG47_USB2PHY 0x00BC +#define PERI_CRG48_CA 0x00C0 +#define PERI_CRG49_SHA 0x00C4 +#define PERI_CRG50_PMC 0x00C8 +#define PERI_CRG51_SF 0x00CC +#define PERI_CRG52_DSP 0x00D0 +#define PERI_CRG53_GPU 0x00D4 +#define PERI_CRG54_VDP 0x00D8 +#define PERI_CRG55_VICAP 0x00DC +#define PERI_CRG56_QTC 0x00E0 +#define PERI_CRG57_QAM 0x00E4 +#define PERI_CRG58_QAMADC 0x00E8 +#define PERI_CRG59_SCD 0x00EC +#define PERI_CRG60_VPSS 0x00F0 +#define PERI_CRG61_HWC 0x00F4 +#define PERI_CRG62_BOOTMEM 0x00F8 +#define PERI_CRG63_PVR_1 0x00FC +#define PERI_CRG64_PVR_2 0x0100 +#define PERI_CRG67_HDMITX_CTRL 0x010C +#define PERI_CRG68_HDMITX_PHY 0x0110 +#define PERI_CRG69_ADAC 0x0114 +#define PERI_CRG70_AIAO 0x0118 +#define PERI_CRG71_VDAC 0x011C +#define PERI_CRG72_FEPHY 0x0120 +#define PERI_CRG73_GPU_LP 0x0124 +#define PERI_CRG74_DDR_LP 0x0128 +#define PERI_CRG75_APLL 0x012C +#define PERI_CRG76_BPLL 0x0130 +#define PERI_CRG77_DPLL 0x0134 +#define PERI_CRG79_VPLL 0x013C +#define PERI_CRG80_HPLL 0x0140 +#define PERI_CRG81_EPLL 0x0144 +#define PERI_CRG83_QPLL 0x014C +#define PERI_CRG84_PLL_LOCK 0x0150 +#define PERI_CRG85_SW_READBACK 0x0154 +#define PERI_CRG86_CPU 0x0158 +#define PERI_CRG87_CPU 0x015C +#define PERI_CRG88_DDR 0x0160 +#define PERI_CRG89_DDR 0x0164 +#define PERI_CRG90_OUTPUT_RST 0x0168 +#define PERI_CRG91_USB_FREECLK_DEC 0x016C +#define PERI_CRG93_VDH_RST_READBACK 0x0174 +#define PERI_CRG94_WDG 0x0178 +#define PERI_CRG95_PLL_TEST 0x017C +#define PERI_CRG96_A9_RAM 0x0180 +#define PERI_CRG97_GPU_RAM 0x0184 +#define PERI_CRG100_USB2PHY2 0x0190 +#define PERI_CRG101_USB3PHY 0x0194 +#define PERI_CRG102_USB2CTRL2 0x0198 + +#define HII2C_I2C0_CLK 0x01AC +#define HII2C_I2C1_CLK 0x01B0 +#define HII2C_I2C2_CLK 0x01B4 +#define HIIR_CLK 0x01B8 +#define CLK_MAX 0x0200 + +#endif /* __DT_BINDINGS_CLOCK_HI3798MV100_H */ diff --git a/include/dt-bindings/clock/hi3798mv200-clock.h b/include/dt-bindings/clock/hi3798mv200-clock.h new file mode 100644 index 000000000..6200998a3 --- /dev/null +++ b/include/dt-bindings/clock/hi3798mv200-clock.h @@ -0,0 +1,130 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.4 + * +******************************************************************************/ +#ifndef __DT_BINDINGS_CLOCK_HI3798CV200_H +#define __DT_BINDINGS_CLOCK_HI3798CV200_H + +#define PERI_CRG0_APLL_1 0x0000 +#define PERI_CRG1_APLL_2 0x0004 +#define PERI_CRG2_BPLL_1 0x0008 +#define PERI_CRG3_BPLL_2 0x000C +#define PERI_CRG4_DPLL_1 0x0010 +#define PERI_CRG5_DPLL_2 0x0014 +#define PERI_CRG8_VPLL_1 0x0020 +#define PERI_CRG9_VPLL_2 0x0024 +#define PERI_CRG10_HPLL_1 0x0028 +#define PERI_CRG11_HPLL_2 0x002C +#define PERI_CRG12_EPLL_1 0x0030 +#define PERI_CRG13_EPLL_2 0x0034 +#define PERI_CRG16_QPLL_1 0x0040 +#define PERI_CRG17_QPLL_2 0x0044 +#define PERI_CRG18_CPU_LP 0x0048 +#define PERI_CRG20_CPU_1 0x0050 +#define PERI_CRG21_CPU_2 0x0054 +#define PERI_CRG22_SYS 0x0058 +#define PERI_CRG23_SFC 0x005C +#define PERI_CRG24_NANDC 0x0060 +#define PERI_CRG25_DDR 0x0064 +#define PERI_CRG26_UART 0x0068 +#define PERI_CRG27_I2C 0x006C +#define PERI_CRG28_SSP 0x0070 +#define PERI_CRG29_SCI 0x0074 +#define PERI_CRG30_VDH 0x0078 +#define PERI_CRG31_JPGD 0x007C +#define PERI_CRG33_PGD 0x0084 +#define PERI_CRG34_BPD 0x0088 +#define PERI_CRG35_VENC 0x008C +#define PERI_CRG36_JPGE 0x0090 +#define PERI_CRG37_TDE 0x0094 +#define PERI_CRG39_SDIO0 0x009C +#define PERI_CRG40_SDIO1 0x00A0 +#define PERI_CRG41_DMA 0x00A4 +#define PERI_CRG42_SATA3CTRL 0x00A8 +#define PERI_CRG43_SATA3PHY 0x00AC +#define PERI_CRG44_USB3CTRL 0x00b0 +#define PERI_CRG46_USB2CTRL 0x00B8 +#define PERI_CRG47_USB2PHY 0x00BC +#define PERI_CRG48_CA 0x00C0 +#define PERI_CRG49_SHA 0x00C4 +#define PERI_CRG50_PMC 0x00C8 +#define PERI_CRG51_GSF 0x00CC +/* PERI_CRG52_SF is for Hi3798MV200 only*/ +#define PERI_CRG52_SF 0x00D0 +#define PERI_CRG53_GPU 0x00D4 +#define PERI_CRG54_VDP 0x00D8 +#define PERI_CRG55_VICAP 0x00DC +#define PERI_CRG56_QTC 0x00E0 +#define PERI_CRG57_QAM 0x00E4 +#define PERI_CRG58_QAMADC 0x00E8 +#define PERI_CRG59_SCD 0x00EC +#define PERI_CRG60_VPSS 0x00F0 +#define PERI_CRG61_HWC 0x00F4 +#define PERI_CRG62_BOOTMEM 0x00F8 +#define PERI_CRG63_PVR_1 0x00FC +#define PERI_CRG64_PVR_2 0x0100 +#define PERI_CRG67_HDMITX_CTRL 0x010C +#define PERI_CRG68_HDMITX_PHY 0x0110 +#define PERI_CRG69_ADAC 0x0114 +#define PERI_CRG70_AIAO 0x0118 +#define PERI_CRG71_VDAC 0x011C +#define PERI_CRG72_FEPHY 0x0120 +#define PERI_CRG73_GPU_LP 0x0124 +#define PERI_CRG74_DDR_LP 0x0128 +#define PERI_CRG75_APLL 0x012C +#define PERI_CRG76_BPLL 0x0130 +#define PERI_CRG77_DPLL 0x0134 +#define PERI_CRG79_VPLL 0x013C +#define PERI_CRG80_HPLL 0x0140 +#define PERI_CRG81_EPLL 0x0144 +#define PERI_CRG83_QPLL 0x014C +#define PERI_CRG84_PLL_LOCK 0x0150 +#define PERI_CRG85_SW_READBACK 0x0154 +#define PERI_CRG86_CPU 0x0158 +#define PERI_CRG87_CPU 0x015C +#define PERI_CRG88_DDR 0x0160 +#define PERI_CRG89_DDR 0x0164 +#define PERI_CRG90_OUTPUT_RST 0x0168 +#define PERI_CRG91_USB_FREECLK_DEC 0x016C +#define PERI_CRG93_VDH_RST_READBACK 0x0174 +#define PERI_CRG94_WDG 0x0178 +#define PERI_CRG95_PLL_TEST 0x017C +#define PERI_CRG96_A9_RAM 0x0180 +#define PERI_CRG97_GPU_RAM 0x0184 +#define PERI_CRG98_COMBPHY 0x0188 +#define PERI_CRG99_PCIECTRL 0x018c + +#define HIGMAC_MAC0_CLK 0x019C +#define HIGMAC_MAC1_CLK 0x01A0 +#define HIGMAC_MAC_IF0_CLK 0x01A4 +#define HIGMAC_MAC_IF1_CLK 0x01A8 +#define HII2C_I2C0_CLK 0x01AC +#define HII2C_I2C1_CLK 0x01B0 +#define HII2C_I2C2_CLK 0x01B4 +#define HII2C_I2C_ADC_CLK 0x01B8 +#define HII2C_I2C_QAM_CLK 0x01BC +#define PERI_CRG163_SDIO2 0x028C +#define PERI_CRG224_FMC 0x0380 +#define HIIR_CLK 0x0384 +#define CLK_MAX 0x0390 + +/* higmac reset bit */ +#define HIGMAC_PORT0_RST_BIT 0 +#define HIGMAC_MACIF0_RST_BIT 2 +#define HIGMAC_PHY0_RST_BIT 5 + +#endif /* __DT_BINDINGS_CLOCK_HI3798CV200_H */ diff --git a/include/dt-bindings/clock/histb-clock.h b/include/dt-bindings/clock/histb-clock.h index e64e5770a..c4d21efc2 100644 --- a/include/dt-bindings/clock/histb-clock.h +++ b/include/dt-bindings/clock/histb-clock.h @@ -43,7 +43,7 @@ #define HISTB_COMBPHY1_CLK 33 #define HISTB_USB2_BUS_CLK 34 #define HISTB_USB2_PHY_CLK 35 -#define HISTB_USB2_UTMI_CLK 36 +#define HISTB_USB2_UTMI0_CLK 36 #define HISTB_USB2_12M_CLK 37 #define HISTB_USB2_48M_CLK 38 #define HISTB_USB2_OTG_UTMI_CLK 39 @@ -58,6 +58,17 @@ #define HISTB_USB3_UTMI_CLK1 48 #define HISTB_USB3_PIPE_CLK1 49 #define HISTB_USB3_SUSPEND_CLK1 50 +#define HISTB_USB2_UTMI1_CLK 51 +#define HISTB_NAND_CLK 52 +#define HISTB_USB2_2_BUS_CLK 53 +#define HISTB_USB2_2_PHY_CLK 54 +#define HISTB_USB2_2_UTMI0_CLK 55 +#define HISTB_USB2_2_UTMI1_CLK 56 +#define HISTB_USB2_2_12M_CLK 57 +#define HISTB_USB2_2_48M_CLK 58 +#define HISTB_USB2_2_OTG_UTMI_CLK 59 +#define HISTB_USB2_2_PHY1_REF_CLK 60 +#define HISTB_USB2_2_PHY2_REF_CLK 61 /* clocks provided by mcu CRG */ #define HISTB_MCE_CLK 1 diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h index 6c6859bfc..6ed7343a5 100644 --- a/include/linux/cpuhotplug.h +++ b/include/linux/cpuhotplug.h @@ -177,6 +177,7 @@ enum cpuhp_state { CPUHP_AP_JCORE_TIMER_STARTING, CPUHP_AP_ARM_TWD_STARTING, CPUHP_AP_QCOM_TIMER_STARTING, + CPUHP_AP_HISP804_TIMER_STARTING, CPUHP_AP_TEGRA_TIMER_STARTING, CPUHP_AP_ARMADA_TIMER_STARTING, CPUHP_AP_MARCO_TIMER_STARTING, diff --git a/include/linux/hikapi.h b/include/linux/hikapi.h new file mode 100644 index 000000000..99c35a2ea --- /dev/null +++ b/include/linux/hikapi.h @@ -0,0 +1,97 @@ +/****************************************************************************** + * Copyright (C) 2014 Hisilicon STB Development Dept + * All rights reserved. + * *** + * Create by Cai Zhiyong + * + * 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 HIUAPIH +#define HIUAPIH + +#include + +#define HIKAPI_GET_RAM_SIZE 1 +#define HIKAPI_GET_CMA_SIZE 2 +#define HIKAPI_GET_MMZ_SIZE 3 +/** + * get memory size information, such CMA size, RAM size. + * + * param: + * size specify size, + * flags what size you want get. + * HIKAPI_GET_RAM_SIZE - get ram size, unit is 1M + * HIKAPI_GET_CMA_SIZE - get cma size, unit is 1M + * HIKAPI_GET_MMZ_SIZE - get mmz size, unit is 1M + * retval: + * 0 success + * other fail. + */ +int get_mem_size(unsigned int *size, int flags); + +/* + * get ddr size, unit is bytes + */ +unsigned long get_dram_size(void); + +/* reference man semctl */ +long os_semctl(int semid, int semnum, int cmd, unsigned long arg); + +/* reference man semget */ +long os_semget(key_t key, int nsems, int semflg); + +/* return sdk version to kernel */ +const char *get_sdkversion(void); + +/* ARBITRARY: SRAM allocations are multiples of this 2^N size */ +#define SRAM_GRANULARITY 512 + +#ifdef CONFIG_SUPPORT_SRAM_MANAGER +void *sram_alloc(size_t len, dma_addr_t *dma); +void sram_free(void *addr, size_t len); +int sram_suspend(void); +void sram_resume(void); +#else +# define sram_alloc(_len, _dma) NULL +# define sram_free(_addr, _len) +# define sram_suspend() do { } while (0) +# define sram_resume() do { } while (0) +#endif + +/* + * name param name + * buf param buffer pointer; + * buflen param length; + * + * return -1: not found this param; + * -2: input parameter bad; + * other: parameter real length; + */ +int get_param_data(const char *name, char *buf, unsigned int buflen); +int set_param_data(const char *name, char *buf, unsigned int buflen); + +char *ultohstr(u64 size, char *str, int len); + +int pdm_free_reserve_mem(u32 phyaddr, u32 size); + +/* Convert phys io address to virt address*/ +void __iomem *io_address(unsigned long phys_addr); + +int is_tee(void); +int scpu_enabled(void); +/******************************************************************************/ + +#include + + +#endif /* HIUAPIH */ diff --git a/include/linux/hisilicon/cputable.h b/include/linux/hisilicon/cputable.h new file mode 100644 index 000000000..61307ac6e --- /dev/null +++ b/include/linux/hisilicon/cputable.h @@ -0,0 +1,81 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.25 + * +******************************************************************************/ + +#ifndef HISILICON_CPUTABLE_H +#define HISILICON_CPUTABLE_H + +#define _HI3716CV200ES (0x0019400200ULL) +#define _HI3716CV200ES_MASK (0xFFFFFFFFFFULL) + +#define _HI3716CV200 (0x0037160200ULL) +#define _HI3716CV200_MASK (0xFFFFFFFFFFULL) + +#define _HI3716HV200 (0x0437160200ULL) +#define _HI3719CV100 (0x0837160200ULL) +#define _HI3718CV100 (0x1037160200ULL) + +#define _HI3716MV400 (0x1C37160200ULL) +#define _HI3716MV400_MASK (0xFEFFFFFFFFULL) + +#define _HI3716MV410 (0x0137160410LL) +#define _HI3716MV420 (0x0037160410LL) +#define _HI3716MV420B03 (0x0037160450LL) +#define _HI3716MV420N (0x0037160460LL) +#define _HI3716MV410_MASK (0xFFFFFFFFFFLL) + +#define _HI3719MV100A (0x1E37160200ULL) +#define _HI3719MV100A_MASK (0xFEFFFFFFFFULL) + +#define _HI3719MV100 (0x0037190100ULL) +#define _HI3718MV100 (0x0437190100ULL) +#define _HI3718MV100_MASK (0xFEFFFFFFFFULL) + +#define _HI3798CV100A (0x0019050100ULL) +#define _HI3798CV100A_MASK (0xFFFFFFFFFFULL) + +#define _HI3798CV100 (0x1C19050100ULL) +#define _HI3796CV100 (0x1819050100ULL) +#define _HI3798CV100_MASK (0xFFFFFFFFFFULL) + +#define _HI3798MV100 (0x0137980100ULL) +#define _HI3796MV100 (0x0037980100ULL) +#define _HI3716DV100 (0x1037980100ULL) +#define _HI3798MV100_MASK (0xF1FFFFFF0FULL) + +#define _HI3798CV200 (0x0037980200ULL) +#define _HI3798CV200_MASK (0xFFFFFFFFFFULL) + +#define _HI3798MV200 (0x0037986200ULL) +#define _HI3798MV200_MASK (0xFFFFFFFFFFULL) + +#define _HI3798MV200_A (0x0037988200ULL) + +#define _HI3798MV300 (0x0037980210ULL) + +#define _HI3796MV200_21X21 (0x0037960200ULL) +#define _HI3796MV200_15X15 (0x0137960200ULL) +#define _HI3796MV200_MASK (0xFFFFFFFFFFULL) + +u64 get_chipid(u64 mask); + +const char *get_cpuname(void); + +extern u64 cpu_chipid; + +#endif /* HISILICON_CPUTABLE_H*/ diff --git a/include/linux/hisilicon/flash_stats.h b/include/linux/hisilicon/flash_stats.h new file mode 100644 index 000000000..0100711ac --- /dev/null +++ b/include/linux/hisilicon/flash_stats.h @@ -0,0 +1,40 @@ +/****************************************************************************** + * Copyright (C) 2015 Cai Zhiyong + * + * 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. + * + * Create By Cai Zhiying 2015.8.10 + * +******************************************************************************/ + +#ifndef FLASH_STATS_H +#define FLASH_STATS_H + +/******************************************************************************/ + +struct flash_stats { + void (*erase)(struct flash_stats *stats, u64 addr, u64 len); + void (*read)(struct flash_stats *stats, u64 addr, u64 len, u8 *ecc); + void (*write)(struct flash_stats *stats, u64 addr, u64 len); + void (*read_retry)(struct flash_stats *stats, u64 addr, int index); +}; + +struct flash_stats *flash_stats_create(char *name, int pagesize, int blocksize, + u64 totalsize, int nr_ecc_sect, int read_retries); + +void flash_stats_destory(struct flash_stats *stats); + +/******************************************************************************/ + +#endif /* FLASH_STATS_H */ + diff --git a/include/linux/hisilicon/freq.h b/include/linux/hisilicon/freq.h new file mode 100644 index 000000000..afdb76a61 --- /dev/null +++ b/include/linux/hisilicon/freq.h @@ -0,0 +1,43 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.12 + * +******************************************************************************/ + +#ifndef FREQ_H +#define FREQ_H + +#define _12MHz (12000000) +#define _12dot5MHz (12500000) +#define _24MHz (24000000) +#define _25MHz (25000000) +#define _15MHz (15000000) +#define _37dot5MHz (37500000) +#define _50MHz (50000000) +#define _62dot5MHz (62500000) +#define _75MHz (75000000) +#define _86dot4MHz (86400000) +#define _100MHz (100000000) +#define _125MHz (125000000) +#define _150MHz (150000000) +#define _166dot5MHz (166500000) +#define _168dot75MHz (168750000) +#define _187MHz (187000000) +#define _200MHz (200000000) +#define _300MHz (300000000) +#define _337dot5MHz (377500000) + +#endif /* FREQ_H*/ diff --git a/include/linux/hisilicon/himisc.h b/include/linux/hisilicon/himisc.h new file mode 100644 index 000000000..4207f5dfd --- /dev/null +++ b/include/linux/hisilicon/himisc.h @@ -0,0 +1,56 @@ +/****************************************************************************** + * Copyright (C) 2014 Hisilicon STB Development Dept + * All rights reserved. + * *** + * Create by Cai Zhiyong + * + * 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 __HISI_MISC__ +#define __HISI_MISC__ + +#include + +#ifdef CONFIG_PCIE_HISILICON +void pcie_reserve_memory(void); +#else +static inline void pcie_reserve_memory(void) {} +#endif + +void pdm_reserve_mem(void); + +struct match_t { + int type; + int reg; + void *data; +}; + +#define MATCH_SET_TYPE_REG(_type, _reg) {(_type), (_reg), (void *)0} +#define MATCH_SET_TYPE_DATA(_type, _data) {(_type), 0, (void *)(_data)} +#define MATCH_SET(_type, _reg, _data) {(_type), (_reg), (void *)(_data)} + +int match_reg_to_type(struct match_t *table, int nr_table, int reg, int def); + +int match_type_to_reg(struct match_t *table, int nr_table, int type, int def); + +int match_data_to_type(struct match_t *table, int nr_table, char *data, int size, + int def); + +void *match_type_to_data(struct match_t *table, int nr_table, int type, + void *def); + +int find_param_tag(const char *name, char **data); + +int fdt_add_memory_reserve(u64 base, u64 size); + +#endif /* __HISI_MISC__ */ diff --git a/include/linux/hisilicon/hiotg.h b/include/linux/hisilicon/hiotg.h new file mode 100644 index 000000000..8c9cb858f --- /dev/null +++ b/include/linux/hisilicon/hiotg.h @@ -0,0 +1,46 @@ +/****************************************************************************** + * Copyright (C) 2015 Hisilicon Technologies CO.,LTD. + * + * 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. + * + * Create By Cai Zhiyong 2015.6.12 + * +******************************************************************************/ + +#ifndef HIOTG_H +#define HIOTG_H + +#ifdef CONFIG_USB_OTG_HISI + +/* if defined struct usb_hcd, then define the function */ +#ifdef __USB_CORE_HCD_H +void set_usbhost_connect(struct usb_hcd *hcd, + u32 port_index, u32 online, u32 host_type); +#endif +void set_usbdev_connect(u32 index, u32 online); + +#else /* CONFIG_USB_OTG_HISI */ + +#ifdef __USB_CORE_HCD_H +static void inline set_usbhost_connect(struct usb_hcd *hcd, + u32 port_index, u32 online, u32 host_type) +{ +} +#endif +static void inline set_usbdev_connect(u32 index, u32 online) +{ +} + +#endif /* CONFIG_USB_OTG_HISI */ + +#endif /* HIOTG_H */ diff --git a/include/linux/hisilicon/hisi-iommu.h b/include/linux/hisilicon/hisi-iommu.h new file mode 100644 index 000000000..e4c29169a --- /dev/null +++ b/include/linux/hisilicon/hisi-iommu.h @@ -0,0 +1,69 @@ +#ifndef _HISI_IOMMU_H_ +#define _HISI_IOMMU_H_ + +#include +#include +#include +#include +#ifdef CONFIG_HISI_IOMMU_API +/** + * hisi iommu domain interface + */ +size_t hisi_iommu_iova_size(void); +size_t hisi_iommu_iova_available(void); +void hisi_iommu_free_iova(unsigned long iova, size_t size); +unsigned long hisi_iommu_alloc_iova(size_t size, unsigned long align); +int hisi_iommu_map_range(unsigned long iova_start, struct scatterlist *sgl, + unsigned long iova_size); +int hisi_iommu_unmap_range(unsigned long iova_start, + unsigned long iova_size); + +int hisi_iommu_map_domain(struct scatterlist *sg, + struct iommu_map_format *format); +int hisi_iommu_unmap_domain(struct iommu_map_format *format); + +phys_addr_t hisi_iommu_domain_iova_to_phys(unsigned long iova); + +unsigned int hisi_iommu_page_size(void); +bool hisi_iommu_off_on(void); +int hisi_iommu_get_info(unsigned int *iova_start, unsigned int *pgtbl_base); + +#else + +/** + * hisi iommu domain interface + */ +static inline __maybe_unused int hisi_iommu_map_domain(struct scatterlist *sg, + struct iommu_map_format *format) +{ + return 0; +} + +static inline int __maybe_unused hisi_iommu_unmap_domain(struct iommu_map_format *format) +{ + return 0; +} + +static inline __maybe_unused phys_addr_t hisi_iommu_domain_iova_to_phys(unsigned long iova) +{ + return 0; +} +static inline unsigned int __maybe_unused hisi_iommu_page_size(void) +{ + return SZ_4K; +} + +static bool __maybe_unused hisi_iommu_off_on(void) +{ + return false; +} + +static inline int __maybe_unused hisi_iommu_get_info(unsigned int *iova_start, + unsigned int *pgtbl_base) +{ + return 0; +} + +#endif /* CONFIG_HISI_IODOMAIN_API */ + +#endif /* _HISI_IOMMU_H_ */ diff --git a/include/linux/hisilicon/platform.h b/include/linux/hisilicon/platform.h new file mode 100644 index 000000000..9346b1dad --- /dev/null +++ b/include/linux/hisilicon/platform.h @@ -0,0 +1,4 @@ + +#ifdef CONFIG_ARCH_HI3796MV2X +#include "drivers/hisilicon/soc/hi3796mv200/platform.h" +#endif diff --git a/include/linux/hisilicon/rdr_pub.h b/include/linux/hisilicon/rdr_pub.h new file mode 100644 index 000000000..bb499e2e3 --- /dev/null +++ b/include/linux/hisilicon/rdr_pub.h @@ -0,0 +1,373 @@ +/* + * blackbox header file (blackbox: kernel run data recorder.) + * + * Copyright (c) 2013 Hisilicon Technologies CO., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef __BB_PUB_H__ +#define __BB_PUB_H__ + +#include + +#include +#define STR_MODULENAME_MAXLEN 16 +#define STR_EXCEPTIONDESC_MAXLEN 48 +#define STR_TASKNAME_MAXLEN 16 +#define STR_USERDATA_MAXLEN 64 + +#define PATH_ROOT "/data/hisi_logs/" + +#define INT_IN_FLAG 0xAAAAUL +#define INT_EXIT_FLAG 0xBBBBUL + +#define BBOX_SAVE_DONE_FILENAME "/DONE" /*异常文件目录log保存完毕的标志文件名字*/ + +/*异常时,log保存完毕的标志*/ +enum SAVE_STEP { + BBOX_SAVE_STEP1 = 0x1, + BBOX_SAVE_STEP2 = 0x2, + BBOX_SAVE_STEP3 = 0x3, + BBOX_SAVE_STEP_DONE = 0x100 +}; + +enum CORE_LIST { + RDR_AP = 0x1, + RDR_CP = 0x2, + RDR_TEEOS = 0x4, + RDR_HIFI = 0x8, + RDR_LPM3 = 0x10, + RDR_IOM3 = 0x20, + RDR_ISP = 0x40, + RDR_IVP = 0x80, + RDR_EMMC = 0x100, + RDR_CORE_MAX = 9 +}; + +enum RDR_DUMPCTRL_NVE { + RDR_DCTRL_AP = 0x0, + RDR_DCTRL_CP = 0x1, + RDR_DCTRL_TEEOS = 0x2, + RDR_DCTRL_HIFI = 0x3, + RDR_DCTRL_LPM3 = 0x4, + RDR_DCTRL_IOM3 = 0x5, + RDR_DCTRL_ISP = 0x6, + RDR_DCTRL_IVP = 0x7, + RDR_DCTRL_MAX = 0x20 +}; + +/*this is for test*/ +enum rdr_except_reason_e { + RDR_EXCE_WD = 0x01,/*watchdog timeout*/ + RDR_EXCE_INITIATIVE, /*initictive call sys_error*/ + RDR_EXCE_PANIC, /*ARM except(eg:data abort)*/ + RDR_EXCE_STACKOVERFLOW, + RDR_EXCE_DIE, + RDR_EXCE_UNDEF, + RDR_EXCE_MAX +}; + +/*Add, please keep the same as definition in reboot_reason.h in fastboot !!!!*/ +typedef enum +{ + AP_S_COLDBOOT = 0x0, + BOOTLOADER = 0x01, + RECOVERY = 0x02, + RESETFACTORY = 0x03, + RESETUSER = 0x04, + SDUPDATE = 0x05, + CHARGEREBOOT = 0x06, + RESIZE = 0x07, + ERECOVERY = 0x08, + USBUPDATE = 0x09, + CUST = 0x0a, + USERSDUPDATE = 0x0b, + OEM_RTC = 0x0c, + RESERVED5 = 0x0d, + MOUNTFAIL = 0x0e, + HUNGDETECT = 0x0f, + COLDBOOT = 0x10, + RESERVED1 = 0x11, + AP_S_FASTBOOTFLASH = 0x13, + AP_S_ABNORMAL = 0x14, + AP_S_TSENSOR0 = 0x15, + AP_S_TSENSOR1 = 0x16, + AP_S_AWDT = 0x17, + LPM3_S_GLOBALWDT = 0x18, + G3D_S_G3DTSENSOR = 0x19, + LPM3_S_LPMCURST = 0x1a, + CP_S_CPTSENSOR = 0x1b, + IOM3_S_IOMCURST = 0x1c, + ASP_S_ASPWD = 0x1d, + CP_S_CPWD = 0x1e, + IVP_S_IVPWD = 0x1f, + ISP_S_ISPWD = 0x20, + AP_S_DDR_SELFREFLASH = 0x21, + AP_S_DDR_FATAL_INTER = 0X22, + RESERVED2 = 0x23, + AP_S_PANIC = 0x24, + AP_S_NOC = 0x25, + AP_S_PMU = 0x26, + AP_S_DDRC_SEC = 0x27, + AP_S_GPIO = 0x28, + AP_S_COMBINATIONKEY = 0x29, + AP_S_DIE = 0x2a, + AP_S_MAILBOX = 0x2b, + AP_S_CSI = 0x2c, + AP_S_PAM = 0x2d, + RESERVED3 = 0x2e, + CP_S_EXCEPTION = 0x2f, + CP_S_RESETFAIL = 0x30, + CP_S_NORMALRESET = 0x31, + LPM3_S_EXCEPTION = 0x32, + HIFI_S_EXCEPTION = 0x33, + HIFI_S_RESETFAIL = 0x34, + ISP_S_EXCEPTION = 0x35, + IVP_S_EXCEPTION = 0x36, + IOM3_S_EXCEPTION = 0x37, + TEE_S_EXCEPTION = 0x38, + MMC_S_EXCEPTION = 0x39, + RESERVED4 = 0x40, + BR_KEY_VOLUMN_DOWN_UP_UPDATE_USB = 0x41, + BR_KEY_VOLUMN_DOWN_UP_UPDATE_SD_FORCE = 0x42, + BR_KEY_VOLUMN_UP = 0x43, + BR_KEY_POWERON_PRESS_1S = 0x44, + BR_KEY_POWERON_PRESS_10S = 0x45, + BR_CHECKPOINT_SDUPDATE = 0x46, + BR_CHECKPOINT_USBUPDATE = 0x47, + BR_CHECKPOINT_RESETFACTORY = 0x48, + BR_CHECKPOINT_HOTAUPDATE = 0x49, + BR_CHECKPOINT_USERSDUPDATE = 0x4a, + BR_POWERON_BY_USB_NO_BAT = 0x4b, + BR_NOGUI = 0x4c, + BR_FACTORY_VERSION = 0x4d, + BR_RESET_HAPPEN = 0x4e, + BR_POWEROFF_ALARM = 0x4f, + BR_POWEROFF_CHARGE = 0x50, + BR_POWERON_BY_SMPL = 0x51, +} EXCH_SOURCE; + +enum PROCESS_PRI { + RDR_ERR = 0x01, + RDR_WARN, + RDR_OTHER, + RDR_PPRI_MAX +}; + +enum REBOOT_PRI { + RDR_REBOOT_NOW = 0x01, + RDR_REBOOT_WAIT, + RDR_REBOOT_NO, + RDR_REBOOT_MAX +}; + +enum REENTRANT { + RDR_REENTRANT_ALLOW = 0xff00da00, + RDR_REENTRANT_DISALLOW +}; + +enum UPLOAD_FLAG { + RDR_UPLOAD_YES = 0xff00fa00, + RDR_UPLOAD_NO +}; + + +enum RDR_RETURN { + RDR_SUCCESSED = 0x9f000000, + RDR_FAILD = 0x9f000001, + RDR_NULLPOINTER = 0x9f0000ff +}; + +typedef void (*rdr_e_callback)( u32, void* ); + +/* + * struct list_head e_list; + * u32 modid, exception id; + * if modid equal 0, will auto generation modid, and return it. + * u32 modid_end, can register modid region. [modid~modid_end]; + need modid_end >= modid, + * if modid_end equal 0, will be register modid only, + but modid & modid_end cant equal 0 at the same time. + * u32 process_priority, exception process priority + * u32 reboot_priority, exception reboot priority + * u64 save_log_mask, need save log mask + * u64 notify_core_mask, need notify other core mask + * u64 reset_core_mask, need reset other core mask + * u64 from_core, the core of happen exception + * u32 reentrant, whether to allow exception reentrant + * u32 exce_type, the type of exception + * char* from_module, the module of happen excption + * char* desc, the desc of happen excption + * rdr_e_callback callback, will be called when excption has processed. + * u32 reserve_u32; reserve u32 + * void* reserve_p reserve void * + */ +struct rdr_exception_info_s { + struct list_head e_list; + u32 e_modid; + u32 e_modid_end; + u32 e_process_priority; + u32 e_reboot_priority; + u64 e_notify_core_mask; + u64 e_reset_core_mask; + u64 e_from_core; + u32 e_reentrant; + u32 e_exce_type; + u32 e_upload_flag; + u8 e_from_module[MODULE_NAME_LEN]; + u8 e_desc[STR_EXCEPTIONDESC_MAXLEN]; + u32 e_reserve_u32; + void* e_reserve_p; + rdr_e_callback e_callback; +}; + +/* + * func name: pfn_cb_dump_done + * func args: + * u32 modid + * exception id + * u64 coreid + * which core done + * return value null + */ +typedef void (*pfn_cb_dump_done)( u32 modid, u64 coreid); + +/* + * func name: pfn_dump + * func args: + * u32 modid + * exception id + * u64 coreid + * exception core + * u32 etype + * exception type + * char* logpath + * exception log path + * pfn_cb_dump_done fndone + * return mask bitmap. + */ +typedef void (*pfn_dump)( u32 modid, u32 etype, u64 coreid, + char* logpath, pfn_cb_dump_done fndone); +/* + * func name: pfn_reset + * func args: + * u32 modid + * exception id + * u32 coreid + * exception core + * u32 e_type + * exception type + * return value null + */ +typedef void (*pfn_reset)( u32 modid, u32 etype, u64 coreid); + +struct rdr_module_ops_pub { + pfn_dump ops_dump; + pfn_reset ops_reset; +}; + +struct rdr_register_module_result { + u64 log_addr; + u32 log_len; + RDR_NVE nve; +}; + +#ifdef CONFIG_HISI_BB +/* + * func name: rdr_register_exception_type + * func args: + * struct rdr_exception_info_pub* s_e_type + * return value e_modid + * < 0 error + * >=0 success + */ +u32 rdr_register_exception(struct rdr_exception_info_s* e); + +/* + * func name: bb_unregister_exception_type + * func args: + * u32 modid, exception id; + * return + * < 0 fail + * >=0 success + * u32 bb_unregister_exception(u32 modid); + */ + +/* + * func name: hisi_bbox_map + * func args: + * @paddr: physical address in black box + * @size: size of memory + * return: + * success: virtual address + * fail: NULL or -ENOMEM + */ +void *hisi_bbox_map(phys_addr_t paddr, size_t size); + +/* + * func name: hisi_bbox_unmap + * func args: + * @addr: virtual address that alloced by hisi_bbox_map + */ +void hisi_bbox_unmap(const void *vaddr); + +/* + * func name: rdr_register_module_ops + * func args: + * u32 coreid, core id; + * . + * struct rdr_module_ops_pub* ops; + * struct rdr_register_module_result* retinfo + * return value e_modid + * < 0 error + * >=0 success + */ +int rdr_register_module_ops( + u64 coreid, + struct rdr_module_ops_pub* ops, + struct rdr_register_module_result* retinfo + ); + +/* + * func name: bb_unregister_exception_type + * func args: + * u64 coreid, core id; + * return + * < 0 fail + * >=0 success + u64 rdr_unregister_module_ops_info(u64 coreid); + */ + +/* + * func name: rdr_system_error + * func args: + * u32 modid, modid( must be registered); + * u32 arg1, arg1; + * u32 arg2, arg2; + * char * data, short message. + * u32 length, len(IMPORTANT: <=4k) + * return void + */ +void rdr_system_error(u32 modid, u32 arg1, u32 arg2); + +void rdr_syserr_process_for_ap(u32 modid, u64 arg1, u64 arg2); +#else +static inline void *hisi_bbox_map(phys_addr_t paddr, size_t size){ return NULL; } +static inline u32 rdr_register_exception(struct rdr_exception_info_s* e){ return 0;} +static inline int rdr_register_module_ops( + u64 coreid, + struct rdr_module_ops_pub* ops, + struct rdr_register_module_result* retinfo + ){ return -1; } +static inline void rdr_system_error(u32 modid, u32 arg1, u32 arg2){} +static inline void rdr_syserr_process_for_ap(u32 modid, u64 arg1, u64 arg2){} +#endif + +void get_exception_info(unsigned long *buf, unsigned long *buf_len); +#define RDR_REBOOTDUMPINFO_FLAG 0xdd140607 + +#endif/* End #define __BB_PUB_H__ */ + diff --git a/include/linux/hisilicon/rdr_types.h b/include/linux/hisilicon/rdr_types.h new file mode 100644 index 000000000..b6a19437b --- /dev/null +++ b/include/linux/hisilicon/rdr_types.h @@ -0,0 +1,21 @@ +/* + * blackbox header file (blackbox: kernel run data recorder.) + * + * Copyright (c) 2013 Hisilicon Technologies CO., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef __RDR_TYPES_H__ +#define __RDR_TYPES_H__ + +#include + +#define RDR_INT (long long) +#define RDR_PTR (void*) +#define RDR_NVE u64 + +#endif/* End #define __RDR_TYPES_H__ */ + diff --git a/include/linux/hisilicon/tee_smmu.h b/include/linux/hisilicon/tee_smmu.h new file mode 100644 index 000000000..fec3aa0e7 --- /dev/null +++ b/include/linux/hisilicon/tee_smmu.h @@ -0,0 +1,214 @@ +#ifndef __DRV_TZSMMU_H +#define __DRV_TZSMMU_H + +typedef struct TEE_MEM_BUFFER_S +{ + struct sg_table *table; + u32 u32Size; +}TEE_MEM_BUFFER_S; + +struct tz_pageinfo { + u32 phys_addr; + u32 npages; +}; + +/* + * sec_smmu: sec smmu address + * phys_addr: phys of the mem + * normal_smmu: no sec smmu address + * total_size: the whole size of mem + * pageinfoaddr: the buf phys of the mem info + * nblocks: the number of config physic mem blocks + */ +typedef struct tz_memblocks { + u32 sec_smmu; + u32 phys_addr; + u32 normal_smmu; + u32 total_size; + u32 pageinfoaddr; +#ifndef CONFIG_TEE_VMX_ULTRA + u32 nblocks; +#endif +} TEE_MEMBLOCKS; + +/* + * phys_buf: phys addree of buffer,in which smmu mem is stored + * list: list of buffer + */ +typedef struct tee_mem{ + u32 phys_buf; + struct list_head list; +}TEE_MEM_LIST; + +#ifdef CONFIG_TEE + +/* + * hisi_get_tee_meminfo -- get tz_mblock address by sec addr + * Parameter: + * sec_addr: input parameter, sec addr, sec_smmu or phys + * flag: input parameter, indicate the type of sec_addr + * Return: + * the phys_addr of tz_block if exec success + * 0 if exec failed + */ +u32 hisi_get_tee_meminfo(u32 sec_addr, int flag); + +/* + * hisi_tee_smmumem_into_ta -- put mem info togather + * Parameter: + * teebuf: input parameter, sg table of meminfo + * addr: input parameter, phys or normal smmu + * iommu: input patameter,indicate the type of addr + * Return: + * the phys addr of tz_mblock when executing successfully + * 0 when executing failed + */ +u32 hisi_tee_smmumem_into_ta(TEE_MEM_BUFFER_S *teebuf, u32 addr, int iommu); + +/* + * hisi_tee_smmumem_outfrom_ta -- free the tmp buffer + * Parameter: + * buf_phys: input parameter, the phy of the tz_mblock. + * Retrun: null + * + * This funcion will free the buffer which is used to put + * sg table info togather. + */ +void hisi_tee_smmumem_outfrom_ta(u32 buf_phys); + + +/* + * hisi_teesmmu_init -- init smmu CA to TA + * Parameter: null + * Return: null + */ +int hisi_teesmmu_init(void); + + +/* + * hisi_teesmmu_exit -- exit smmu CA from TA and destroy CA + * Parameter: null + * Return: null + */ +void hisi_teesmmu_exit(void); + +/* + * hisi_secmem_alloc -- alloc secure mem + * Parameter: + * teebuf: input parameter, sg table of meminfo + * addr: input parameter, phys addr or normal smmu + * iommu: input parameter, indicate the type of addr + * sec_smmu: output parameter, sec_smmu addr + * Return: + * 0 when executing successfully + * others when failed + */ +int hisi_secmem_alloc(TEE_MEM_BUFFER_S *teebuf, u32 addr, int iommu, u32 *sec_smmu); + +/* + * hisi_secmem_free -- free secure mem + * Parameter: + * sec_addr: input parameter, sec addr of mem, sec smmu or phys + * flag: input parameter, indicate the type of sec_addr + * Return: + * 0 when executing successfully + * others when failed + */ +int hisi_secmem_free(u32 sec_addr, int flag); + +/* + * hisi_secmem_mapto_secsmmu -- map to sec smmu + * parameter: + * teebuf: input parameter, mem list + * addr: input parameter, phys addr or normal smmu + * iommu: indicate the addr type + * sec_smmu:output parameter, sec smmu address + * return: + * 0 when exec success + * others when failed. + */ +int hisi_secmem_mapto_secsmmu(TEE_MEM_BUFFER_S *teebuf, u32 addr, int iommu, u32 *sec_smmu); + +/* + * hisi_secmem_unmap_from_secsmmu -- unmap from sec smmu + * parameter: + * sec_smmu:input parameter, sec smmu address + * return: + * 0 when exec success + * others when failed. + */ +int hisi_secmem_unmap_from_secsmmu(u32 sec_smmu); + +/* + * hisi_secmem_agent_end ---- close agent of smmu + * parameter:null + * return: + * 0, success + * -1, failed. + */ +int hisi_secmem_agent_end(void); + +/* + * hisi_sec_mem_proc: proc sec mem info + */ +void hisi_sec_mem_proc(void); + +#else +static inline u32 hisi_get_tee_meminfo(u32 sec_addr, int flag) +{ + return 0; +} + +static inline u32 hisi_tee_smmumem_into_ta(TEE_MEM_BUFFER_S *teebuf, + u32 addr, int iommu) +{ + return 0; +} + +static inline void hisi_tee_smmumem_outfrom_ta(u32 buf_phys) +{ + return; +} + +static inline int hisi_teesmmu_init(void) +{ + return 0; +} + +static inline void hisi_teesmmu_exit(void) {} + +static inline int hisi_secmem_alloc(TEE_MEM_BUFFER_S *teebuf, u32 addr, + int iommu, u32 *sec_smmu) +{ + return 0; +} + +static inline int hisi_secmem_free(u32 sec_addr, int flag) +{ + return 0; +} + +static inline int hisi_secmem_mapto_secsmmu(TEE_MEM_BUFFER_S *teebuf, u32 addr, int iommu, u32 *sec_smmu) +{ + return 0; +} + +static inline int hisi_secmem_unmap_from_secsmmu(u32 sec_smmu) +{ + return 0; +} + +static inline int hisi_secmem_agent_end(void) +{ + return 0; +} + +static inline void hisi_sec_mem_proc(void) +{ + return; +} +#endif + +#endif + + diff --git a/include/media/rc-map.h b/include/media/rc-map.h index 793b54342..b4082e167 100644 --- a/include/media/rc-map.h +++ b/include/media/rc-map.h @@ -40,6 +40,9 @@ #define RC_PROTO_BIT_RCMM24 BIT_ULL(RC_PROTO_RCMM24) #define RC_PROTO_BIT_RCMM32 BIT_ULL(RC_PROTO_RCMM32) #define RC_PROTO_BIT_XBOX_DVD BIT_ULL(RC_PROTO_XBOX_DVD) +#define RC_PROTO_BIT_NEC_2HDR_40BIT BIT_ULL(RC_PROTO_NEC_2HDR_40BIT) +#define RC_PROTO_BIT_NEC_FULL_40BIT BIT_ULL(RC_PROTO_NEC_FULL_40BIT) +#define RC_PROTO_BIT_NEC_FULL_48BIT BIT_ULL(RC_PROTO_NEC_FULL_48BIT) #if IS_ENABLED(CONFIG_IR_RC5_DECODER) #define __RC_PROTO_RC5_CODEC \ diff --git a/include/uapi/linux/lirc.h b/include/uapi/linux/lirc.h index 8d7ca7c6a..07571a48f 100644 --- a/include/uapi/linux/lirc.h +++ b/include/uapi/linux/lirc.h @@ -231,7 +231,10 @@ enum rc_proto { RC_PROTO_RCMM24 = 25, RC_PROTO_RCMM32 = 26, RC_PROTO_XBOX_DVD = 27, - RC_PROTO_MAX = RC_PROTO_XBOX_DVD, + RC_PROTO_NEC_2HDR_40BIT = 28, + RC_PROTO_NEC_FULL_40BIT = 29, + RC_PROTO_NEC_FULL_48BIT = 30, + RC_PROTO_MAX = RC_PROTO_NEC_FULL_48BIT, }; #endif -- 2.39.1