12408 lines
333 KiB
Diff
12408 lines
333 KiB
Diff
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/Makefile linux/arch/arm64/boot/dts/rockchip/Makefile
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/Makefile 2022-11-01 17:55:23.658604366 -0400
|
|
+++ linux/arch/arm64/boot/dts/rockchip/Makefile 2022-11-01 17:56:17.128793891 -0400
|
|
@@ -43,6 +43,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-na
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi.dtb
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb
|
|
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rg552-linux.dtb
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-plus.dtb
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi linux/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi 2022-11-01 17:55:23.662604223 -0400
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi 2022-11-01 17:56:17.128793891 -0400
|
|
@@ -101,6 +101,10 @@
|
|
opp-hz = /bits/ 64 <800000000>;
|
|
opp-microvolt = <1100000 1100000 1150000>;
|
|
};
|
|
+ opp06 {
|
|
+ opp-hz = /bits/ 64 <900000000>;
|
|
+ opp-microvolt = <1100000 1100000 1150000>;
|
|
+ };
|
|
};
|
|
};
|
|
|
|
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3399-rg552-linux.dts linux/arch/arm64/boot/dts/rockchip/rk3399-rg552-linux.dts
|
|
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3399-rg552-linux.dts 1969-12-31 19:00:00.000000000 -0500
|
|
+++ linux/arch/arm64/boot/dts/rockchip/rk3399-rg552-linux.dts 2022-11-01 17:56:17.132793763 -0400
|
|
@@ -0,0 +1,1407 @@
|
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
+/*
|
|
+ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
|
|
+ * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com>
|
|
+ * Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
|
|
+ */
|
|
+
|
|
+
|
|
+/dts-v1/;
|
|
+#include <dt-bindings/input/linux-event-codes.h>
|
|
+#include <dt-bindings/pwm/pwm.h>
|
|
+#include <dt-bindings/usb/pd.h>
|
|
+#include "rk3399.dtsi"
|
|
+#include "rk3399-opp.dtsi"
|
|
+
|
|
+/ {
|
|
+ model = "Anbernic RG552";
|
|
+ compatible = "anbernic,rg552", "rockchip,rk3399";
|
|
+
|
|
+ aliases {
|
|
+ mmc0 = &sdio0;
|
|
+ mmc1 = &sdmmc;
|
|
+ mmc2 = &sdhci;
|
|
+ };
|
|
+
|
|
+ chosen {
|
|
+ stdout-path = "serial2:1500000n8";
|
|
+ };
|
|
+
|
|
+ memory {
|
|
+ device_type = "memory";
|
|
+ reg = <0x0 0x00200000 0x0 0xf7e00000>;
|
|
+ };
|
|
+
|
|
+ volume-keys {
|
|
+ compatible = "gpio-keys";
|
|
+ autorepeat;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&vol_pwr_btn>;
|
|
+
|
|
+ sw1 {
|
|
+ debounce-interval = <100>;
|
|
+ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
|
|
+ label = "BTN PWR";
|
|
+ linux,code = <KEY_POWER>;
|
|
+ wakeup-source;
|
|
+ };
|
|
+ sw2 {
|
|
+ label = "BTN VOL+";
|
|
+ linux,code = <KEY_VOLUMEUP>;
|
|
+ gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>;
|
|
+ };
|
|
+ sw3 {
|
|
+ label = "BTN VOL-";
|
|
+ linux,code = <KEY_VOLUMEDOWN>;
|
|
+ gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ adc-keys {
|
|
+ compatible = "adc-keys";
|
|
+ io-channels = <&saradc 1>;
|
|
+ io-channel-names = "buttons";
|
|
+ keyup-threshold-microvolt = <1800000>;
|
|
+ poll-interval = <100>;
|
|
+
|
|
+ home-key {
|
|
+ linux,code = <BTN_MODE>;
|
|
+ label = "F Button";
|
|
+ press-threshold-microvolt = <1750>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ joypad: singleadc-joypad {
|
|
+ compatible = "singleadc-joypad";
|
|
+
|
|
+ pwms = <&pwm3 0 200000000 0>;
|
|
+ pwm-names = "enable";
|
|
+ rumble-boost-weak = <0x0000>;
|
|
+ rumble-boost-strong = <0x0000>;
|
|
+
|
|
+ joypad-name = "retrogame_joypad";
|
|
+ joypad-product = <0x1101>;
|
|
+ joypad-revision = <0x0100>;
|
|
+
|
|
+ status = "okay";
|
|
+
|
|
+ /* gpio pincontrol setup */
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&btn_pins>;
|
|
+
|
|
+ /* Analog mux define */
|
|
+ io-channel-names = "amux_adc";
|
|
+ io-channels = <&saradc 4>;
|
|
+
|
|
+ /* adc mux channel count */
|
|
+ amux-count = <4>;
|
|
+ /* adc mux select(a,b) gpio */
|
|
+ amux-a-gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
|
|
+ amux-b-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_LOW>;
|
|
+ /* adc mux enable gpio */
|
|
+ amux-en-gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_LOW>;
|
|
+
|
|
+ /* adc calculate scale */
|
|
+ button-adc-scale = <2>;
|
|
+
|
|
+ /* adc deadzone range */
|
|
+ button-adc-deadzone = <64>;
|
|
+
|
|
+ /*
|
|
+ specifies fuzz value that is used to filter noise from
|
|
+ the event stream.
|
|
+ */
|
|
+ button-adc-fuzz = <32>;
|
|
+ button-adc-flat = <32>;
|
|
+
|
|
+ /*
|
|
+ Analog Stick data tuning value(precent)
|
|
+ p = positive direction, n = negative direction
|
|
+ report value = (real_adc_data * tuning_value) / 100
|
|
+ */
|
|
+ abs_x-p-tuning = <300>;
|
|
+ abs_x-n-tuning = <300>;
|
|
+
|
|
+ abs_y-p-tuning = <300>;
|
|
+ abs_y-n-tuning = <300>;
|
|
+
|
|
+ abs_rx-p-tuning = <300>;
|
|
+ abs_rx-n-tuning = <300>;
|
|
+
|
|
+ abs_ry-p-tuning = <300>;
|
|
+ abs_ry-n-tuning = <300>;
|
|
+
|
|
+ /* poll device interval (ms), adc read interval */
|
|
+ poll-interval = <10>;
|
|
+
|
|
+ /* required for RG552(invert) */
|
|
+ invert-absx;
|
|
+ invert-absy;
|
|
+
|
|
+ /* gpio button auto repeat set value : default disable */
|
|
+ /*
|
|
+ autorepeat;
|
|
+ */
|
|
+ sw1 {
|
|
+ gpios = <&gpio3 RK_PA0 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO DPAD-UP";
|
|
+ linux,code = <BTN_DPAD_UP>;
|
|
+ };
|
|
+ sw2 {
|
|
+ gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO DPAD-DOWN";
|
|
+ linux,code = <BTN_DPAD_DOWN>;
|
|
+ };
|
|
+ sw3 {
|
|
+ gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO DPAD-LEFT";
|
|
+ linux,code = <BTN_DPAD_LEFT>;
|
|
+ };
|
|
+ sw4 {
|
|
+ gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO DPAD-RIGHT";
|
|
+ linux,code = <BTN_DPAD_RIGHT>;
|
|
+ };
|
|
+ sw5 {
|
|
+ gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO KEY BTN-A";
|
|
+ linux,code = <BTN_EAST>;
|
|
+ };
|
|
+ sw6 {
|
|
+ gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO BTN-B";
|
|
+ linux,code = <BTN_SOUTH>;
|
|
+ };
|
|
+ sw7 {
|
|
+ gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO BTN-X";
|
|
+ linux,code = <BTN_NORTH>;
|
|
+ };
|
|
+ sw8 {
|
|
+ gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO BTN-Y";
|
|
+ linux,code = <BTN_WEST>;
|
|
+ };
|
|
+ sw9 {
|
|
+ gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO BTN_SELECT";
|
|
+ linux,code = <BTN_SELECT>;
|
|
+ };
|
|
+ sw10 {
|
|
+ gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO BTN_START";
|
|
+ linux,code = <BTN_START>;
|
|
+ };
|
|
+ sw11 {
|
|
+ gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO BTN_F";
|
|
+ linux,code = <BTN_MODE>;
|
|
+ };
|
|
+ sw12 {
|
|
+ gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO BTN_TL";
|
|
+ linux,code = <BTN_TL>;
|
|
+ };
|
|
+ sw13 {
|
|
+ gpios = <&gpio3 RK_PD2 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO BTN_TR";
|
|
+ linux,code = <BTN_TR>;
|
|
+ };
|
|
+ sw14 {
|
|
+ gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO BTN_TL2";
|
|
+ linux,code = <BTN_TL2>;
|
|
+ };
|
|
+ sw15 {
|
|
+ gpios = <&gpio3 RK_PD3 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO BTN_TR2";
|
|
+ linux,code = <BTN_TR2>;
|
|
+ };
|
|
+ sw16 {
|
|
+ gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO BTN_THUMBL";
|
|
+ linux,code = <BTN_THUMBL>;
|
|
+ };
|
|
+ sw17 {
|
|
+ gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
|
|
+ label = "GPIO BTN_THUMBR";
|
|
+ linux,code = <BTN_THUMBR>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ leds: gpio-leds {
|
|
+ compatible = "gpio-leds";
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 =<&leds_gpio>;
|
|
+
|
|
+ led@1 {
|
|
+ gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
|
|
+ label = "battery_green";
|
|
+ default-state= "on";
|
|
+ // retain-state-suspended;
|
|
+ };
|
|
+
|
|
+ led@2 {
|
|
+ gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
|
|
+ label = "battery_red";
|
|
+ // retain-state-suspended;
|
|
+ };
|
|
+
|
|
+ };
|
|
+
|
|
+ es8316-sound {
|
|
+ compatible = "simple-audio-card";
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&hp_det_pin>;
|
|
+ simple-audio-card,name = "rockchip,es8316-codec";
|
|
+ simple-audio-card,format = "i2s";
|
|
+ simple-audio-card,mclk-fs = <256>;
|
|
+
|
|
+ simple-audio-card,widgets =
|
|
+ "Headphone", "Headphones",
|
|
+ "Speaker", "Speaker";
|
|
+ simple-audio-card,routing =
|
|
+ "Headphones", "HPOL",
|
|
+ "Headphones", "HPOR",
|
|
+ "Speaker Amplifier INL", "HPOL",
|
|
+ "Speaker Amplifier INR", "HPOR",
|
|
+ "Speaker", "Speaker Amplifier OUTL",
|
|
+ "Speaker", "Speaker Amplifier OUTR";
|
|
+
|
|
+ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
|
|
+ simple-audio-card,aux-devs = <&speaker_amp>;
|
|
+ simple-audio-card,pin-switches = "Speaker";
|
|
+
|
|
+ simple-audio-card,cpu {
|
|
+ sound-dai = <&i2s1>;
|
|
+ };
|
|
+
|
|
+ simple-audio-card,codec {
|
|
+ sound-dai = <&es8316>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ speaker_amp: speaker-amplifier {
|
|
+ compatible = "simple-audio-amplifier";
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&spk_en_pin>;
|
|
+ enable-gpios = <&gpio1 RK_PC5 GPIO_ACTIVE_HIGH>;
|
|
+ sound-name-prefix = "Speaker Amplifier";
|
|
+ VCC-supply = <&vcc5v0_sys>;
|
|
+ };
|
|
+
|
|
+ fan: pwm-fan {
|
|
+ compatible = "pwm-fan";
|
|
+ pwms = <&pwm1 0 10000 1>;
|
|
+ #cooling-cells = <2>;
|
|
+ cooling-levels = <80 140 200 255>;
|
|
+ fan-supply = <&vcc5v0_sys>;
|
|
+ };
|
|
+
|
|
+ backlight: backlight {
|
|
+ status = "okay";
|
|
+ compatible = "pwm-backlight";
|
|
+ pwms = <&pwm0 0 25000 0>;
|
|
+ //power-supply = <&vcc12v_dcin>;
|
|
+ brightness-levels = <
|
|
+ 0 1 2 3 4 5 6 7
|
|
+ 8 9 10 11 12 13 14 15
|
|
+ 16 17 18 19 20 21 22 23
|
|
+ 24 25 26 27 28 29 30 31
|
|
+ 32 33 34 35 36 37 38 39
|
|
+ 40 41 42 43 44 45 46 47
|
|
+ 48 49 50 51 52 53 54 55
|
|
+ 56 57 58 59 60 61 62 63
|
|
+ 64 65 66 67 68 69 70 71
|
|
+ 72 73 74 75 76 77 78 79
|
|
+ 80 81 82 83 84 85 86 87
|
|
+ 88 89 90 91 92 93 94 95
|
|
+ 96 97 98 99 100 101 102 103
|
|
+ 104 105 106 107 108 109 110 111
|
|
+ 112 113 114 115 116 117 118 119
|
|
+ 120 121 122 123 124 125 126 127
|
|
+ 128 129 130 131 132 133 134 135
|
|
+ 136 137 138 139 140 141 142 143
|
|
+ 144 145 146 147 148 149 150 151
|
|
+ 152 153 154 155 156 157 158 159
|
|
+ 160 161 162 163 164 165 166 167
|
|
+ 168 169 170 171 172 173 174 175
|
|
+ 176 177 178 179 180 181 182 183
|
|
+ 184 185 186 187 188 189 190 191
|
|
+ 192 193 194 195 196 197 198 199
|
|
+ 200 201 202 203 204 205 206 207
|
|
+ 208 209 210 211 212 213 214 215
|
|
+ 216 217 218 219 220 221 222 223
|
|
+ 224 225 226 227 228 229 230 231
|
|
+ 232 233 234 235 236 237 238 239
|
|
+ 240 241 242 243 244 245 246 247
|
|
+ 248 249 250 251 252 253 254 255>;
|
|
+ default-brightness-level = <200>;
|
|
+ };
|
|
+ bat: battery {
|
|
+ compatible = "simple-battery";
|
|
+ charge-full-design-microamp-hours = <6400000>;
|
|
+ voltage-max-design-microvolt = <4350000>;
|
|
+ voltage-min-design-microvolt = <3400000>;
|
|
+ constant-charge-current-max-microamp = <1500000>;
|
|
+ constant-charge-voltage-max-microvolt = <4350000>;
|
|
+ factory-internal-resistance-micro-ohms = <150000>;
|
|
+ resistance-temp-table = <20 150>;
|
|
+
|
|
+ ocv-capacity-celsius = <20>;
|
|
+ ocv-capacity-table-0 = <4308000 100>,<4217000 95>,
|
|
+ <4161000 90>,<4110000 85>,
|
|
+ <4066000 80>,<4007000 75>,
|
|
+ <3974000 70>,<3937000 65>,
|
|
+ <3896000 60>,<3853000 55>,
|
|
+ <3827000 50>,<3807000 45>,
|
|
+ <3793000 40>,<3780000 35>,
|
|
+ <3768000 30>,<3756000 25>,
|
|
+ <3740000 20>,<3716000 15>,
|
|
+ <3689000 10>,<3675000 5>,
|
|
+ <3400000 0>;
|
|
+ };
|
|
+
|
|
+ mains_charger: dc-charger {
|
|
+ compatible = "gpio-charger";
|
|
+ charger-type = "mains";
|
|
+ gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>;
|
|
+
|
|
+ /* Also triggered by USB charger */
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&dc_det_pin>;
|
|
+ monitored-battery = <&bat>;
|
|
+ };
|
|
+
|
|
+ xin32k: xin32k {
|
|
+ compatible = "fixed-clock";
|
|
+ clock-frequency = <32768>;
|
|
+ clock-output-names = "xin32k";
|
|
+ #clock-cells = <0>;
|
|
+ };
|
|
+
|
|
+ clkin_gmac: external-gmac-clock {
|
|
+ compatible = "fixed-clock";
|
|
+ clock-frequency = <125000000>;
|
|
+ clock-output-names = "clkin_gmac";
|
|
+ #clock-cells = <0>;
|
|
+ };
|
|
+
|
|
+ /* TODO: shouldn't be here */
|
|
+ vcc12v_dcin: vcc12v-dcin {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vcc12v_dcin";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <12000000>;
|
|
+ regulator-max-microvolt = <12000000>;
|
|
+ };
|
|
+
|
|
+ vcc_sys: vcc-sys {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vcc_sys";
|
|
+ regulator-min-microvolt = <5000000>;
|
|
+ regulator-max-microvolt = <5000000>;
|
|
+ regulator-always-on;
|
|
+ vin-supply = <&vcc12v_dcin>;
|
|
+ };
|
|
+
|
|
+ vcc3v3_sys: vcc3v3-sys {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vcc3v3_sys";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <3300000>;
|
|
+ regulator-max-microvolt = <3300000>;
|
|
+ vin-supply = <&vcc5v0_sys>;
|
|
+ };
|
|
+
|
|
+ vcc3v0_sd: vcc3v0-sd {
|
|
+ compatible = "regulator-fixed";
|
|
+ enable-active-high;
|
|
+ gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&sdmmc0_pwr_h>;
|
|
+ regulator-name = "vcc3v0_sd";
|
|
+ regulator-always-on;
|
|
+ regulator-min-microvolt = <3000000>;
|
|
+ regulator-max-microvolt = <3000000>;
|
|
+ vin-supply = <&vcc3v3_sys>;
|
|
+
|
|
+ regulator-state-mem {
|
|
+ regulator-off-in-suspend;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcc5v0_host: vcc5v0-host-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ enable-active-high;
|
|
+ gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&vcc5v0_host_en>;
|
|
+ regulator-name = "vcc5v0_host";
|
|
+ regulator-always-on;
|
|
+ regulator-min-microvolt = <5000000>;
|
|
+ regulator-max-microvolt = <5000000>;
|
|
+ vin-supply = <&vcc5v0_usb>;
|
|
+ };
|
|
+
|
|
+ vcc5v0_typec: vcc5v0-typec-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ enable-active-high;
|
|
+ gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&vcc5v0_typec_en>;
|
|
+ regulator-name = "vcc5v0_typec";
|
|
+ regulator-always-on;
|
|
+ vin-supply = <&vcc5v0_usb>;
|
|
+ };
|
|
+
|
|
+ vcc5v0_sys: vcc5v0-sys {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vcc5v0_sys";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <5000000>;
|
|
+ regulator-max-microvolt = <5000000>;
|
|
+ vin-supply = <&vcc12v_dcin>;
|
|
+ };
|
|
+
|
|
+ vcc5v0_usb: vcc5v0-usb {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vcc5v0_usb";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <5000000>;
|
|
+ regulator-max-microvolt = <5000000>;
|
|
+ vin-supply = <&vcc12v_dcin>;
|
|
+ };
|
|
+
|
|
+ vdd_log: vdd-log {
|
|
+ compatible = "pwm-regulator";
|
|
+ pwms = <&pwm2 0 25000 1>;
|
|
+ regulator-name = "vdd_log";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <800000>;
|
|
+ regulator-max-microvolt = <1700000>;
|
|
+ vin-supply = <&vcc5v0_sys>;
|
|
+ };
|
|
+
|
|
+ vcc5v5_lcd: vcc5v5-lcd {
|
|
+ compatible = "regulator-fixed";
|
|
+ enable-active-high;
|
|
+ gpio = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&vcc5v5_lcd_en>;
|
|
+ regulator-name = "vcc5v5_lcd";
|
|
+ regulator-min-microvolt = <5500000>;
|
|
+ regulator-max-microvolt = <5500000>;
|
|
+ vin-supply = <&vcc5v0_sys>;
|
|
+ };
|
|
+
|
|
+ vcc5v5_neg_lcd: vcc5v5-neg-lcd {
|
|
+ compatible = "regulator-fixed";
|
|
+ enable-active-high;
|
|
+ gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&vcc5v5_neg_lcd_en>;
|
|
+ regulator-name = "vcc5v5_neg_lcd";
|
|
+ /*
|
|
+ * technically negative
|
|
+ */
|
|
+ regulator-min-microvolt = <5500000>;
|
|
+ regulator-max-microvolt = <5500000>;
|
|
+ vin-supply = <&vcc5v0_sys>;
|
|
+ };
|
|
+
|
|
+ vcc_wifi: vcc-wifi-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ enable-active-high;
|
|
+ gpio = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&wifi_pwr>;
|
|
+ regulator-name = "wifi_enable";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ };
|
|
+
|
|
+ dmc_opp_table: dmc_opp_table {
|
|
+ compatible = "operating-points-v2";
|
|
+
|
|
+ opp-300000000 {
|
|
+ opp-hz = /bits/ 64 <300000000>;
|
|
+ opp-microvolt = <900000>;
|
|
+ };
|
|
+ opp-666000000 {
|
|
+ opp-hz = /bits/ 64 <666000000>;
|
|
+ opp-microvolt = <900000>;
|
|
+ };
|
|
+ opp-800000000 {
|
|
+ opp-hz = /bits/ 64 <800000000>;
|
|
+ opp-microvolt = <900000>;
|
|
+ };
|
|
+ opp-856000000 {
|
|
+ opp-hz = /bits/ 64 <856000000>;
|
|
+ opp-microvolt = <900000>;
|
|
+ };
|
|
+ opp-928000000 {
|
|
+ opp-hz = /bits/ 64 <928000000>;
|
|
+ opp-microvolt = <900000>;
|
|
+ };
|
|
+ opp-933000000 {
|
|
+ opp-hz = /bits/ 64 <933000000>;
|
|
+ opp-microvolt = <900000>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&cluster0_opp {
|
|
+ opp-1512000000 {
|
|
+ opp-hz = /bits/ 64 <1512000000>;
|
|
+ opp-microvolt = <1200000>;
|
|
+ };
|
|
+ opp-1608000000 {
|
|
+ opp-hz = /bits/ 64 <1608000000>;
|
|
+ opp-microvolt = <1200000>;
|
|
+ };
|
|
+ opp-1704000000 {
|
|
+ opp-hz = /bits/ 64 <1704000000>;
|
|
+ opp-microvolt = <1225000>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&cluster1_opp {
|
|
+ opp-1992000000 {
|
|
+ opp-hz = /bits/ 64 <1992000000>;
|
|
+ opp-microvolt = <1250000>;
|
|
+ };
|
|
+ opp-2016000000 {
|
|
+ opp-hz = /bits/ 64 <2016000000>;
|
|
+ opp-microvolt = <1250000>;
|
|
+ };
|
|
+ opp-2040000000 {
|
|
+ opp-hz = /bits/ 64 <2040000000>;
|
|
+ opp-microvolt = <1250000>;
|
|
+ };
|
|
+ opp-2088000000 {
|
|
+ opp-hz = /bits/ 64 <2088000000>;
|
|
+ opp-microvolt = <1250000>;
|
|
+ };
|
|
+ opp-2184000000 {
|
|
+ opp-hz = /bits/ 64 <2184000000>;
|
|
+ opp-microvolt = <1350000>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&cpu_thermal {
|
|
+ trips {
|
|
+ cpu_warm: cpu_warm {
|
|
+ temperature = <50000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "active";
|
|
+ };
|
|
+
|
|
+ cpu_hot: cpu_hot {
|
|
+ temperature = <55000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "active";
|
|
+ };
|
|
+
|
|
+ cpu_scalding: cpu_scalding {
|
|
+ temperature = <65000>;
|
|
+ hysteresis = <5000>;
|
|
+ type = "active";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ cooling-maps {
|
|
+ map1 {
|
|
+ trip = <&cpu_warm>;
|
|
+ cooling-device = <&fan THERMAL_NO_LIMIT 1>;
|
|
+ };
|
|
+
|
|
+ map2 {
|
|
+ trip = <&cpu_hot>;
|
|
+ cooling-device = <&fan THERMAL_NO_LIMIT 1>;
|
|
+ };
|
|
+
|
|
+ map3 {
|
|
+ trip = <&cpu_scalding>;
|
|
+ cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&cpu_l0 {
|
|
+ cpu-supply = <&vdd_cpu_l>;
|
|
+};
|
|
+
|
|
+&cpu_l1 {
|
|
+ cpu-supply = <&vdd_cpu_l>;
|
|
+};
|
|
+
|
|
+&cpu_l2 {
|
|
+ cpu-supply = <&vdd_cpu_l>;
|
|
+};
|
|
+
|
|
+&cpu_l3 {
|
|
+ cpu-supply = <&vdd_cpu_l>;
|
|
+};
|
|
+
|
|
+&cpu_b0 {
|
|
+ cpu-supply = <&vdd_cpu_b>;
|
|
+};
|
|
+
|
|
+&cpu_b1 {
|
|
+ cpu-supply = <&vdd_cpu_b>;
|
|
+};
|
|
+
|
|
+&saradc {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&sdio0 {
|
|
+ clock-frequency = <150000000>;
|
|
+ clock-freq-min-max = <100000 150000000>;
|
|
+ supports-sd;
|
|
+ no-sdio;
|
|
+ bus-width = <4>;
|
|
+ disable-wp;
|
|
+ cap-sd-highspeed;
|
|
+ cap-sdio-irq;
|
|
+ keep-power-in-suspend;
|
|
+ card-detect-delay = <800>;
|
|
+ cd-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_LOW>; /*[> CD GPIO <]*/
|
|
+ num-slots = <1>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&sdio0_clk &sdio0_cmd &sdio0_cd &sdio0_bus4>;
|
|
+ sd-uhs-sdr104;
|
|
+ vqmmc-supply = <&vcc3v0_touch>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&sdmmc {
|
|
+ bus-width = <4>;
|
|
+ cap-sd-highspeed;
|
|
+ cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
|
|
+ disable-wp;
|
|
+ max-frequency = <150000000>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
|
|
+ vmmc-supply = <&vcc3v0_sd>;
|
|
+ vqmmc-supply = <&vcc_sdio>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&emmc_phy {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&gpu {
|
|
+ mali-supply = <&vdd_gpu>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pwm0 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pwm1 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pwm2 {
|
|
+ status = "okay";
|
|
+ pinctrl-names = "active";
|
|
+ pinctrl-0 = <&pwm2_pin_pull_down>;
|
|
+};
|
|
+
|
|
+&pwm3 {
|
|
+ status = "okay";
|
|
+ label = "rumble-pwm";
|
|
+};
|
|
+
|
|
+&saradc {
|
|
+ vref-supply = <&vcc_1v8>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&sdhci {
|
|
+ assigned-clock-rates = <150000000>;
|
|
+
|
|
+ bus-width = <8>;
|
|
+ mmc-hs400-1_8v;
|
|
+ mmc-hs400-enhanced-strobe;
|
|
+ non-removable;
|
|
+
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&hdmi {
|
|
+ ddc-i2c-bus = <&i2c3>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&hdmi_cec>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&mipi_dsi {
|
|
+ status = "okay";
|
|
+ clock-master;
|
|
+
|
|
+ ports {
|
|
+ mipi_out: port@1 {
|
|
+ #address-cells = <0>;
|
|
+ #size-cells = <0>;
|
|
+ reg = <1>;
|
|
+
|
|
+ mipi_out_panel: endpoint {
|
|
+ remote-endpoint = <&mipi_in_panel>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ panel@0 {
|
|
+ reg = <0>;
|
|
+ compatible = "sharp,ls054b3sx01";
|
|
+ backlight = <&backlight>;
|
|
+ rotation = <270>;
|
|
+
|
|
+ iovcc-supply = <&vcc1v8_dvp>;
|
|
+ vsp-supply = <&vcc5v5_lcd>;
|
|
+ vsn-supply = <&vcc5v5_neg_lcd>;
|
|
+
|
|
+ reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
|
|
+
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&lcd_reset_gpio>;
|
|
+
|
|
+ port {
|
|
+ mipi_in_panel: endpoint {
|
|
+ remote-endpoint = <&mipi_out_panel>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c0 {
|
|
+ clock-frequency = <400000>;
|
|
+ i2c-scl-rising-time-ns = <168>;
|
|
+ i2c-scl-falling-time-ns = <4>;
|
|
+ status = "okay";
|
|
+
|
|
+ rk808: pmic@1b {
|
|
+ compatible = "rockchip,rk808";
|
|
+ reg = <0x1b>;
|
|
+ interrupt-parent = <&gpio3>;
|
|
+ interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
|
|
+ #clock-cells = <1>;
|
|
+ clock-output-names = "xin32k", "rk808-clkout2";
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&pmic_int_l>;
|
|
+ rockchip,system-power-controller;
|
|
+ wakeup-source;
|
|
+
|
|
+ vcc1-supply = <&vcc5v0_sys>;
|
|
+ vcc2-supply = <&vcc5v0_sys>;
|
|
+ vcc3-supply = <&vcc5v0_sys>;
|
|
+ vcc4-supply = <&vcc5v0_sys>;
|
|
+ vcc6-supply = <&vcc5v0_sys>;
|
|
+ vcc7-supply = <&vcc5v0_sys>;
|
|
+ vcc8-supply = <&vcc3v3_sys>;
|
|
+ vcc9-supply = <&vcc5v0_sys>;
|
|
+ vcc10-supply = <&vcc5v0_sys>;
|
|
+ vcc11-supply = <&vcc5v0_sys>;
|
|
+ vcc12-supply = <&vcc3v3_sys>;
|
|
+ vddio-supply = <&vcca_1v8>;
|
|
+
|
|
+ rtc {
|
|
+ status = "okay";
|
|
+ };
|
|
+
|
|
+ regulators { // are all those regulator-on-in-suspend really needed?/
|
|
+ vdd_center: DCDC_REG1 {
|
|
+ regulator-name = "vdd_center";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <750000>;
|
|
+ regulator-max-microvolt = <1350000>;
|
|
+ regulator-ramp-delay = <6001>;
|
|
+ regulator-state-mem {
|
|
+ regulator-off-in-suspend;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vdd_cpu_l: DCDC_REG2 {
|
|
+ regulator-name = "vdd_cpu_l";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <750000>;
|
|
+ regulator-max-microvolt = <1350000>;
|
|
+ regulator-ramp-delay = <6001>;
|
|
+ regulator-state-mem {
|
|
+ regulator-off-in-suspend;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcc_ddr: DCDC_REG3 {
|
|
+ regulator-name = "vcc_ddr";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-state-mem {
|
|
+ regulator-on-in-suspend;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcc_1v8: DCDC_REG4 {
|
|
+ regulator-name = "vcc_1v8";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ regulator-state-mem {
|
|
+ regulator-on-in-suspend;
|
|
+ regulator-suspend-microvolt = <1800000>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcc1v8_dvp: LDO_REG1 {
|
|
+ regulator-name = "vcc1v8_dvp";
|
|
+ //regulator-always-on;
|
|
+ //regulator-boot-on;
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ regulator-state-mem {
|
|
+ regulator-on-in-suspend;
|
|
+ regulator-suspend-microvolt = <1800000>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcc3v0_touch: LDO_REG2 {
|
|
+ regulator-name = "vcc3v0_touch";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <3300000>;
|
|
+ regulator-state-mem {
|
|
+ regulator-off-in-suspend;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcca_1v8: LDO_REG3 {
|
|
+ regulator-name = "vcca_1v8";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ regulator-state-mem {
|
|
+ regulator-on-in-suspend;
|
|
+ regulator-suspend-microvolt = <1800000>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcc_sdio: LDO_REG4 {
|
|
+ regulator-name = "vcc_sdio";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <3300000>;
|
|
+ regulator-state-mem {
|
|
+ regulator-on-in-suspend;
|
|
+ regulator-suspend-microvolt = <3000000>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcca3v0_codec: LDO_REG5 {
|
|
+ regulator-name = "vcca3v0_codec";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <3000000>;
|
|
+ regulator-max-microvolt = <3000000>;
|
|
+ regulator-state-mem {
|
|
+ regulator-off-in-suspend;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcc_1v5: LDO_REG6 {
|
|
+ regulator-name = "vcc_1v5";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <1500000>;
|
|
+ regulator-max-microvolt = <1500000>;
|
|
+ regulator-state-mem {
|
|
+ regulator-on-in-suspend;
|
|
+ regulator-suspend-microvolt = <1500000>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcca1v8_codec: LDO_REG7 {
|
|
+ regulator-name = "vcca1v8_codec";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ regulator-state-mem {
|
|
+ regulator-off-in-suspend;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcc_3v0: LDO_REG8 {
|
|
+ regulator-name = "vcc_3v0";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <3000000>;
|
|
+ regulator-max-microvolt = <3000000>;
|
|
+ regulator-state-mem {
|
|
+ regulator-on-in-suspend;
|
|
+ regulator-suspend-microvolt = <3000000>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcc3v3_s3: vcc_lan: SWITCH_REG1 {
|
|
+ regulator-name = "vcc3v3_s3";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-state-mem {
|
|
+ regulator-off-in-suspend;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcc3v3_s0: SWITCH_REG2 {
|
|
+ regulator-name = "vcc3v3_s0";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-state-mem {
|
|
+ regulator-off-in-suspend;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vdd_cpu_b: regulator@40 {
|
|
+ compatible = "silergy,syr827";
|
|
+ reg = <0x40>;
|
|
+ fcs,suspend-voltage-selector = <1>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&vsel1_pin>;
|
|
+ regulator-name = "vdd_cpu_b";
|
|
+ regulator-min-microvolt = <712500>;
|
|
+ regulator-max-microvolt = <1500000>;
|
|
+ regulator-ramp-delay = <1000>;
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ vin-supply = <&vcc5v0_sys>;
|
|
+
|
|
+ regulator-state-mem {
|
|
+ regulator-off-in-suspend;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vdd_gpu: regulator@41 {
|
|
+ compatible = "silergy,syr828";
|
|
+ reg = <0x41>;
|
|
+ fcs,suspend-voltage-selector = <1>;
|
|
+ vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&vsel2_pin>;
|
|
+ regulator-name = "vdd_gpu";
|
|
+ regulator-min-microvolt = <712500>;
|
|
+ regulator-max-microvolt = <1500000>;
|
|
+ regulator-ramp-delay = <1000>;
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ vin-supply = <&vcc5v0_sys>;
|
|
+
|
|
+ regulator-state-mem {
|
|
+ regulator-off-in-suspend;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ cw2015@62 {
|
|
+ compatible = "cellwise,cw2015";
|
|
+ reg = <0x62>;
|
|
+ cellwise,battery-profile = /bits/ 8 <
|
|
+ 0x15 0x7E 0x66 0x5B 0x58 0x55 0x51 0x4D
|
|
+ 0x4A 0x47 0x44 0x47 0x4D 0x46 0x32 0x27
|
|
+ 0x1F 0x1A 0x15 0x16 0x21 0x30 0x3F 0x4A
|
|
+ 0x46 0x5C 0x0C 0x29 0x19 0x31 0x59 0x74
|
|
+ 0x7B 0x7D 0x81 0x82 0x3F 0x1A 0x58 0x22
|
|
+ 0x06 0x42 0x2B 0x63 0x89 0x93 0x94 0x3C
|
|
+ 0x57 0x7D 0x93 0xAE 0x80 0xC2 0xD2 0xCB
|
|
+ 0x2F 0x00 0x64 0xA5 0xB5 0x1F 0xB0 0x11
|
|
+ >;
|
|
+ cellwise,monitor-interval-ms = <5000>;
|
|
+ power-supplies = <&mains_charger>;
|
|
+ monitored-battery = <&bat>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c1 {
|
|
+ clock-frequency = <100000>;
|
|
+ i2c-scl-rising-time-ns = <300>;
|
|
+ i2c-scl-falling-time-ns = <15>;
|
|
+ status = "okay";
|
|
+
|
|
+ es8316: es8316@11 {
|
|
+ compatible = "everest,es8316";
|
|
+ reg = <0x11>;
|
|
+ clocks = <&cru SCLK_I2S_8CH_OUT>;
|
|
+ clock-names = "mclk";
|
|
+ #sound-dai-cells = <0>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c3 {
|
|
+ i2c-scl-rising-time-ns = <450>;
|
|
+ i2c-scl-falling-time-ns = <15>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&i2c4 {
|
|
+ i2c-scl-rising-time-ns = <600>;
|
|
+ i2c-scl-falling-time-ns = <20>;
|
|
+ status = "okay";
|
|
+
|
|
+ gt9xx: gt9xx@14 {
|
|
+ compatible = "goodix,gt927";
|
|
+ goodix,config-name = "rg552_goodix_927_cfg.bin";
|
|
+ reg = <0x14>;
|
|
+ irq-gpios = <&gpio3 RK_PD7 GPIO_ACTIVE_HIGH>;
|
|
+ reset-gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>;
|
|
+ touchscreen-size-x = <1152>;
|
|
+ touchscreen-size-y = <1920>;
|
|
+ touchscreen-inverted-x;
|
|
+ touchscreen-inverted-y;
|
|
+ interrupt-parent = <&gpio3>;
|
|
+ interrupts = <RK_PD7 IRQ_TYPE_EDGE_FALLING>;
|
|
+ };
|
|
+
|
|
+ fusb0: typec-portc@22 {
|
|
+ compatible = "fcs,fusb302";
|
|
+ status = "okay";
|
|
+ reg = <0x22>;
|
|
+ interrupt-parent = <&gpio1>;
|
|
+ interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&fusb0_int>;
|
|
+ vbus-supply = <&vcc5v0_typec>;
|
|
+
|
|
+ connector {
|
|
+ compatible = "usb-c-connector";
|
|
+ data-role = "dual";
|
|
+ label = "USB-C";
|
|
+ op-sink-microwatt = <1000000>;
|
|
+ power-role = "dual";
|
|
+ sink-pdos =
|
|
+ <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
|
|
+ source-pdos =
|
|
+ <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
|
|
+ try-power-role = "sink";
|
|
+
|
|
+ ports {
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+
|
|
+ port@0 {
|
|
+ reg = <0>;
|
|
+
|
|
+ usbc_hs: endpoint {
|
|
+ remote-endpoint = <&u2phy0_typec_hs>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ port@1 {
|
|
+ reg = <1>;
|
|
+
|
|
+ usbc_ss: endpoint {
|
|
+ remote-endpoint = <&tcphy0_typec_ss>;
|
|
+ };
|
|
+ };
|
|
+ // displayport maybe?
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2s1 {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s1_2ch_bus>;
|
|
+ rockchip,i2s-broken-burst-len;
|
|
+ rockchip,playback-channels = <8>;
|
|
+ rockchip,capture-channels = <8>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&i2s2 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&io_domains {
|
|
+ status = "okay";
|
|
+
|
|
+ bt656-supply = <&vcc1v8_dvp>;
|
|
+ audio-supply = <&vcca3v0_codec>;
|
|
+ sdmmc-supply = <&vcc_sdio>;
|
|
+ gpio1830-supply = <&vcc_3v0>;
|
|
+};
|
|
+
|
|
+&pmu_io_domains {
|
|
+ pmu1830-supply = <&vcc_3v0>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pinctrl {
|
|
+ dc-charger {
|
|
+ dc_det_pin: dc-det-pin {
|
|
+ rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ es8316 {
|
|
+ hp_det_pin: hp-det-pin {
|
|
+ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
+ };
|
|
+
|
|
+ spk_en_pin: spk-en-pin {
|
|
+ rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ i2s1 {
|
|
+ i2s_8ch_mclk_pin: i2s-8ch-mclk-pin {
|
|
+ rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fusb302x {
|
|
+ fusb0_int: fusb0-int {
|
|
+ rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ pmic {
|
|
+ pmic_int_l: pmic-int-l {
|
|
+ rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
+ };
|
|
+
|
|
+ vsel1_pin: vsel1-pin {
|
|
+ rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
|
|
+ };
|
|
+
|
|
+ vsel2_pin: vsel2-pin {
|
|
+ rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ sdcard {
|
|
+ sdmmc0_pwr_h: sdmmc0-pwr-h {
|
|
+ rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
+ };
|
|
+
|
|
+ };
|
|
+
|
|
+ sdio-pwrseq {
|
|
+ wifi_enable_h: wifi-enable-h {
|
|
+ rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ usb-typec {
|
|
+ vcc5v0_typec_en: vcc5v0_typec_en {
|
|
+ rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ usb2 {
|
|
+ vcc5v0_host_en: vcc5v0-host-en {
|
|
+ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ gpio-leds {
|
|
+ leds_gpio: leds-gpio {
|
|
+ rockchip,pins =
|
|
+ <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ lcd-panel {
|
|
+ lcd_reset_gpio: lcd-reset-gpio {
|
|
+ rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
+ };
|
|
+
|
|
+ vcc5v5_lcd_en: vcc5v5-lcd-en {
|
|
+ rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
+ };
|
|
+
|
|
+ vcc5v5_neg_lcd_en: vcc5v5-neg-lcd-en {
|
|
+ rockchip,pins = <0 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ wifi {
|
|
+ wifi_pwr: wifi-pwr-en {
|
|
+ rockchip,pins = <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ btns {
|
|
+ btn_pins: btn-pins {
|
|
+ rockchip,pins =
|
|
+ <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
+ };
|
|
+ vol_pwr_btn: vol-pwr-btn {
|
|
+ rockchip,pins =
|
|
+ <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
+ <3 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&tcphy0 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tcphy0_usb3 {
|
|
+ port {
|
|
+ tcphy0_typec_ss: endpoint {
|
|
+ remote-endpoint = <&usbc_ss>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&tcphy1 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tsadc {
|
|
+ /* tshut mode 0:CRU 1:GPIO */
|
|
+ rockchip,hw-tshut-mode = <1>;
|
|
+ /* tshut polarity 0:LOW 1:HIGH */
|
|
+ rockchip,hw-tshut-polarity = <1>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&u2phy0 {
|
|
+ status = "okay";
|
|
+
|
|
+ u2phy0_otg: otg-port {
|
|
+ status = "okay";
|
|
+ };
|
|
+
|
|
+ u2phy0_host: host-port {
|
|
+ phy-supply = <&vcc5v0_host>;
|
|
+ status = "okay";
|
|
+ };
|
|
+
|
|
+ port {
|
|
+ u2phy0_typec_hs: endpoint {
|
|
+ remote-endpoint = <&usbc_hs>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&u2phy1 {
|
|
+ status = "okay";
|
|
+
|
|
+ u2phy1_otg: otg-port {
|
|
+ status = "okay";
|
|
+ };
|
|
+
|
|
+ u2phy1_host: host-port {
|
|
+ phy-supply = <&vcc5v0_host>;
|
|
+ status = "okay";
|
|
+ };
|
|
+};
|
|
+
|
|
+&uart0 {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&uart2 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb_host0_ehci {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb_host0_ohci {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb_host1_ehci {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb_host1_ohci {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usbdrd3_0 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usbdrd_dwc3_0 {
|
|
+ status = "okay";
|
|
+ dr_mode = "host";
|
|
+};
|
|
+
|
|
+&usbdrd3_1 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usbdrd_dwc3_1 {
|
|
+ status = "okay";
|
|
+ dr_mode = "host";
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+
|
|
+ wifi_card: device@1 {
|
|
+ compatible = "usbbda,f179";
|
|
+ reg = <1>;
|
|
+ #size-cells = <0>;
|
|
+ #address-cells = <2>;
|
|
+
|
|
+ interface@0 {
|
|
+ compatible = "usbifbda,f179.config1.0";
|
|
+ reg = <0 1>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&vopb {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&vopb_mmu {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&vopl {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&vopl_mmu {
|
|
+ status = "okay";
|
|
+};
|
|
diff -rupN linux.orig/arch/arm64/configs/rg552_defconfig linux/arch/arm64/configs/rg552_defconfig
|
|
--- linux.orig/arch/arm64/configs/rg552_defconfig 1969-12-31 19:00:00.000000000 -0500
|
|
+++ linux/arch/arm64/configs/rg552_defconfig 2022-11-01 17:56:17.136793634 -0400
|
|
@@ -0,0 +1,7577 @@
|
|
+#
|
|
+# Automatically generated file; DO NOT EDIT.
|
|
+# Linux/arm64 5.18.0-rc3 Kernel Configuration
|
|
+#
|
|
+CONFIG_CC_VERSION_TEXT="aarch64-libreelec-linux-gnueabi-gcc-10.3.0 (GCC) 10.3.0"
|
|
+CONFIG_CC_IS_GCC=y
|
|
+CONFIG_GCC_VERSION=100300
|
|
+CONFIG_CLANG_VERSION=0
|
|
+CONFIG_AS_IS_GNU=y
|
|
+CONFIG_AS_VERSION=23800
|
|
+CONFIG_LD_IS_BFD=y
|
|
+CONFIG_LD_VERSION=23800
|
|
+CONFIG_LLD_VERSION=0
|
|
+CONFIG_CC_CAN_LINK=y
|
|
+CONFIG_CC_CAN_LINK_STATIC=y
|
|
+CONFIG_CC_HAS_ASM_GOTO=y
|
|
+CONFIG_CC_HAS_ASM_INLINE=y
|
|
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
|
|
+CONFIG_PAHOLE_VERSION=0
|
|
+CONFIG_IRQ_WORK=y
|
|
+CONFIG_BUILDTIME_TABLE_SORT=y
|
|
+CONFIG_THREAD_INFO_IN_TASK=y
|
|
+
|
|
+#
|
|
+# General setup
|
|
+#
|
|
+CONFIG_INIT_ENV_ARG_LIMIT=32
|
|
+# CONFIG_COMPILE_TEST is not set
|
|
+# CONFIG_WERROR is not set
|
|
+CONFIG_LOCALVERSION=""
|
|
+# CONFIG_LOCALVERSION_AUTO is not set
|
|
+CONFIG_BUILD_SALT="-ragnarok"
|
|
+CONFIG_DEFAULT_INIT=""
|
|
+CONFIG_DEFAULT_HOSTNAME="RG552"
|
|
+# CONFIG_SWAP is not set
|
|
+CONFIG_SYSVIPC=y
|
|
+CONFIG_SYSVIPC_SYSCTL=y
|
|
+CONFIG_POSIX_MQUEUE=y
|
|
+CONFIG_POSIX_MQUEUE_SYSCTL=y
|
|
+CONFIG_WATCH_QUEUE=y
|
|
+# CONFIG_CROSS_MEMORY_ATTACH 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_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
|
|
+CONFIG_GENERIC_IRQ_MIGRATION=y
|
|
+CONFIG_HARDIRQS_SW_RESEND=y
|
|
+CONFIG_GENERIC_IRQ_CHIP=y
|
|
+CONFIG_IRQ_DOMAIN=y
|
|
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
|
|
+CONFIG_GENERIC_IRQ_IPI=y
|
|
+CONFIG_GENERIC_MSI_IRQ=y
|
|
+CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
|
|
+CONFIG_IRQ_MSI_IOMMU=y
|
|
+CONFIG_IRQ_FORCED_THREADING=y
|
|
+CONFIG_SPARSE_IRQ=y
|
|
+# CONFIG_GENERIC_IRQ_DEBUGFS is not set
|
|
+# end of IRQ subsystem
|
|
+
|
|
+CONFIG_GENERIC_TIME_VSYSCALL=y
|
|
+CONFIG_GENERIC_CLOCKEVENTS=y
|
|
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
|
|
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
|
|
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
|
|
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
|
|
+
|
|
+#
|
|
+# Timers subsystem
|
|
+#
|
|
+CONFIG_TICK_ONESHOT=y
|
|
+CONFIG_NO_HZ_COMMON=y
|
|
+# CONFIG_HZ_PERIODIC is not set
|
|
+# CONFIG_NO_HZ_IDLE is not set
|
|
+CONFIG_NO_HZ_FULL=y
|
|
+CONFIG_CONTEXT_TRACKING=y
|
|
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
|
|
+CONFIG_NO_HZ=y
|
|
+CONFIG_HIGH_RES_TIMERS=y
|
|
+# end of Timers subsystem
|
|
+
|
|
+CONFIG_BPF=y
|
|
+CONFIG_HAVE_EBPF_JIT=y
|
|
+CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
|
|
+
|
|
+#
|
|
+# BPF subsystem
|
|
+#
|
|
+CONFIG_BPF_SYSCALL=y
|
|
+CONFIG_BPF_JIT=y
|
|
+# CONFIG_BPF_JIT_ALWAYS_ON is not set
|
|
+CONFIG_BPF_JIT_DEFAULT_ON=y
|
|
+# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
|
|
+# CONFIG_BPF_PRELOAD is not set
|
|
+# end of BPF subsystem
|
|
+
|
|
+CONFIG_PREEMPT_BUILD=y
|
|
+# CONFIG_PREEMPT_NONE is not set
|
|
+# CONFIG_PREEMPT_VOLUNTARY is not set
|
|
+CONFIG_PREEMPT=y
|
|
+CONFIG_PREEMPT_COUNT=y
|
|
+CONFIG_PREEMPTION=y
|
|
+# CONFIG_PREEMPT_DYNAMIC is not set
|
|
+
|
|
+#
|
|
+# CPU/Task time and stats accounting
|
|
+#
|
|
+CONFIG_VIRT_CPU_ACCOUNTING=y
|
|
+CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
|
|
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
|
|
+CONFIG_SCHED_THERMAL_PRESSURE=y
|
|
+# CONFIG_BSD_PROCESS_ACCT is not set
|
|
+# CONFIG_TASKSTATS is not set
|
|
+# CONFIG_PSI is not set
|
|
+# end of CPU/Task time and stats accounting
|
|
+
|
|
+CONFIG_CPU_ISOLATION=y
|
|
+
|
|
+#
|
|
+# RCU Subsystem
|
|
+#
|
|
+CONFIG_TREE_RCU=y
|
|
+CONFIG_PREEMPT_RCU=y
|
|
+# CONFIG_RCU_EXPERT is not set
|
|
+CONFIG_SRCU=y
|
|
+CONFIG_TREE_SRCU=y
|
|
+CONFIG_TASKS_RCU_GENERIC=y
|
|
+CONFIG_TASKS_RCU=y
|
|
+CONFIG_RCU_STALL_COMMON=y
|
|
+CONFIG_RCU_NEED_SEGCBLIST=y
|
|
+CONFIG_RCU_NOCB_CPU=y
|
|
+# end of RCU Subsystem
|
|
+
|
|
+CONFIG_IKCONFIG=y
|
|
+CONFIG_IKCONFIG_PROC=y
|
|
+# CONFIG_IKHEADERS is not set
|
|
+CONFIG_LOG_BUF_SHIFT=18
|
|
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
|
|
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
|
|
+# CONFIG_PRINTK_INDEX is not set
|
|
+CONFIG_GENERIC_SCHED_CLOCK=y
|
|
+
|
|
+#
|
|
+# Scheduler features
|
|
+#
|
|
+# CONFIG_UCLAMP_TASK is not set
|
|
+# end of Scheduler features
|
|
+
|
|
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
|
|
+CONFIG_CC_HAS_INT128=y
|
|
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
+CONFIG_ARCH_SUPPORTS_INT128=y
|
|
+CONFIG_CGROUPS=y
|
|
+CONFIG_PAGE_COUNTER=y
|
|
+CONFIG_MEMCG=y
|
|
+CONFIG_MEMCG_KMEM=y
|
|
+CONFIG_BLK_CGROUP=y
|
|
+CONFIG_CGROUP_WRITEBACK=y
|
|
+CONFIG_CGROUP_SCHED=y
|
|
+CONFIG_FAIR_GROUP_SCHED=y
|
|
+CONFIG_CFS_BANDWIDTH=y
|
|
+# CONFIG_RT_GROUP_SCHED is not set
|
|
+CONFIG_CGROUP_PIDS=y
|
|
+CONFIG_CGROUP_RDMA=y
|
|
+CONFIG_CGROUP_FREEZER=y
|
|
+CONFIG_CPUSETS=y
|
|
+# CONFIG_PROC_PID_CPUSET is not set
|
|
+CONFIG_CGROUP_DEVICE=y
|
|
+CONFIG_CGROUP_CPUACCT=y
|
|
+CONFIG_CGROUP_MISC=y
|
|
+CONFIG_CGROUP_DEBUG=y
|
|
+CONFIG_SOCK_CGROUP_DATA=y
|
|
+CONFIG_NAMESPACES=y
|
|
+CONFIG_UTS_NS=y
|
|
+CONFIG_TIME_NS=y
|
|
+CONFIG_IPC_NS=y
|
|
+CONFIG_USER_NS=y
|
|
+CONFIG_PID_NS=y
|
|
+CONFIG_NET_NS=y
|
|
+# CONFIG_CHECKPOINT_RESTORE is not set
|
|
+# CONFIG_SCHED_AUTOGROUP is not set
|
|
+# CONFIG_SYSFS_DEPRECATED is not set
|
|
+CONFIG_RELAY=y
|
|
+CONFIG_BLK_DEV_INITRD=y
|
|
+CONFIG_INITRAMFS_SOURCE="/media/git/JELOS/build.JELOS-RG552.aarch64/image/initramfs.cpio"
|
|
+CONFIG_INITRAMFS_ROOT_UID=0
|
|
+CONFIG_INITRAMFS_ROOT_GID=0
|
|
+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_RD_ZSTD=y
|
|
+CONFIG_INITRAMFS_COMPRESSION_GZIP=y
|
|
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
|
|
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
|
|
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
|
|
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
|
|
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
|
|
+# CONFIG_INITRAMFS_COMPRESSION_ZSTD is not set
|
|
+# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
|
|
+# CONFIG_BOOT_CONFIG is not set
|
|
+# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
|
|
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
|
+CONFIG_LD_ORPHAN_WARN=y
|
|
+CONFIG_SYSCTL=y
|
|
+CONFIG_HAVE_UID16=y
|
|
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
|
|
+CONFIG_EXPERT=y
|
|
+CONFIG_UID16=y
|
|
+CONFIG_MULTIUSER=y
|
|
+CONFIG_SGETMASK_SYSCALL=y
|
|
+CONFIG_SYSFS_SYSCALL=y
|
|
+CONFIG_FHANDLE=y
|
|
+CONFIG_POSIX_TIMERS=y
|
|
+CONFIG_PRINTK=y
|
|
+# CONFIG_BUG is not set
|
|
+CONFIG_BASE_FULL=y
|
|
+CONFIG_FUTEX=y
|
|
+CONFIG_FUTEX_PI=y
|
|
+CONFIG_EPOLL=y
|
|
+CONFIG_SIGNALFD=y
|
|
+CONFIG_TIMERFD=y
|
|
+CONFIG_EVENTFD=y
|
|
+CONFIG_SHMEM=y
|
|
+CONFIG_AIO=y
|
|
+CONFIG_IO_URING=y
|
|
+CONFIG_ADVISE_SYSCALLS=y
|
|
+CONFIG_MEMBARRIER=y
|
|
+# CONFIG_KALLSYMS is not set
|
|
+# CONFIG_USERFAULTFD is not set
|
|
+CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
|
|
+CONFIG_KCMP=y
|
|
+CONFIG_RSEQ=y
|
|
+# CONFIG_DEBUG_RSEQ is not set
|
|
+CONFIG_EMBEDDED=y
|
|
+CONFIG_HAVE_PERF_EVENTS=y
|
|
+# CONFIG_PC104 is not set
|
|
+
|
|
+#
|
|
+# Kernel Performance Events And Counters
|
|
+#
|
|
+# CONFIG_PERF_EVENTS is not set
|
|
+# end of Kernel Performance Events And Counters
|
|
+
|
|
+# CONFIG_VM_EVENT_COUNTERS 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_SLAB_MERGE_DEFAULT is not set
|
|
+# CONFIG_SLAB_FREELIST_RANDOM is not set
|
|
+# CONFIG_SLAB_FREELIST_HARDENED is not set
|
|
+# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
|
|
+# CONFIG_SLUB_CPU_PARTIAL is not set
|
|
+CONFIG_SYSTEM_DATA_VERIFICATION=y
|
|
+CONFIG_PROFILING=y
|
|
+# end of General setup
|
|
+
|
|
+CONFIG_ARM64=y
|
|
+CONFIG_64BIT=y
|
|
+CONFIG_MMU=y
|
|
+CONFIG_ARM64_PAGE_SHIFT=12
|
|
+CONFIG_ARM64_CONT_PTE_SHIFT=4
|
|
+CONFIG_ARM64_CONT_PMD_SHIFT=4
|
|
+CONFIG_ARCH_MMAP_RND_BITS_MIN=18
|
|
+CONFIG_ARCH_MMAP_RND_BITS_MAX=33
|
|
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
|
|
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
|
|
+CONFIG_STACKTRACE_SUPPORT=y
|
|
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
|
|
+CONFIG_LOCKDEP_SUPPORT=y
|
|
+CONFIG_GENERIC_HWEIGHT=y
|
|
+CONFIG_GENERIC_CSUM=y
|
|
+CONFIG_GENERIC_CALIBRATE_DELAY=y
|
|
+CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
|
|
+CONFIG_SMP=y
|
|
+CONFIG_KERNEL_MODE_NEON=y
|
|
+CONFIG_FIX_EARLYCON_MEM=y
|
|
+CONFIG_PGTABLE_LEVELS=4
|
|
+CONFIG_ARCH_SUPPORTS_UPROBES=y
|
|
+CONFIG_ARCH_PROC_KCORE_TEXT=y
|
|
+
|
|
+#
|
|
+# Platform selection
|
|
+#
|
|
+# CONFIG_ARCH_ACTIONS is not set
|
|
+# CONFIG_ARCH_SUNXI is not set
|
|
+# CONFIG_ARCH_ALPINE is not set
|
|
+# CONFIG_ARCH_APPLE is not set
|
|
+# CONFIG_ARCH_BCM2835 is not set
|
|
+# CONFIG_ARCH_BCM4908 is not set
|
|
+# CONFIG_ARCH_BCM_IPROC is not set
|
|
+# CONFIG_ARCH_BERLIN is not set
|
|
+# CONFIG_ARCH_BITMAIN is not set
|
|
+# CONFIG_ARCH_BRCMSTB is not set
|
|
+# CONFIG_ARCH_EXYNOS is not set
|
|
+# CONFIG_ARCH_SPARX5 is not set
|
|
+# CONFIG_ARCH_K3 is not set
|
|
+# CONFIG_ARCH_LAYERSCAPE is not set
|
|
+# CONFIG_ARCH_LG1K is not set
|
|
+# CONFIG_ARCH_HISI is not set
|
|
+# CONFIG_ARCH_KEEMBAY is not set
|
|
+# CONFIG_ARCH_MEDIATEK is not set
|
|
+# CONFIG_ARCH_MESON is not set
|
|
+# CONFIG_ARCH_MVEBU is not set
|
|
+# CONFIG_ARCH_MXC is not set
|
|
+# CONFIG_ARCH_QCOM is not set
|
|
+# CONFIG_ARCH_REALTEK is not set
|
|
+# CONFIG_ARCH_RENESAS is not set
|
|
+CONFIG_ARCH_ROCKCHIP=y
|
|
+# CONFIG_ARCH_S32 is not set
|
|
+# CONFIG_ARCH_SEATTLE is not set
|
|
+# CONFIG_ARCH_INTEL_SOCFPGA is not set
|
|
+# CONFIG_ARCH_SYNQUACER is not set
|
|
+# CONFIG_ARCH_TEGRA is not set
|
|
+# CONFIG_ARCH_SPRD is not set
|
|
+# CONFIG_ARCH_THUNDER is not set
|
|
+# CONFIG_ARCH_THUNDER2 is not set
|
|
+# CONFIG_ARCH_UNIPHIER is not set
|
|
+# CONFIG_ARCH_VEXPRESS is not set
|
|
+# CONFIG_ARCH_VISCONTI is not set
|
|
+# CONFIG_ARCH_XGENE is not set
|
|
+# CONFIG_ARCH_ZYNQMP is not set
|
|
+# end of Platform selection
|
|
+
|
|
+#
|
|
+# Kernel Features
|
|
+#
|
|
+
|
|
+#
|
|
+# ARM errata workarounds via the alternatives framework
|
|
+#
|
|
+# CONFIG_ARM64_ERRATUM_826319 is not set
|
|
+# CONFIG_ARM64_ERRATUM_827319 is not set
|
|
+# CONFIG_ARM64_ERRATUM_824069 is not set
|
|
+# CONFIG_ARM64_ERRATUM_819472 is not set
|
|
+# CONFIG_ARM64_ERRATUM_832075 is not set
|
|
+CONFIG_ARM64_ERRATUM_834220=y
|
|
+# CONFIG_ARM64_ERRATUM_845719 is not set
|
|
+# CONFIG_ARM64_ERRATUM_843419 is not set
|
|
+CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y
|
|
+# CONFIG_ARM64_ERRATUM_1024718 is not set
|
|
+# CONFIG_ARM64_ERRATUM_1418040 is not set
|
|
+# CONFIG_ARM64_ERRATUM_1165522 is not set
|
|
+# CONFIG_ARM64_ERRATUM_1319367 is not set
|
|
+# CONFIG_ARM64_ERRATUM_1530923 is not set
|
|
+# CONFIG_ARM64_ERRATUM_1286807 is not set
|
|
+# CONFIG_ARM64_ERRATUM_1463225 is not set
|
|
+# CONFIG_ARM64_ERRATUM_1542419 is not set
|
|
+# CONFIG_ARM64_ERRATUM_1508412 is not set
|
|
+# CONFIG_ARM64_ERRATUM_2051678 is not set
|
|
+CONFIG_ARM64_ERRATUM_2077057=y
|
|
+# CONFIG_ARM64_ERRATUM_2054223 is not set
|
|
+# CONFIG_ARM64_ERRATUM_2067961 is not set
|
|
+# CONFIG_CAVIUM_ERRATUM_22375 is not set
|
|
+# CONFIG_CAVIUM_ERRATUM_23154 is not set
|
|
+# CONFIG_CAVIUM_ERRATUM_27456 is not set
|
|
+# CONFIG_CAVIUM_ERRATUM_30115 is not set
|
|
+# CONFIG_CAVIUM_TX2_ERRATUM_219 is not set
|
|
+# CONFIG_FUJITSU_ERRATUM_010001 is not set
|
|
+# CONFIG_HISILICON_ERRATUM_161600802 is not set
|
|
+# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set
|
|
+# CONFIG_QCOM_FALKOR_ERRATUM_1009 is not set
|
|
+# CONFIG_QCOM_QDF2400_ERRATUM_0065 is not set
|
|
+# CONFIG_QCOM_FALKOR_ERRATUM_E1041 is not set
|
|
+# CONFIG_NVIDIA_CARMEL_CNP_ERRATUM is not set
|
|
+# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set
|
|
+# end of ARM errata workarounds via the alternatives framework
|
|
+
|
|
+CONFIG_ARM64_4K_PAGES=y
|
|
+# CONFIG_ARM64_16K_PAGES is not set
|
|
+# CONFIG_ARM64_64K_PAGES is not set
|
|
+# CONFIG_ARM64_VA_BITS_39 is not set
|
|
+CONFIG_ARM64_VA_BITS_48=y
|
|
+CONFIG_ARM64_VA_BITS=48
|
|
+CONFIG_ARM64_PA_BITS_48=y
|
|
+CONFIG_ARM64_PA_BITS=48
|
|
+# CONFIG_CPU_BIG_ENDIAN is not set
|
|
+CONFIG_CPU_LITTLE_ENDIAN=y
|
|
+CONFIG_SCHED_MC=y
|
|
+CONFIG_SCHED_CLUSTER=y
|
|
+# CONFIG_SCHED_SMT is not set
|
|
+CONFIG_NR_CPUS=8
|
|
+CONFIG_HOTPLUG_CPU=y
|
|
+# CONFIG_NUMA is not set
|
|
+# CONFIG_HZ_100 is not set
|
|
+# CONFIG_HZ_250 is not set
|
|
+# CONFIG_HZ_300 is not set
|
|
+CONFIG_HZ_1000=y
|
|
+CONFIG_HZ=1000
|
|
+CONFIG_SCHED_HRTICK=y
|
|
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
|
+# CONFIG_PARAVIRT is not set
|
|
+# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
|
|
+# CONFIG_KEXEC is not set
|
|
+# CONFIG_KEXEC_FILE is not set
|
|
+# CONFIG_CRASH_DUMP is not set
|
|
+# CONFIG_XEN is not set
|
|
+CONFIG_FORCE_MAX_ZONEORDER=11
|
|
+# CONFIG_UNMAP_KERNEL_AT_EL0 is not set
|
|
+# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set
|
|
+# CONFIG_RODATA_FULL_DEFAULT_ENABLED is not set
|
|
+# CONFIG_ARM64_SW_TTBR0_PAN is not set
|
|
+CONFIG_ARM64_TAGGED_ADDR_ABI=y
|
|
+CONFIG_COMPAT=y
|
|
+CONFIG_KUSER_HELPERS=y
|
|
+CONFIG_ARMV8_DEPRECATED=y
|
|
+CONFIG_SWP_EMULATION=y
|
|
+CONFIG_CP15_BARRIER_EMULATION=y
|
|
+CONFIG_SETEND_EMULATION=y
|
|
+
|
|
+#
|
|
+# ARMv8.1 architectural features
|
|
+#
|
|
+# CONFIG_ARM64_HW_AFDBM is not set
|
|
+# CONFIG_ARM64_PAN is not set
|
|
+CONFIG_AS_HAS_LDAPR=y
|
|
+CONFIG_AS_HAS_LSE_ATOMICS=y
|
|
+# end of ARMv8.1 architectural features
|
|
+
|
|
+#
|
|
+# ARMv8.2 architectural features
|
|
+#
|
|
+CONFIG_AS_HAS_ARMV8_2=y
|
|
+CONFIG_AS_HAS_SHA3=y
|
|
+# CONFIG_ARM64_PMEM is not set
|
|
+# CONFIG_ARM64_RAS_EXTN is not set
|
|
+# CONFIG_ARM64_CNP is not set
|
|
+# end of ARMv8.2 architectural features
|
|
+
|
|
+#
|
|
+# ARMv8.3 architectural features
|
|
+#
|
|
+# CONFIG_ARM64_PTR_AUTH is not set
|
|
+CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y
|
|
+CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y
|
|
+CONFIG_AS_HAS_PAC=y
|
|
+CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y
|
|
+# end of ARMv8.3 architectural features
|
|
+
|
|
+#
|
|
+# ARMv8.4 architectural features
|
|
+#
|
|
+# CONFIG_ARM64_AMU_EXTN is not set
|
|
+CONFIG_AS_HAS_ARMV8_4=y
|
|
+CONFIG_ARM64_TLB_RANGE=y
|
|
+# end of ARMv8.4 architectural features
|
|
+
|
|
+#
|
|
+# ARMv8.5 architectural features
|
|
+#
|
|
+CONFIG_AS_HAS_ARMV8_5=y
|
|
+# CONFIG_ARM64_BTI is not set
|
|
+CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y
|
|
+# CONFIG_ARM64_E0PD is not set
|
|
+# CONFIG_ARCH_RANDOM is not set
|
|
+CONFIG_ARM64_AS_HAS_MTE=y
|
|
+# end of ARMv8.5 architectural features
|
|
+
|
|
+#
|
|
+# ARMv8.7 architectural features
|
|
+#
|
|
+# end of ARMv8.7 architectural features
|
|
+
|
|
+CONFIG_ARM64_SVE=y
|
|
+CONFIG_ARM64_MODULE_PLTS=y
|
|
+# CONFIG_ARM64_PSEUDO_NMI is not set
|
|
+CONFIG_RELOCATABLE=y
|
|
+CONFIG_RANDOMIZE_BASE=y
|
|
+CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
|
|
+CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
|
+CONFIG_STACKPROTECTOR_PER_TASK=y
|
|
+# end of Kernel Features
|
|
+
|
|
+#
|
|
+# Boot options
|
|
+#
|
|
+CONFIG_CMDLINE="console=ttyS2,1500000"
|
|
+CONFIG_CMDLINE_FROM_BOOTLOADER=y
|
|
+# CONFIG_CMDLINE_FORCE is not set
|
|
+# CONFIG_EFI is not set
|
|
+# end of Boot options
|
|
+
|
|
+CONFIG_SYSVIPC_COMPAT=y
|
|
+
|
|
+#
|
|
+# Power management options
|
|
+#
|
|
+CONFIG_SUSPEND=y
|
|
+CONFIG_SUSPEND_FREEZER=y
|
|
+CONFIG_SUSPEND_SKIP_SYNC=y
|
|
+CONFIG_PM_SLEEP=y
|
|
+CONFIG_PM_SLEEP_SMP=y
|
|
+CONFIG_PM_AUTOSLEEP=y
|
|
+# CONFIG_PM_WAKELOCKS is not set
|
|
+CONFIG_PM=y
|
|
+# CONFIG_PM_DEBUG is not set
|
|
+CONFIG_PM_CLK=y
|
|
+CONFIG_PM_GENERIC_DOMAINS=y
|
|
+CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
|
|
+CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
|
|
+CONFIG_PM_GENERIC_DOMAINS_OF=y
|
|
+CONFIG_CPU_PM=y
|
|
+CONFIG_ENERGY_MODEL=y
|
|
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
|
|
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
|
+# end of Power management options
|
|
+
|
|
+#
|
|
+# CPU Power Management
|
|
+#
|
|
+
|
|
+#
|
|
+# CPU Idle
|
|
+#
|
|
+CONFIG_CPU_IDLE=y
|
|
+CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
|
|
+CONFIG_CPU_IDLE_GOV_LADDER=y
|
|
+CONFIG_CPU_IDLE_GOV_MENU=y
|
|
+# CONFIG_CPU_IDLE_GOV_TEO is not set
|
|
+CONFIG_DT_IDLE_STATES=y
|
|
+CONFIG_DT_IDLE_GENPD=y
|
|
+
|
|
+#
|
|
+# ARM CPU Idle Drivers
|
|
+#
|
|
+CONFIG_ARM_CPUIDLE=y
|
|
+CONFIG_ARM_PSCI_CPUIDLE=y
|
|
+CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y
|
|
+# end of ARM CPU Idle Drivers
|
|
+# end of CPU Idle
|
|
+
|
|
+#
|
|
+# CPU Frequency scaling
|
|
+#
|
|
+CONFIG_CPU_FREQ=y
|
|
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
|
|
+CONFIG_CPU_FREQ_GOV_COMMON=y
|
|
+CONFIG_CPU_FREQ_STAT=y
|
|
+CONFIG_CPU_FREQ_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_SCHEDUTIL is not set
|
|
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
|
|
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
|
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
|
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
|
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
|
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
|
|
+
|
|
+#
|
|
+# CPU frequency scaling drivers
|
|
+#
|
|
+CONFIG_CPUFREQ_DT=y
|
|
+CONFIG_CPUFREQ_DT_PLATDEV=y
|
|
+# CONFIG_ARM_SCMI_CPUFREQ is not set
|
|
+# end of CPU Frequency scaling
|
|
+# end of CPU Power Management
|
|
+
|
|
+CONFIG_IRQ_BYPASS_MANAGER=y
|
|
+CONFIG_HAVE_KVM=y
|
|
+CONFIG_HAVE_KVM_IRQCHIP=y
|
|
+CONFIG_HAVE_KVM_IRQFD=y
|
|
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
|
|
+CONFIG_HAVE_KVM_EVENTFD=y
|
|
+CONFIG_KVM_MMIO=y
|
|
+CONFIG_HAVE_KVM_MSI=y
|
|
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
|
|
+CONFIG_KVM_VFIO=y
|
|
+CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL=y
|
|
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
|
|
+CONFIG_HAVE_KVM_IRQ_BYPASS=y
|
|
+CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE=y
|
|
+CONFIG_KVM_XFER_TO_GUEST_WORK=y
|
|
+CONFIG_VIRTUALIZATION=y
|
|
+CONFIG_KVM=y
|
|
+# CONFIG_NVHE_EL2_DEBUG is not set
|
|
+CONFIG_ARM64_CRYPTO=y
|
|
+CONFIG_CRYPTO_SHA256_ARM64=y
|
|
+# CONFIG_CRYPTO_SHA512_ARM64 is not set
|
|
+CONFIG_CRYPTO_SHA1_ARM64_CE=y
|
|
+CONFIG_CRYPTO_SHA2_ARM64_CE=y
|
|
+# CONFIG_CRYPTO_SHA512_ARM64_CE is not set
|
|
+# CONFIG_CRYPTO_SHA3_ARM64 is not set
|
|
+# CONFIG_CRYPTO_SM3_ARM64_CE is not set
|
|
+# CONFIG_CRYPTO_SM4_ARM64_CE is not set
|
|
+CONFIG_CRYPTO_GHASH_ARM64_CE=y
|
|
+# CONFIG_CRYPTO_CRCT10DIF_ARM64_CE is not set
|
|
+# CONFIG_CRYPTO_AES_ARM64 is not set
|
|
+CONFIG_CRYPTO_AES_ARM64_CE=y
|
|
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
|
|
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
|
|
+# CONFIG_CRYPTO_AES_ARM64_NEON_BLK is not set
|
|
+# CONFIG_CRYPTO_CHACHA20_NEON is not set
|
|
+# CONFIG_CRYPTO_POLY1305_NEON is not set
|
|
+# CONFIG_CRYPTO_NHPOLY1305_NEON is not set
|
|
+# CONFIG_CRYPTO_AES_ARM64_BS is not set
|
|
+
|
|
+#
|
|
+# General architecture-dependent options
|
|
+#
|
|
+# CONFIG_KPROBES is not set
|
|
+# CONFIG_JUMP_LABEL is not set
|
|
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
|
|
+CONFIG_HAVE_KPROBES=y
|
|
+CONFIG_HAVE_KRETPROBES=y
|
|
+CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
|
|
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
|
|
+CONFIG_HAVE_NMI=y
|
|
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
|
+CONFIG_HAVE_ARCH_TRACEHOOK=y
|
|
+CONFIG_HAVE_DMA_CONTIGUOUS=y
|
|
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
|
|
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
|
|
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
|
|
+CONFIG_ARCH_HAS_KEEPINITRD=y
|
|
+CONFIG_ARCH_HAS_SET_MEMORY=y
|
|
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
|
|
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
|
|
+CONFIG_ARCH_WANTS_NO_INSTR=y
|
|
+CONFIG_HAVE_ASM_MODVERSIONS=y
|
|
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
|
|
+CONFIG_HAVE_RSEQ=y
|
|
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
|
|
+CONFIG_HAVE_PERF_REGS=y
|
|
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
|
|
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
|
|
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
|
|
+CONFIG_MMU_GATHER_TABLE_FREE=y
|
|
+CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
|
|
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
|
|
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
|
|
+CONFIG_HAVE_CMPXCHG_LOCAL=y
|
|
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
|
|
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
|
|
+CONFIG_HAVE_ARCH_SECCOMP=y
|
|
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
|
|
+# CONFIG_SECCOMP is not set
|
|
+CONFIG_HAVE_ARCH_STACKLEAK=y
|
|
+CONFIG_HAVE_STACKPROTECTOR=y
|
|
+CONFIG_STACKPROTECTOR=y
|
|
+# CONFIG_STACKPROTECTOR_STRONG is not set
|
|
+CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
|
|
+CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
|
|
+CONFIG_LTO_NONE=y
|
|
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
|
|
+CONFIG_HAVE_CONTEXT_TRACKING=y
|
|
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
|
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
|
|
+CONFIG_HAVE_MOVE_PUD=y
|
|
+CONFIG_HAVE_MOVE_PMD=y
|
|
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
|
|
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
|
|
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
|
|
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
|
|
+CONFIG_MODULES_USE_ELF_RELA=y
|
|
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
|
|
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
|
|
+CONFIG_ARCH_MMAP_RND_BITS=18
|
|
+CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
|
|
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
|
|
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
|
|
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
|
|
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
|
|
+CONFIG_CLONE_BACKWARDS=y
|
|
+CONFIG_OLD_SIGSUSPEND3=y
|
|
+CONFIG_COMPAT_OLD_SIGACTION=y
|
|
+CONFIG_COMPAT_32BIT_TIME=y
|
|
+CONFIG_HAVE_ARCH_VMAP_STACK=y
|
|
+CONFIG_VMAP_STACK=y
|
|
+CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
|
|
+CONFIG_RANDOMIZE_KSTACK_OFFSET=y
|
|
+# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
|
|
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
|
|
+CONFIG_STRICT_KERNEL_RWX=y
|
|
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
|
|
+CONFIG_STRICT_MODULE_RWX=y
|
|
+CONFIG_HAVE_ARCH_COMPILER_H=y
|
|
+CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
|
|
+# CONFIG_LOCK_EVENT_COUNTS is not set
|
|
+CONFIG_ARCH_HAS_RELR=y
|
|
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
|
|
+CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
|
|
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
|
|
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
|
|
+
|
|
+#
|
|
+# GCOV-based kernel profiling
|
|
+#
|
|
+# CONFIG_GCOV_KERNEL is not set
|
|
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
|
|
+# end of GCOV-based kernel profiling
|
|
+
|
|
+CONFIG_HAVE_GCC_PLUGINS=y
|
|
+CONFIG_GCC_PLUGINS=y
|
|
+# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
|
|
+# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set
|
|
+# end of General architecture-dependent options
|
|
+
|
|
+CONFIG_RT_MUTEXES=y
|
|
+CONFIG_BASE_SMALL=0
|
|
+CONFIG_MODULES=y
|
|
+CONFIG_MODULE_FORCE_LOAD=y
|
|
+CONFIG_MODULE_UNLOAD=y
|
|
+CONFIG_MODULE_FORCE_UNLOAD=y
|
|
+# CONFIG_MODVERSIONS is not set
|
|
+# CONFIG_MODULE_SRCVERSION_ALL is not set
|
|
+# CONFIG_MODULE_SIG is not set
|
|
+CONFIG_MODULE_COMPRESS_NONE=y
|
|
+# CONFIG_MODULE_COMPRESS_GZIP is not set
|
|
+# CONFIG_MODULE_COMPRESS_XZ is not set
|
|
+# CONFIG_MODULE_COMPRESS_ZSTD is not set
|
|
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
|
|
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
|
|
+# CONFIG_TRIM_UNUSED_KSYMS is not set
|
|
+CONFIG_BLOCK=y
|
|
+CONFIG_BLOCK_LEGACY_AUTOLOAD=y
|
|
+CONFIG_BLK_DEV_BSG_COMMON=y
|
|
+CONFIG_BLK_DEV_BSGLIB=y
|
|
+# CONFIG_BLK_DEV_INTEGRITY is not set
|
|
+# CONFIG_BLK_DEV_ZONED is not set
|
|
+# CONFIG_BLK_DEV_THROTTLING is not set
|
|
+# CONFIG_BLK_WBT is not set
|
|
+# CONFIG_BLK_CGROUP_IOLATENCY is not set
|
|
+# CONFIG_BLK_CGROUP_IOCOST is not set
|
|
+# CONFIG_BLK_CGROUP_IOPRIO is not set
|
|
+# CONFIG_BLK_DEBUG_FS is not set
|
|
+# CONFIG_BLK_SED_OPAL is not set
|
|
+# CONFIG_BLK_INLINE_ENCRYPTION is not set
|
|
+
|
|
+#
|
|
+# Partition Types
|
|
+#
|
|
+CONFIG_PARTITION_ADVANCED=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=y
|
|
+CONFIG_MSDOS_PARTITION=y
|
|
+# CONFIG_BSD_DISKLABEL is not set
|
|
+# CONFIG_MINIX_SUBPARTITION is not set
|
|
+# CONFIG_SOLARIS_X86_PARTITION is not set
|
|
+# CONFIG_UNIXWARE_DISKLABEL is not set
|
|
+# CONFIG_LDM_PARTITION is not set
|
|
+# CONFIG_SGI_PARTITION is not set
|
|
+# CONFIG_ULTRIX_PARTITION is not set
|
|
+# CONFIG_SUN_PARTITION is not set
|
|
+# CONFIG_KARMA_PARTITION is not set
|
|
+CONFIG_EFI_PARTITION=y
|
|
+# CONFIG_SYSV68_PARTITION is not set
|
|
+# CONFIG_CMDLINE_PARTITION is not set
|
|
+# end of Partition Types
|
|
+
|
|
+CONFIG_BLOCK_COMPAT=y
|
|
+CONFIG_BLK_MQ_PCI=y
|
|
+CONFIG_BLK_PM=y
|
|
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
|
|
+CONFIG_BLK_MQ_STACKING=y
|
|
+
|
|
+#
|
|
+# IO Schedulers
|
|
+#
|
|
+CONFIG_MQ_IOSCHED_DEADLINE=y
|
|
+# CONFIG_MQ_IOSCHED_KYBER is not set
|
|
+# CONFIG_IOSCHED_BFQ is not set
|
|
+# end of IO Schedulers
|
|
+
|
|
+CONFIG_PREEMPT_NOTIFIERS=y
|
|
+CONFIG_ASN1=y
|
|
+CONFIG_UNINLINE_SPIN_UNLOCK=y
|
|
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
|
|
+CONFIG_MUTEX_SPIN_ON_OWNER=y
|
|
+CONFIG_RWSEM_SPIN_ON_OWNER=y
|
|
+CONFIG_LOCK_SPIN_ON_OWNER=y
|
|
+CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
|
|
+CONFIG_QUEUED_SPINLOCKS=y
|
|
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
|
|
+CONFIG_QUEUED_RWLOCKS=y
|
|
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
|
|
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
|
|
+CONFIG_FREEZER=y
|
|
+
|
|
+#
|
|
+# Executable file formats
|
|
+#
|
|
+CONFIG_BINFMT_ELF=y
|
|
+CONFIG_COMPAT_BINFMT_ELF=y
|
|
+CONFIG_ARCH_BINFMT_ELF_STATE=y
|
|
+CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y
|
|
+CONFIG_ARCH_HAVE_ELF_PROT=y
|
|
+CONFIG_ARCH_USE_GNU_PROPERTY=y
|
|
+CONFIG_ELFCORE=y
|
|
+CONFIG_BINFMT_SCRIPT=y
|
|
+CONFIG_BINFMT_MISC=y
|
|
+# CONFIG_COREDUMP is not set
|
|
+# end of Executable file formats
|
|
+
|
|
+#
|
|
+# Memory Management options
|
|
+#
|
|
+CONFIG_SPARSEMEM=y
|
|
+CONFIG_SPARSEMEM_EXTREME=y
|
|
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
|
|
+CONFIG_SPARSEMEM_VMEMMAP=y
|
|
+CONFIG_HAVE_FAST_GUP=y
|
|
+CONFIG_ARCH_KEEP_MEMBLOCK=y
|
|
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
|
+# CONFIG_MEMORY_HOTPLUG is not set
|
|
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
|
|
+CONFIG_SPLIT_PTLOCK_CPUS=4
|
|
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
|
|
+# CONFIG_COMPACTION is not set
|
|
+# CONFIG_PAGE_REPORTING is not set
|
|
+CONFIG_MIGRATION=y
|
|
+CONFIG_PHYS_ADDR_T_64BIT=y
|
|
+CONFIG_MMU_NOTIFIER=y
|
|
+# CONFIG_KSM is not set
|
|
+CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
|
|
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
|
|
+# CONFIG_MEMORY_FAILURE is not set
|
|
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
|
|
+# CONFIG_CMA is not set
|
|
+CONFIG_ZPOOL=y
|
|
+CONFIG_ZBUD=y
|
|
+# CONFIG_Z3FOLD is not set
|
|
+CONFIG_ZSMALLOC=y
|
|
+# CONFIG_ZSMALLOC_STAT is not set
|
|
+CONFIG_GENERIC_EARLY_IOREMAP=y
|
|
+# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
|
|
+# CONFIG_IDLE_PAGE_TRACKING is not set
|
|
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
|
|
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
|
|
+CONFIG_ARCH_HAS_PTE_DEVMAP=y
|
|
+CONFIG_ARCH_HAS_ZONE_DMA_SET=y
|
|
+CONFIG_ZONE_DMA=y
|
|
+CONFIG_ZONE_DMA32=y
|
|
+# CONFIG_PERCPU_STATS is not set
|
|
+# CONFIG_GUP_TEST is not set
|
|
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
|
|
+# CONFIG_ANON_VMA_NAME is not set
|
|
+
|
|
+#
|
|
+# Data Access Monitoring
|
|
+#
|
|
+# CONFIG_DAMON is not set
|
|
+# end of Data Access Monitoring
|
|
+# end of Memory Management options
|
|
+
|
|
+CONFIG_NET=y
|
|
+CONFIG_COMPAT_NETLINK_MESSAGES=y
|
|
+CONFIG_NET_INGRESS=y
|
|
+CONFIG_NET_EGRESS=y
|
|
+CONFIG_SKB_EXTENSIONS=y
|
|
+
|
|
+#
|
|
+# Networking options
|
|
+#
|
|
+CONFIG_PACKET=y
|
|
+# CONFIG_PACKET_DIAG is not set
|
|
+CONFIG_UNIX=y
|
|
+CONFIG_UNIX_SCM=y
|
|
+CONFIG_AF_UNIX_OOB=y
|
|
+CONFIG_UNIX_DIAG=m
|
|
+# CONFIG_TLS is not set
|
|
+CONFIG_XFRM=y
|
|
+CONFIG_XFRM_ALGO=y
|
|
+CONFIG_XFRM_USER=y
|
|
+# CONFIG_XFRM_SUB_POLICY is not set
|
|
+# CONFIG_XFRM_MIGRATE is not set
|
|
+# CONFIG_XFRM_STATISTICS is not set
|
|
+CONFIG_XFRM_AH=y
|
|
+CONFIG_XFRM_ESP=y
|
|
+CONFIG_XFRM_IPCOMP=y
|
|
+CONFIG_NET_KEY=y
|
|
+# CONFIG_NET_KEY_MIGRATE is not set
|
|
+CONFIG_INET=y
|
|
+CONFIG_IP_MULTICAST=y
|
|
+CONFIG_IP_ADVANCED_ROUTER=y
|
|
+# CONFIG_IP_FIB_TRIE_STATS is not set
|
|
+CONFIG_IP_MULTIPLE_TABLES=y
|
|
+CONFIG_IP_ROUTE_MULTIPATH=y
|
|
+CONFIG_IP_ROUTE_VERBOSE=y
|
|
+CONFIG_IP_ROUTE_CLASSID=y
|
|
+# CONFIG_IP_PNP is not set
|
|
+CONFIG_NET_IPIP=m
|
|
+CONFIG_NET_IPGRE_DEMUX=m
|
|
+CONFIG_NET_IP_TUNNEL=m
|
|
+CONFIG_NET_IPGRE=m
|
|
+# CONFIG_NET_IPGRE_BROADCAST is not set
|
|
+CONFIG_IP_MROUTE_COMMON=y
|
|
+CONFIG_IP_MROUTE=y
|
|
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
|
|
+CONFIG_IP_PIMSM_V1=y
|
|
+CONFIG_IP_PIMSM_V2=y
|
|
+CONFIG_SYN_COOKIES=y
|
|
+# CONFIG_NET_IPVTI is not set
|
|
+CONFIG_NET_UDP_TUNNEL=m
|
|
+# CONFIG_NET_FOU is not set
|
|
+# CONFIG_NET_FOU_IP_TUNNELS is not set
|
|
+CONFIG_INET_AH=y
|
|
+CONFIG_INET_ESP=y
|
|
+# CONFIG_INET_ESP_OFFLOAD is not set
|
|
+# CONFIG_INET_ESPINTCP is not set
|
|
+CONFIG_INET_IPCOMP=y
|
|
+CONFIG_INET_XFRM_TUNNEL=y
|
|
+CONFIG_INET_TUNNEL=y
|
|
+# CONFIG_INET_DIAG is not set
|
|
+CONFIG_TCP_CONG_ADVANCED=y
|
|
+CONFIG_TCP_CONG_BIC=m
|
|
+CONFIG_TCP_CONG_CUBIC=m
|
|
+CONFIG_TCP_CONG_WESTWOOD=m
|
|
+CONFIG_TCP_CONG_HTCP=m
|
|
+CONFIG_TCP_CONG_HSTCP=m
|
|
+CONFIG_TCP_CONG_HYBLA=m
|
|
+CONFIG_TCP_CONG_VEGAS=m
|
|
+# CONFIG_TCP_CONG_NV is not set
|
|
+CONFIG_TCP_CONG_SCALABLE=m
|
|
+CONFIG_TCP_CONG_LP=m
|
|
+CONFIG_TCP_CONG_VENO=m
|
|
+CONFIG_TCP_CONG_YEAH=m
|
|
+CONFIG_TCP_CONG_ILLINOIS=m
|
|
+CONFIG_TCP_CONG_DCTCP=m
|
|
+CONFIG_TCP_CONG_CDG=m
|
|
+# CONFIG_TCP_CONG_BBR is not set
|
|
+CONFIG_DEFAULT_RENO=y
|
|
+CONFIG_DEFAULT_TCP_CONG="reno"
|
|
+CONFIG_TCP_MD5SIG=y
|
|
+# CONFIG_IPV6 is not set
|
|
+# CONFIG_MPTCP is not set
|
|
+# CONFIG_NETWORK_SECMARK is not set
|
|
+CONFIG_NET_PTP_CLASSIFY=y
|
|
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
|
|
+CONFIG_NETFILTER=y
|
|
+CONFIG_NETFILTER_ADVANCED=y
|
|
+CONFIG_BRIDGE_NETFILTER=y
|
|
+
|
|
+#
|
|
+# Core Netfilter Configuration
|
|
+#
|
|
+CONFIG_NETFILTER_INGRESS=y
|
|
+CONFIG_NETFILTER_EGRESS=y
|
|
+CONFIG_NETFILTER_NETLINK=y
|
|
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
|
|
+CONFIG_NETFILTER_FAMILY_ARP=y
|
|
+# CONFIG_NETFILTER_NETLINK_HOOK is not set
|
|
+CONFIG_NETFILTER_NETLINK_ACCT=m
|
|
+CONFIG_NETFILTER_NETLINK_QUEUE=y
|
|
+CONFIG_NETFILTER_NETLINK_LOG=y
|
|
+CONFIG_NETFILTER_NETLINK_OSF=m
|
|
+CONFIG_NF_CONNTRACK=m
|
|
+CONFIG_NF_LOG_SYSLOG=m
|
|
+CONFIG_NETFILTER_CONNCOUNT=m
|
|
+CONFIG_NF_CONNTRACK_MARK=y
|
|
+# CONFIG_NF_CONNTRACK_ZONES is not set
|
|
+CONFIG_NF_CONNTRACK_PROCFS=y
|
|
+CONFIG_NF_CONNTRACK_EVENTS=y
|
|
+CONFIG_NF_CONNTRACK_TIMEOUT=y
|
|
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
|
|
+CONFIG_NF_CONNTRACK_LABELS=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=m
|
|
+CONFIG_NF_CONNTRACK_FTP=m
|
|
+CONFIG_NF_CONNTRACK_H323=m
|
|
+CONFIG_NF_CONNTRACK_IRC=m
|
|
+CONFIG_NF_CONNTRACK_BROADCAST=m
|
|
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
|
|
+CONFIG_NF_CONNTRACK_SNMP=m
|
|
+CONFIG_NF_CONNTRACK_PPTP=m
|
|
+CONFIG_NF_CONNTRACK_SANE=m
|
|
+CONFIG_NF_CONNTRACK_SIP=m
|
|
+CONFIG_NF_CONNTRACK_TFTP=m
|
|
+CONFIG_NF_CT_NETLINK=m
|
|
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
|
|
+# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set
|
|
+CONFIG_NF_NAT=m
|
|
+CONFIG_NF_NAT_AMANDA=m
|
|
+CONFIG_NF_NAT_FTP=m
|
|
+CONFIG_NF_NAT_IRC=m
|
|
+CONFIG_NF_NAT_SIP=m
|
|
+CONFIG_NF_NAT_TFTP=m
|
|
+CONFIG_NF_NAT_REDIRECT=y
|
|
+CONFIG_NF_NAT_MASQUERADE=y
|
|
+CONFIG_NETFILTER_SYNPROXY=m
|
|
+CONFIG_NF_TABLES=m
|
|
+# CONFIG_NF_TABLES_NETDEV is not set
|
|
+# CONFIG_NFT_NUMGEN is not set
|
|
+CONFIG_NFT_CT=m
|
|
+# CONFIG_NFT_CONNLIMIT is not set
|
|
+CONFIG_NFT_LOG=m
|
|
+CONFIG_NFT_LIMIT=m
|
|
+CONFIG_NFT_MASQ=m
|
|
+CONFIG_NFT_REDIR=m
|
|
+# CONFIG_NFT_TUNNEL is not set
|
|
+# CONFIG_NFT_OBJREF is not set
|
|
+CONFIG_NFT_QUEUE=m
|
|
+# CONFIG_NFT_QUOTA is not set
|
|
+CONFIG_NFT_REJECT=m
|
|
+CONFIG_NFT_COMPAT=m
|
|
+CONFIG_NFT_HASH=m
|
|
+# CONFIG_NFT_XFRM is not set
|
|
+# CONFIG_NFT_SOCKET is not set
|
|
+# CONFIG_NFT_OSF is not set
|
|
+# CONFIG_NFT_TPROXY is not set
|
|
+# CONFIG_NFT_SYNPROXY is not set
|
|
+# CONFIG_NF_FLOW_TABLE is not set
|
|
+CONFIG_NETFILTER_XTABLES=y
|
|
+CONFIG_NETFILTER_XTABLES_COMPAT=y
|
|
+
|
|
+#
|
|
+# Xtables combined modules
|
|
+#
|
|
+CONFIG_NETFILTER_XT_MARK=m
|
|
+CONFIG_NETFILTER_XT_CONNMARK=m
|
|
+CONFIG_NETFILTER_XT_SET=m
|
|
+
|
|
+#
|
|
+# Xtables targets
|
|
+#
|
|
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
|
|
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
|
|
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
|
|
+CONFIG_NETFILTER_XT_TARGET_CT=m
|
|
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
|
|
+CONFIG_NETFILTER_XT_TARGET_HL=m
|
|
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
|
|
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
|
|
+CONFIG_NETFILTER_XT_TARGET_LED=m
|
|
+CONFIG_NETFILTER_XT_TARGET_LOG=m
|
|
+CONFIG_NETFILTER_XT_TARGET_MARK=m
|
|
+CONFIG_NETFILTER_XT_NAT=m
|
|
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
|
|
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
|
|
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
|
|
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
|
|
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
|
|
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
|
|
+CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
|
|
+CONFIG_NETFILTER_XT_TARGET_TEE=m
|
|
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
|
|
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
|
|
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
|
|
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
|
|
+
|
|
+#
|
|
+# Xtables matches
|
|
+#
|
|
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
|
|
+CONFIG_NETFILTER_XT_MATCH_BPF=m
|
|
+CONFIG_NETFILTER_XT_MATCH_CGROUP=m
|
|
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
|
|
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
|
|
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
|
|
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
|
|
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
|
|
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
|
|
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
|
|
+CONFIG_NETFILTER_XT_MATCH_CPU=m
|
|
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
|
|
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
|
|
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
|
|
+CONFIG_NETFILTER_XT_MATCH_ECN=m
|
|
+CONFIG_NETFILTER_XT_MATCH_ESP=m
|
|
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
|
|
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
|
|
+CONFIG_NETFILTER_XT_MATCH_HL=m
|
|
+CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
|
|
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
|
|
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
|
|
+CONFIG_NETFILTER_XT_MATCH_L2TP=m
|
|
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
|
|
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
|
|
+CONFIG_NETFILTER_XT_MATCH_MAC=m
|
|
+CONFIG_NETFILTER_XT_MATCH_MARK=m
|
|
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
|
|
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
|
|
+CONFIG_NETFILTER_XT_MATCH_OSF=m
|
|
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
|
|
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
|
|
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
|
|
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
|
|
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
|
|
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
|
|
+CONFIG_NETFILTER_XT_MATCH_REALM=m
|
|
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
|
|
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
|
|
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
|
|
+CONFIG_NETFILTER_XT_MATCH_STATE=m
|
|
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
|
|
+CONFIG_NETFILTER_XT_MATCH_STRING=m
|
|
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
|
|
+CONFIG_NETFILTER_XT_MATCH_TIME=m
|
|
+CONFIG_NETFILTER_XT_MATCH_U32=m
|
|
+# end of Core Netfilter Configuration
|
|
+
|
|
+CONFIG_IP_SET=y
|
|
+CONFIG_IP_SET_MAX=256
|
|
+CONFIG_IP_SET_BITMAP_IP=m
|
|
+CONFIG_IP_SET_BITMAP_IPMAC=m
|
|
+CONFIG_IP_SET_BITMAP_PORT=m
|
|
+CONFIG_IP_SET_HASH_IP=m
|
|
+CONFIG_IP_SET_HASH_IPMARK=m
|
|
+CONFIG_IP_SET_HASH_IPPORT=m
|
|
+CONFIG_IP_SET_HASH_IPPORTIP=m
|
|
+CONFIG_IP_SET_HASH_IPPORTNET=m
|
|
+# CONFIG_IP_SET_HASH_IPMAC is not set
|
|
+CONFIG_IP_SET_HASH_MAC=m
|
|
+CONFIG_IP_SET_HASH_NETPORTNET=m
|
|
+CONFIG_IP_SET_HASH_NET=m
|
|
+CONFIG_IP_SET_HASH_NETNET=m
|
|
+CONFIG_IP_SET_HASH_NETPORT=m
|
|
+CONFIG_IP_SET_HASH_NETIFACE=m
|
|
+CONFIG_IP_SET_LIST_SET=m
|
|
+CONFIG_IP_VS=m
|
|
+# CONFIG_IP_VS_DEBUG is not set
|
|
+CONFIG_IP_VS_TAB_BITS=12
|
|
+
|
|
+#
|
|
+# IPVS transport protocol load balancing support
|
|
+#
|
|
+CONFIG_IP_VS_PROTO_TCP=y
|
|
+CONFIG_IP_VS_PROTO_UDP=y
|
|
+CONFIG_IP_VS_PROTO_AH_ESP=y
|
|
+CONFIG_IP_VS_PROTO_ESP=y
|
|
+CONFIG_IP_VS_PROTO_AH=y
|
|
+CONFIG_IP_VS_PROTO_SCTP=y
|
|
+
|
|
+#
|
|
+# IPVS scheduler
|
|
+#
|
|
+CONFIG_IP_VS_RR=m
|
|
+CONFIG_IP_VS_WRR=m
|
|
+CONFIG_IP_VS_LC=m
|
|
+CONFIG_IP_VS_WLC=m
|
|
+CONFIG_IP_VS_FO=m
|
|
+CONFIG_IP_VS_OVF=m
|
|
+CONFIG_IP_VS_LBLC=m
|
|
+CONFIG_IP_VS_LBLCR=m
|
|
+CONFIG_IP_VS_DH=m
|
|
+CONFIG_IP_VS_SH=m
|
|
+# CONFIG_IP_VS_MH is not set
|
|
+CONFIG_IP_VS_SED=m
|
|
+CONFIG_IP_VS_NQ=m
|
|
+# CONFIG_IP_VS_TWOS is not set
|
|
+
|
|
+#
|
|
+# IPVS SH scheduler
|
|
+#
|
|
+CONFIG_IP_VS_SH_TAB_BITS=8
|
|
+
|
|
+#
|
|
+# IPVS MH scheduler
|
|
+#
|
|
+CONFIG_IP_VS_MH_TAB_INDEX=12
|
|
+
|
|
+#
|
|
+# IPVS application helper
|
|
+#
|
|
+# CONFIG_IP_VS_FTP is not set
|
|
+CONFIG_IP_VS_NFCT=y
|
|
+# CONFIG_IP_VS_PE_SIP is not set
|
|
+
|
|
+#
|
|
+# IP: Netfilter Configuration
|
|
+#
|
|
+CONFIG_NF_DEFRAG_IPV4=m
|
|
+CONFIG_NF_SOCKET_IPV4=m
|
|
+CONFIG_NF_TPROXY_IPV4=m
|
|
+# CONFIG_NF_TABLES_IPV4 is not set
|
|
+# CONFIG_NF_TABLES_ARP is not set
|
|
+CONFIG_NF_DUP_IPV4=m
|
|
+CONFIG_NF_LOG_ARP=m
|
|
+CONFIG_NF_LOG_IPV4=m
|
|
+CONFIG_NF_REJECT_IPV4=m
|
|
+CONFIG_NF_NAT_SNMP_BASIC=m
|
|
+CONFIG_NF_NAT_PPTP=m
|
|
+CONFIG_NF_NAT_H323=m
|
|
+CONFIG_IP_NF_IPTABLES=y
|
|
+CONFIG_IP_NF_MATCH_AH=m
|
|
+CONFIG_IP_NF_MATCH_ECN=m
|
|
+CONFIG_IP_NF_MATCH_RPFILTER=m
|
|
+CONFIG_IP_NF_MATCH_TTL=m
|
|
+CONFIG_IP_NF_FILTER=y
|
|
+CONFIG_IP_NF_TARGET_REJECT=m
|
|
+CONFIG_IP_NF_TARGET_SYNPROXY=m
|
|
+CONFIG_IP_NF_NAT=m
|
|
+CONFIG_IP_NF_TARGET_MASQUERADE=m
|
|
+CONFIG_IP_NF_TARGET_NETMAP=m
|
|
+CONFIG_IP_NF_TARGET_REDIRECT=m
|
|
+CONFIG_IP_NF_MANGLE=m
|
|
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
|
|
+CONFIG_IP_NF_TARGET_ECN=m
|
|
+CONFIG_IP_NF_TARGET_TTL=m
|
|
+CONFIG_IP_NF_RAW=m
|
|
+CONFIG_IP_NF_ARPTABLES=m
|
|
+CONFIG_IP_NF_ARPFILTER=m
|
|
+CONFIG_IP_NF_ARP_MANGLE=m
|
|
+# end of IP: Netfilter Configuration
|
|
+
|
|
+CONFIG_NF_TABLES_BRIDGE=m
|
|
+CONFIG_NFT_BRIDGE_META=m
|
|
+# CONFIG_NF_CONNTRACK_BRIDGE is not set
|
|
+CONFIG_BRIDGE_NF_EBTABLES=m
|
|
+CONFIG_BRIDGE_EBT_BROUTE=m
|
|
+CONFIG_BRIDGE_EBT_T_FILTER=m
|
|
+CONFIG_BRIDGE_EBT_T_NAT=m
|
|
+CONFIG_BRIDGE_EBT_802_3=m
|
|
+CONFIG_BRIDGE_EBT_AMONG=m
|
|
+CONFIG_BRIDGE_EBT_ARP=m
|
|
+CONFIG_BRIDGE_EBT_IP=m
|
|
+CONFIG_BRIDGE_EBT_LIMIT=m
|
|
+CONFIG_BRIDGE_EBT_MARK=m
|
|
+CONFIG_BRIDGE_EBT_PKTTYPE=m
|
|
+CONFIG_BRIDGE_EBT_STP=m
|
|
+CONFIG_BRIDGE_EBT_VLAN=m
|
|
+CONFIG_BRIDGE_EBT_ARPREPLY=m
|
|
+CONFIG_BRIDGE_EBT_DNAT=m
|
|
+CONFIG_BRIDGE_EBT_MARK_T=m
|
|
+CONFIG_BRIDGE_EBT_REDIRECT=m
|
|
+CONFIG_BRIDGE_EBT_SNAT=m
|
|
+CONFIG_BRIDGE_EBT_LOG=m
|
|
+CONFIG_BRIDGE_EBT_NFLOG=m
|
|
+# CONFIG_BPFILTER is not set
|
|
+# CONFIG_IP_DCCP is not set
|
|
+# CONFIG_IP_SCTP is not set
|
|
+# CONFIG_RDS is not set
|
|
+# CONFIG_TIPC is not set
|
|
+# CONFIG_ATM is not set
|
|
+# CONFIG_L2TP is not set
|
|
+CONFIG_STP=y
|
|
+CONFIG_BRIDGE=y
|
|
+CONFIG_BRIDGE_IGMP_SNOOPING=y
|
|
+# CONFIG_BRIDGE_VLAN_FILTERING is not set
|
|
+# CONFIG_BRIDGE_MRP is not set
|
|
+# CONFIG_BRIDGE_CFM is not set
|
|
+# CONFIG_NET_DSA is not set
|
|
+CONFIG_VLAN_8021Q=y
|
|
+# CONFIG_VLAN_8021Q_GVRP is not set
|
|
+# CONFIG_VLAN_8021Q_MVRP is not set
|
|
+# CONFIG_DECNET is not set
|
|
+CONFIG_LLC=y
|
|
+# CONFIG_LLC2 is not set
|
|
+# CONFIG_ATALK is not set
|
|
+# CONFIG_X25 is not set
|
|
+# CONFIG_LAPB is not set
|
|
+# CONFIG_PHONET is not set
|
|
+# CONFIG_IEEE802154 is not set
|
|
+CONFIG_NET_SCHED=y
|
|
+
|
|
+#
|
|
+# Queueing/Scheduling
|
|
+#
|
|
+# CONFIG_NET_SCH_CBQ is not set
|
|
+CONFIG_NET_SCH_HTB=y
|
|
+# CONFIG_NET_SCH_HFSC is not set
|
|
+# CONFIG_NET_SCH_PRIO is not set
|
|
+# CONFIG_NET_SCH_MULTIQ is not set
|
|
+# CONFIG_NET_SCH_RED is not set
|
|
+# CONFIG_NET_SCH_SFB is not set
|
|
+# CONFIG_NET_SCH_SFQ is not set
|
|
+# CONFIG_NET_SCH_TEQL is not set
|
|
+# CONFIG_NET_SCH_TBF is not set
|
|
+# CONFIG_NET_SCH_CBS is not set
|
|
+# CONFIG_NET_SCH_ETF is not set
|
|
+# CONFIG_NET_SCH_TAPRIO is not set
|
|
+# CONFIG_NET_SCH_GRED is not set
|
|
+# CONFIG_NET_SCH_DSMARK is not set
|
|
+# CONFIG_NET_SCH_NETEM is not set
|
|
+# CONFIG_NET_SCH_DRR is not set
|
|
+# CONFIG_NET_SCH_MQPRIO is not set
|
|
+# CONFIG_NET_SCH_SKBPRIO is not set
|
|
+# CONFIG_NET_SCH_CHOKE is not set
|
|
+# CONFIG_NET_SCH_QFQ is not set
|
|
+CONFIG_NET_SCH_CODEL=y
|
|
+CONFIG_NET_SCH_FQ_CODEL=y
|
|
+# CONFIG_NET_SCH_CAKE is not set
|
|
+# CONFIG_NET_SCH_FQ is not set
|
|
+# CONFIG_NET_SCH_HHF is not set
|
|
+# CONFIG_NET_SCH_PIE is not set
|
|
+# CONFIG_NET_SCH_PLUG is not set
|
|
+# CONFIG_NET_SCH_ETS is not set
|
|
+# CONFIG_NET_SCH_DEFAULT is not set
|
|
+
|
|
+#
|
|
+# Classification
|
|
+#
|
|
+CONFIG_NET_CLS=y
|
|
+# CONFIG_NET_CLS_BASIC is not set
|
|
+# CONFIG_NET_CLS_TCINDEX is not set
|
|
+# CONFIG_NET_CLS_ROUTE4 is not set
|
|
+# CONFIG_NET_CLS_FW is not set
|
|
+CONFIG_NET_CLS_U32=y
|
|
+# CONFIG_CLS_U32_PERF is not set
|
|
+CONFIG_CLS_U32_MARK=y
|
|
+# CONFIG_NET_CLS_RSVP is not set
|
|
+# CONFIG_NET_CLS_RSVP6 is not set
|
|
+# CONFIG_NET_CLS_FLOW is not set
|
|
+CONFIG_NET_CLS_CGROUP=y
|
|
+# CONFIG_NET_CLS_BPF is not set
|
|
+# CONFIG_NET_CLS_FLOWER is not set
|
|
+# CONFIG_NET_CLS_MATCHALL is not set
|
|
+# CONFIG_NET_EMATCH is not set
|
|
+# CONFIG_NET_CLS_ACT is not set
|
|
+CONFIG_NET_SCH_FIFO=y
|
|
+# CONFIG_DCB is not set
|
|
+CONFIG_DNS_RESOLVER=y
|
|
+# CONFIG_BATMAN_ADV is not set
|
|
+CONFIG_OPENVSWITCH=m
|
|
+CONFIG_OPENVSWITCH_GRE=m
|
|
+CONFIG_OPENVSWITCH_VXLAN=m
|
|
+# CONFIG_VSOCKETS is not set
|
|
+# CONFIG_NETLINK_DIAG is not set
|
|
+CONFIG_MPLS=y
|
|
+CONFIG_NET_MPLS_GSO=m
|
|
+# CONFIG_MPLS_ROUTING is not set
|
|
+CONFIG_NET_NSH=m
|
|
+# CONFIG_HSR is not set
|
|
+# CONFIG_NET_SWITCHDEV is not set
|
|
+CONFIG_NET_L3_MASTER_DEV=y
|
|
+# CONFIG_QRTR is not set
|
|
+# CONFIG_NET_NCSI is not set
|
|
+CONFIG_PCPU_DEV_REFCNT=y
|
|
+CONFIG_RPS=y
|
|
+CONFIG_RFS_ACCEL=y
|
|
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
|
|
+CONFIG_XPS=y
|
|
+CONFIG_CGROUP_NET_PRIO=y
|
|
+CONFIG_CGROUP_NET_CLASSID=y
|
|
+CONFIG_NET_RX_BUSY_POLL=y
|
|
+CONFIG_BQL=y
|
|
+CONFIG_NET_FLOW_LIMIT=y
|
|
+
|
|
+#
|
|
+# Network testing
|
|
+#
|
|
+# CONFIG_NET_PKTGEN is not set
|
|
+# end of Network testing
|
|
+# end of Networking options
|
|
+
|
|
+# CONFIG_HAMRADIO is not set
|
|
+CONFIG_CAN=y
|
|
+CONFIG_CAN_RAW=y
|
|
+CONFIG_CAN_BCM=y
|
|
+CONFIG_CAN_GW=y
|
|
+# CONFIG_CAN_J1939 is not set
|
|
+# CONFIG_CAN_ISOTP is not set
|
|
+
|
|
+#
|
|
+# CAN Device Drivers
|
|
+#
|
|
+# CONFIG_CAN_VCAN is not set
|
|
+# CONFIG_CAN_VXCAN is not set
|
|
+# CONFIG_CAN_SLCAN is not set
|
|
+CONFIG_CAN_DEV=y
|
|
+CONFIG_CAN_CALC_BITTIMING=y
|
|
+# CONFIG_CAN_FLEXCAN is not set
|
|
+# CONFIG_CAN_GRCAN is not set
|
|
+# CONFIG_CAN_KVASER_PCIEFD is not set
|
|
+# CONFIG_CAN_XILINXCAN is not set
|
|
+# CONFIG_CAN_C_CAN is not set
|
|
+# CONFIG_CAN_CC770 is not set
|
|
+# CONFIG_CAN_IFI_CANFD is not set
|
|
+# CONFIG_CAN_M_CAN is not set
|
|
+# CONFIG_CAN_PEAK_PCIEFD is not set
|
|
+CONFIG_CAN_SJA1000=y
|
|
+# CONFIG_CAN_EMS_PCI is not set
|
|
+# CONFIG_CAN_EMS_PCMCIA is not set
|
|
+# CONFIG_CAN_F81601 is not set
|
|
+# CONFIG_CAN_KVASER_PCI is not set
|
|
+# CONFIG_CAN_PEAK_PCI is not set
|
|
+# CONFIG_CAN_PEAK_PCMCIA is not set
|
|
+CONFIG_CAN_PLX_PCI=y
|
|
+# CONFIG_CAN_SJA1000_ISA is not set
|
|
+# CONFIG_CAN_SJA1000_PLATFORM is not set
|
|
+# CONFIG_CAN_SOFTING is not set
|
|
+
|
|
+#
|
|
+# CAN SPI interfaces
|
|
+#
|
|
+# CONFIG_CAN_HI311X is not set
|
|
+# CONFIG_CAN_MCP251X is not set
|
|
+# CONFIG_CAN_MCP251XFD is not set
|
|
+# end of CAN SPI interfaces
|
|
+
|
|
+#
|
|
+# CAN USB interfaces
|
|
+#
|
|
+# CONFIG_CAN_8DEV_USB is not set
|
|
+# CONFIG_CAN_EMS_USB is not set
|
|
+# CONFIG_CAN_ESD_USB2 is not set
|
|
+# CONFIG_CAN_ETAS_ES58X is not set
|
|
+# CONFIG_CAN_GS_USB is not set
|
|
+# CONFIG_CAN_KVASER_USB is not set
|
|
+# CONFIG_CAN_MCBA_USB is not set
|
|
+# CONFIG_CAN_PEAK_USB is not set
|
|
+# CONFIG_CAN_UCAN is not set
|
|
+# end of CAN USB interfaces
|
|
+
|
|
+# CONFIG_CAN_DEBUG_DEVICES is not set
|
|
+# end of CAN Device Drivers
|
|
+
|
|
+CONFIG_BT=y
|
|
+CONFIG_BT_BREDR=y
|
|
+CONFIG_BT_RFCOMM=y
|
|
+# CONFIG_BT_RFCOMM_TTY is not set
|
|
+# CONFIG_BT_BNEP is not set
|
|
+# CONFIG_BT_CMTP is not set
|
|
+CONFIG_BT_HIDP=y
|
|
+CONFIG_BT_HS=y
|
|
+CONFIG_BT_LE=y
|
|
+# CONFIG_BT_LEDS is not set
|
|
+# CONFIG_BT_MSFTEXT is not set
|
|
+# CONFIG_BT_AOSPEXT is not set
|
|
+CONFIG_BT_DEBUGFS=y
|
|
+# CONFIG_BT_SELFTEST is not set
|
|
+
|
|
+#
|
|
+# Bluetooth device drivers
|
|
+#
|
|
+CONFIG_BT_INTEL=y
|
|
+CONFIG_BT_BCM=y
|
|
+CONFIG_BT_RTL=y
|
|
+CONFIG_BT_HCIBTUSB=y
|
|
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
|
|
+CONFIG_BT_HCIBTUSB_BCM=y
|
|
+# CONFIG_BT_HCIBTUSB_MTK is not set
|
|
+CONFIG_BT_HCIBTUSB_RTL=y
|
|
+# CONFIG_BT_HCIBTSDIO is not set
|
|
+CONFIG_BT_HCIUART=y
|
|
+CONFIG_BT_HCIUART_SERDEV=y
|
|
+CONFIG_BT_HCIUART_H4=y
|
|
+# CONFIG_BT_HCIUART_NOKIA is not set
|
|
+# CONFIG_BT_HCIUART_BCSP is not set
|
|
+CONFIG_BT_HCIUART_ATH3K=y
|
|
+# CONFIG_BT_HCIUART_LL is not set
|
|
+# CONFIG_BT_HCIUART_3WIRE is not set
|
|
+# CONFIG_BT_HCIUART_INTEL is not set
|
|
+# CONFIG_BT_HCIUART_BCM is not set
|
|
+# CONFIG_BT_HCIUART_RTL is not set
|
|
+# CONFIG_BT_HCIUART_QCA is not set
|
|
+# CONFIG_BT_HCIUART_AG6XX is not set
|
|
+# CONFIG_BT_HCIUART_MRVL is not set
|
|
+# CONFIG_BT_HCIBCM203X is not set
|
|
+# CONFIG_BT_HCIBPA10X is not set
|
|
+CONFIG_BT_HCIBFUSB=y
|
|
+# CONFIG_BT_HCIDTL1 is not set
|
|
+# CONFIG_BT_HCIBT3C is not set
|
|
+# CONFIG_BT_HCIBLUECARD is not set
|
|
+CONFIG_BT_HCIVHCI=y
|
|
+CONFIG_BT_MRVL=y
|
|
+CONFIG_BT_MRVL_SDIO=y
|
|
+# CONFIG_BT_ATH3K is not set
|
|
+# CONFIG_BT_MTKSDIO is not set
|
|
+# CONFIG_BT_MTKUART is not set
|
|
+# end of Bluetooth device drivers
|
|
+
|
|
+# CONFIG_AF_RXRPC is not set
|
|
+# CONFIG_AF_KCM is not set
|
|
+# CONFIG_MCTP 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_CFG80211=y
|
|
+CONFIG_NL80211_TESTMODE=y
|
|
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
|
|
+# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
|
|
+CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
|
|
+CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
|
|
+CONFIG_CFG80211_DEFAULT_PS=y
|
|
+CONFIG_CFG80211_DEBUGFS=y
|
|
+CONFIG_CFG80211_CRDA_SUPPORT=y
|
|
+CONFIG_CFG80211_WEXT=y
|
|
+CONFIG_LIB80211=y
|
|
+# CONFIG_LIB80211_DEBUG is not set
|
|
+CONFIG_MAC80211=y
|
|
+CONFIG_MAC80211_HAS_RC=y
|
|
+CONFIG_MAC80211_RC_MINSTREL=y
|
|
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
|
|
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
|
|
+# CONFIG_MAC80211_MESH is not set
|
|
+CONFIG_MAC80211_LEDS=y
|
|
+CONFIG_MAC80211_DEBUGFS=y
|
|
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
|
|
+CONFIG_MAC80211_DEBUG_MENU=y
|
|
+# CONFIG_MAC80211_NOINLINE is not set
|
|
+CONFIG_MAC80211_VERBOSE_DEBUG=y
|
|
+# CONFIG_MAC80211_MLME_DEBUG is not set
|
|
+# CONFIG_MAC80211_STA_DEBUG is not set
|
|
+# CONFIG_MAC80211_HT_DEBUG is not set
|
|
+# CONFIG_MAC80211_OCB_DEBUG is not set
|
|
+# CONFIG_MAC80211_IBSS_DEBUG is not set
|
|
+# CONFIG_MAC80211_PS_DEBUG is not set
|
|
+# CONFIG_MAC80211_TDLS_DEBUG is not set
|
|
+# CONFIG_MAC80211_DEBUG_COUNTERS is not set
|
|
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
|
|
+CONFIG_RFKILL=y
|
|
+CONFIG_RFKILL_LEDS=y
|
|
+# CONFIG_RFKILL_INPUT is not set
|
|
+# CONFIG_RFKILL_GPIO is not set
|
|
+# CONFIG_NET_9P is not set
|
|
+# CONFIG_CAIF is not set
|
|
+CONFIG_CEPH_LIB=m
|
|
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
|
|
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
|
|
+# CONFIG_NFC is not set
|
|
+# CONFIG_PSAMPLE is not set
|
|
+# CONFIG_NET_IFE is not set
|
|
+CONFIG_LWTUNNEL=y
|
|
+CONFIG_LWTUNNEL_BPF=y
|
|
+CONFIG_DST_CACHE=y
|
|
+CONFIG_GRO_CELLS=y
|
|
+CONFIG_NET_SELFTESTS=y
|
|
+CONFIG_PAGE_POOL=y
|
|
+# CONFIG_PAGE_POOL_STATS is not set
|
|
+# CONFIG_FAILOVER is not set
|
|
+# CONFIG_ETHTOOL_NETLINK is not set
|
|
+
|
|
+#
|
|
+# Device Drivers
|
|
+#
|
|
+CONFIG_ARM_AMBA=y
|
|
+CONFIG_HAVE_PCI=y
|
|
+CONFIG_PCI=y
|
|
+CONFIG_PCI_DOMAINS=y
|
|
+CONFIG_PCI_DOMAINS_GENERIC=y
|
|
+CONFIG_PCI_SYSCALL=y
|
|
+CONFIG_PCIEPORTBUS=y
|
|
+CONFIG_PCIEAER=y
|
|
+# CONFIG_PCIEAER_INJECT is not set
|
|
+# CONFIG_PCIE_ECRC is not set
|
|
+CONFIG_PCIEASPM=y
|
|
+# CONFIG_PCIEASPM_DEFAULT is not set
|
|
+CONFIG_PCIEASPM_POWERSAVE=y
|
|
+# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
|
|
+# CONFIG_PCIEASPM_PERFORMANCE is not set
|
|
+CONFIG_PCIE_PME=y
|
|
+# CONFIG_PCIE_DPC is not set
|
|
+# CONFIG_PCIE_PTM is not set
|
|
+CONFIG_PCI_MSI=y
|
|
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
|
|
+CONFIG_PCI_QUIRKS=y
|
|
+CONFIG_PCI_DEBUG=y
|
|
+# CONFIG_PCI_STUB is not set
|
|
+# CONFIG_PCI_IOV is not set
|
|
+# CONFIG_PCI_PRI is not set
|
|
+# CONFIG_PCI_PASID is not set
|
|
+# CONFIG_PCIE_BUS_TUNE_OFF is not set
|
|
+CONFIG_PCIE_BUS_DEFAULT=y
|
|
+# CONFIG_PCIE_BUS_SAFE is not set
|
|
+# CONFIG_PCIE_BUS_PERFORMANCE is not set
|
|
+# CONFIG_PCIE_BUS_PEER2PEER is not set
|
|
+# CONFIG_VGA_ARB is not set
|
|
+# CONFIG_HOTPLUG_PCI is not set
|
|
+
|
|
+#
|
|
+# PCI controller drivers
|
|
+#
|
|
+# CONFIG_PCI_FTPCI100 is not set
|
|
+# CONFIG_PCI_HOST_GENERIC is not set
|
|
+# CONFIG_PCIE_XILINX is not set
|
|
+# CONFIG_PCI_XGENE is not set
|
|
+# CONFIG_PCIE_ALTERA is not set
|
|
+# CONFIG_PCI_HOST_THUNDER_PEM is not set
|
|
+# CONFIG_PCI_HOST_THUNDER_ECAM is not set
|
|
+# CONFIG_PCIE_ROCKCHIP_HOST is not set
|
|
+# CONFIG_PCIE_MICROCHIP_HOST is not set
|
|
+
|
|
+#
|
|
+# DesignWare PCI Core Support
|
|
+#
|
|
+# CONFIG_PCIE_DW_PLAT_HOST is not set
|
|
+# CONFIG_PCI_HISI is not set
|
|
+# CONFIG_PCIE_ROCKCHIP_DW_HOST is not set
|
|
+# CONFIG_PCIE_KIRIN is not set
|
|
+# CONFIG_PCI_MESON is not set
|
|
+# CONFIG_PCIE_AL is not set
|
|
+# end of DesignWare PCI Core Support
|
|
+
|
|
+#
|
|
+# Mobiveil PCIe Core Support
|
|
+#
|
|
+# end of Mobiveil PCIe Core Support
|
|
+
|
|
+#
|
|
+# Cadence PCIe controllers support
|
|
+#
|
|
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
|
|
+# CONFIG_PCI_J721E_HOST is not set
|
|
+# end of Cadence PCIe controllers support
|
|
+# end of PCI controller drivers
|
|
+
|
|
+#
|
|
+# PCI Endpoint
|
|
+#
|
|
+# CONFIG_PCI_ENDPOINT is not set
|
|
+# end of PCI Endpoint
|
|
+
|
|
+#
|
|
+# PCI switch controller drivers
|
|
+#
|
|
+# CONFIG_PCI_SW_SWITCHTEC is not set
|
|
+# end of PCI switch controller drivers
|
|
+
|
|
+# CONFIG_CXL_BUS is not set
|
|
+CONFIG_PCCARD=y
|
|
+CONFIG_PCMCIA=y
|
|
+CONFIG_PCMCIA_LOAD_CIS=y
|
|
+CONFIG_CARDBUS=y
|
|
+
|
|
+#
|
|
+# PC-card bridges
|
|
+#
|
|
+# CONFIG_YENTA is not set
|
|
+# CONFIG_PD6729 is not set
|
|
+# CONFIG_I82092 is not set
|
|
+# CONFIG_RAPIDIO is not set
|
|
+
|
|
+#
|
|
+# Generic Driver Options
|
|
+#
|
|
+CONFIG_UEVENT_HELPER=y
|
|
+CONFIG_UEVENT_HELPER_PATH=""
|
|
+CONFIG_DEVTMPFS=y
|
|
+CONFIG_DEVTMPFS_MOUNT=y
|
|
+CONFIG_DEVTMPFS_SAFE=y
|
|
+CONFIG_STANDALONE=y
|
|
+CONFIG_PREVENT_FIRMWARE_BUILD=y
|
|
+
|
|
+#
|
|
+# Firmware loader
|
|
+#
|
|
+CONFIG_FW_LOADER=y
|
|
+CONFIG_FW_LOADER_PAGED_BUF=y
|
|
+CONFIG_EXTRA_FIRMWARE=""
|
|
+CONFIG_FW_LOADER_USER_HELPER=y
|
|
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
|
|
+# CONFIG_FW_LOADER_COMPRESS is not set
|
|
+CONFIG_FW_CACHE=y
|
|
+# end of Firmware loader
|
|
+
|
|
+CONFIG_WANT_DEV_COREDUMP=y
|
|
+# CONFIG_ALLOW_DEV_COREDUMP is not set
|
|
+# CONFIG_DEBUG_DRIVER is not set
|
|
+CONFIG_DEBUG_DEVRES=y
|
|
+# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
|
|
+# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
|
|
+CONFIG_GENERIC_CPU_AUTOPROBE=y
|
|
+CONFIG_GENERIC_CPU_VULNERABILITIES=y
|
|
+CONFIG_REGMAP=y
|
|
+CONFIG_REGMAP_I2C=y
|
|
+CONFIG_REGMAP_SPI=y
|
|
+CONFIG_REGMAP_MMIO=y
|
|
+CONFIG_REGMAP_IRQ=y
|
|
+CONFIG_DMA_SHARED_BUFFER=y
|
|
+# CONFIG_DMA_FENCE_TRACE is not set
|
|
+CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
|
+# end of Generic Driver Options
|
|
+
|
|
+#
|
|
+# Bus devices
|
|
+#
|
|
+# CONFIG_BRCMSTB_GISB_ARB is not set
|
|
+# CONFIG_MOXTET is not set
|
|
+# CONFIG_VEXPRESS_CONFIG is not set
|
|
+# CONFIG_MHI_BUS is not set
|
|
+# end of Bus devices
|
|
+
|
|
+CONFIG_CONNECTOR=y
|
|
+CONFIG_PROC_EVENTS=y
|
|
+
|
|
+#
|
|
+# Firmware Drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# ARM System Control and Management Interface Protocol
|
|
+#
|
|
+CONFIG_ARM_SCMI_PROTOCOL=y
|
|
+CONFIG_ARM_SCMI_HAVE_TRANSPORT=y
|
|
+CONFIG_ARM_SCMI_HAVE_SHMEM=y
|
|
+CONFIG_ARM_SCMI_TRANSPORT_MAILBOX=y
|
|
+CONFIG_ARM_SCMI_TRANSPORT_SMC=y
|
|
+# CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE is not set
|
|
+CONFIG_ARM_SCMI_POWER_DOMAIN=y
|
|
+# end of ARM System Control and Management Interface Protocol
|
|
+
|
|
+CONFIG_ARM_SCPI_PROTOCOL=y
|
|
+CONFIG_ARM_SCPI_POWER_DOMAIN=y
|
|
+# CONFIG_FIRMWARE_MEMMAP is not set
|
|
+# CONFIG_FW_CFG_SYSFS is not set
|
|
+# CONFIG_ARM_FFA_TRANSPORT is not set
|
|
+# CONFIG_GOOGLE_FIRMWARE is not set
|
|
+CONFIG_ARM_PSCI_FW=y
|
|
+# CONFIG_ARM_PSCI_CHECKER is not set
|
|
+CONFIG_HAVE_ARM_SMCCC=y
|
|
+CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
|
|
+# CONFIG_ARM_SMCCC_SOC_ID is not set
|
|
+
|
|
+#
|
|
+# Tegra firmware driver
|
|
+#
|
|
+# end of Tegra firmware driver
|
|
+# end of Firmware Drivers
|
|
+
|
|
+# CONFIG_GNSS is not set
|
|
+# CONFIG_MTD is not set
|
|
+CONFIG_DTC=y
|
|
+CONFIG_OF=y
|
|
+# CONFIG_OF_UNITTEST is not set
|
|
+CONFIG_OF_FLATTREE=y
|
|
+CONFIG_OF_EARLY_FLATTREE=y
|
|
+CONFIG_OF_KOBJ=y
|
|
+CONFIG_OF_DYNAMIC=y
|
|
+CONFIG_OF_ADDRESS=y
|
|
+CONFIG_OF_IRQ=y
|
|
+CONFIG_OF_RESERVED_MEM=y
|
|
+CONFIG_OF_RESOLVE=y
|
|
+CONFIG_OF_OVERLAY=y
|
|
+# CONFIG_PARPORT is not set
|
|
+CONFIG_BLK_DEV=y
|
|
+# CONFIG_BLK_DEV_NULL_BLK is not set
|
|
+CONFIG_CDROM=y
|
|
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
|
|
+CONFIG_ZRAM=y
|
|
+CONFIG_ZRAM_DEF_COMP_LZORLE=y
|
|
+# CONFIG_ZRAM_DEF_COMP_LZ4 is not set
|
|
+# CONFIG_ZRAM_DEF_COMP_LZO is not set
|
|
+CONFIG_ZRAM_DEF_COMP="lzo-rle"
|
|
+# CONFIG_ZRAM_WRITEBACK is not set
|
|
+# CONFIG_ZRAM_MEMORY_TRACKING is not set
|
|
+CONFIG_BLK_DEV_LOOP=y
|
|
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
|
|
+CONFIG_BLK_DEV_DRBD=m
|
|
+# CONFIG_DRBD_FAULT_INJECTION is not set
|
|
+CONFIG_BLK_DEV_NBD=m
|
|
+# CONFIG_BLK_DEV_SX8 is not set
|
|
+CONFIG_BLK_DEV_RAM=y
|
|
+CONFIG_BLK_DEV_RAM_COUNT=1
|
|
+CONFIG_BLK_DEV_RAM_SIZE=4096
|
|
+# CONFIG_CDROM_PKTCDVD is not set
|
|
+CONFIG_ATA_OVER_ETH=m
|
|
+CONFIG_BLK_DEV_RBD=m
|
|
+
|
|
+#
|
|
+# NVME Support
|
|
+#
|
|
+CONFIG_NVME_CORE=m
|
|
+CONFIG_BLK_DEV_NVME=m
|
|
+# CONFIG_NVME_MULTIPATH is not set
|
|
+# CONFIG_NVME_VERBOSE_ERRORS is not set
|
|
+# CONFIG_NVME_HWMON is not set
|
|
+# CONFIG_NVME_FC is not set
|
|
+# CONFIG_NVME_TCP is not set
|
|
+# CONFIG_NVME_TARGET is not set
|
|
+# end of NVME Support
|
|
+
|
|
+#
|
|
+# Misc devices
|
|
+#
|
|
+# CONFIG_AD525X_DPOT is not set
|
|
+# CONFIG_DUMMY_IRQ is not set
|
|
+# CONFIG_PHANTOM 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_BH1770 is not set
|
|
+# CONFIG_SENSORS_APDS990X is not set
|
|
+# CONFIG_HMC6352 is not set
|
|
+# CONFIG_DS1682 is not set
|
|
+# CONFIG_LATTICE_ECP3_CONFIG is not set
|
|
+CONFIG_SRAM=y
|
|
+# CONFIG_DW_XDATA_PCIE is not set
|
|
+# CONFIG_PCI_ENDPOINT_TEST is not set
|
|
+# CONFIG_XILINX_SDFEC is not set
|
|
+# CONFIG_HISI_HIKEY_USB is not set
|
|
+# CONFIG_OPEN_DICE 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=y
|
|
+# CONFIG_EEPROM_93XX46 is not set
|
|
+# CONFIG_EEPROM_IDT_89HPESX is not set
|
|
+# CONFIG_EEPROM_EE1004 is not set
|
|
+# end of EEPROM support
|
|
+
|
|
+# CONFIG_CB710_CORE is not set
|
|
+
|
|
+#
|
|
+# Texas Instruments shared transport line discipline
|
|
+#
|
|
+# CONFIG_TI_ST is not set
|
|
+# end of Texas Instruments shared transport line discipline
|
|
+
|
|
+# CONFIG_SENSORS_LIS3_SPI is not set
|
|
+# CONFIG_SENSORS_LIS3_I2C is not set
|
|
+# CONFIG_ALTERA_STAPL is not set
|
|
+# CONFIG_GENWQE is not set
|
|
+# CONFIG_ECHO is not set
|
|
+# CONFIG_BCM_VK is not set
|
|
+# CONFIG_MISC_ALCOR_PCI is not set
|
|
+# CONFIG_MISC_RTSX_PCI is not set
|
|
+# CONFIG_MISC_RTSX_USB is not set
|
|
+# CONFIG_HABANA_AI is not set
|
|
+# CONFIG_UACCE is not set
|
|
+# CONFIG_PVPANIC is not set
|
|
+# end of Misc devices
|
|
+
|
|
+#
|
|
+# SCSI device support
|
|
+#
|
|
+CONFIG_SCSI_MOD=y
|
|
+CONFIG_RAID_ATTRS=m
|
|
+CONFIG_SCSI_COMMON=y
|
|
+CONFIG_SCSI=y
|
|
+CONFIG_SCSI_DMA=y
|
|
+CONFIG_SCSI_PROC_FS=y
|
|
+
|
|
+#
|
|
+# SCSI support type (disk, tape, CD-ROM)
|
|
+#
|
|
+CONFIG_BLK_DEV_SD=y
|
|
+# CONFIG_CHR_DEV_ST is not set
|
|
+CONFIG_BLK_DEV_SR=y
|
|
+# CONFIG_CHR_DEV_SG is not set
|
|
+CONFIG_BLK_DEV_BSG=y
|
|
+# CONFIG_CHR_DEV_SCH is not set
|
|
+# CONFIG_SCSI_CONSTANTS is not set
|
|
+# CONFIG_SCSI_LOGGING is not set
|
|
+CONFIG_SCSI_SCAN_ASYNC=y
|
|
+
|
|
+#
|
|
+# SCSI Transports
|
|
+#
|
|
+CONFIG_SCSI_SPI_ATTRS=y
|
|
+# CONFIG_SCSI_FC_ATTRS is not set
|
|
+# CONFIG_SCSI_ISCSI_ATTRS is not set
|
|
+CONFIG_SCSI_SAS_ATTRS=m
|
|
+# CONFIG_SCSI_SAS_LIBSAS is not set
|
|
+# CONFIG_SCSI_SRP_ATTRS is not set
|
|
+# end of SCSI Transports
|
|
+
|
|
+CONFIG_SCSI_LOWLEVEL=y
|
|
+# CONFIG_ISCSI_TCP is not set
|
|
+# CONFIG_ISCSI_BOOT_SYSFS is not set
|
|
+# CONFIG_SCSI_CXGB3_ISCSI is not set
|
|
+# CONFIG_SCSI_CXGB4_ISCSI is not set
|
|
+# CONFIG_SCSI_BNX2_ISCSI is not set
|
|
+# CONFIG_BE2ISCSI is not set
|
|
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
|
|
+# CONFIG_SCSI_HPSA is not set
|
|
+# CONFIG_SCSI_3W_9XXX is not set
|
|
+# CONFIG_SCSI_3W_SAS is not set
|
|
+# CONFIG_SCSI_ACARD is not set
|
|
+# CONFIG_SCSI_AACRAID is not set
|
|
+# CONFIG_SCSI_AIC7XXX is not set
|
|
+# CONFIG_SCSI_AIC79XX is not set
|
|
+# CONFIG_SCSI_AIC94XX is not set
|
|
+# CONFIG_SCSI_HISI_SAS 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=m
|
|
+CONFIG_SCSI_MPT3SAS=m
|
|
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
|
|
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
|
|
+CONFIG_SCSI_MPT2SAS=m
|
|
+# CONFIG_SCSI_MPI3MR is not set
|
|
+# CONFIG_SCSI_SMARTPQI is not set
|
|
+# CONFIG_SCSI_UFSHCD is not set
|
|
+# CONFIG_SCSI_HPTIOP is not set
|
|
+# CONFIG_SCSI_MYRB is not set
|
|
+# CONFIG_SCSI_MYRS is not set
|
|
+# CONFIG_SCSI_SNIC is not set
|
|
+# CONFIG_SCSI_DMX3191D is not set
|
|
+# CONFIG_SCSI_FDOMAIN_PCI is not set
|
|
+# CONFIG_SCSI_IPS is not set
|
|
+# CONFIG_SCSI_INITIO is not set
|
|
+# CONFIG_SCSI_INIA100 is not set
|
|
+# CONFIG_SCSI_STEX is not set
|
|
+# CONFIG_SCSI_SYM53C8XX_2 is not set
|
|
+# CONFIG_SCSI_IPR is not set
|
|
+# CONFIG_SCSI_QLOGIC_1280 is not set
|
|
+# CONFIG_SCSI_QLA_ISCSI is not set
|
|
+# CONFIG_SCSI_DC395x is not set
|
|
+# CONFIG_SCSI_AM53C974 is not set
|
|
+# CONFIG_SCSI_WD719X is not set
|
|
+# CONFIG_SCSI_DEBUG is not set
|
|
+# CONFIG_SCSI_PMCRAID is not set
|
|
+# CONFIG_SCSI_PM8001 is not set
|
|
+# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
|
|
+# CONFIG_SCSI_DH is not set
|
|
+# end of SCSI device support
|
|
+
|
|
+CONFIG_HAVE_PATA_PLATFORM=y
|
|
+CONFIG_ATA=y
|
|
+CONFIG_SATA_HOST=y
|
|
+CONFIG_ATA_VERBOSE_ERROR=y
|
|
+CONFIG_ATA_FORCE=y
|
|
+CONFIG_SATA_PMP=y
|
|
+
|
|
+#
|
|
+# Controllers with non-SFF native interface
|
|
+#
|
|
+CONFIG_SATA_AHCI=y
|
|
+CONFIG_SATA_MOBILE_LPM_POLICY=0
|
|
+CONFIG_SATA_AHCI_PLATFORM=y
|
|
+# 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_DWC is not set
|
|
+CONFIG_SATA_MV=m
|
|
+CONFIG_SATA_NV=m
|
|
+CONFIG_SATA_PROMISE=m
|
|
+CONFIG_SATA_SIL=m
|
|
+# 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_PCMCIA is not set
|
|
+# CONFIG_PATA_PLATFORM is not set
|
|
+# CONFIG_PATA_RZ1000 is not set
|
|
+
|
|
+#
|
|
+# Generic fallback / legacy drivers
|
|
+#
|
|
+# CONFIG_ATA_GENERIC is not set
|
|
+# CONFIG_PATA_LEGACY is not set
|
|
+CONFIG_MD=y
|
|
+CONFIG_BLK_DEV_MD=y
|
|
+CONFIG_MD_AUTODETECT=y
|
|
+CONFIG_MD_LINEAR=m
|
|
+CONFIG_MD_RAID0=y
|
|
+CONFIG_MD_RAID1=y
|
|
+CONFIG_MD_RAID10=y
|
|
+CONFIG_MD_RAID456=y
|
|
+# CONFIG_MD_MULTIPATH is not set
|
|
+# CONFIG_MD_FAULTY is not set
|
|
+CONFIG_BCACHE=m
|
|
+# CONFIG_BCACHE_DEBUG is not set
|
|
+# CONFIG_BCACHE_CLOSURES_DEBUG is not set
|
|
+# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
|
|
+CONFIG_BLK_DEV_DM_BUILTIN=y
|
|
+CONFIG_BLK_DEV_DM=y
|
|
+# CONFIG_DM_DEBUG is not set
|
|
+# CONFIG_DM_UNSTRIPED is not set
|
|
+CONFIG_DM_CRYPT=m
|
|
+# CONFIG_DM_SNAPSHOT is not set
|
|
+# CONFIG_DM_THIN_PROVISIONING is not set
|
|
+# CONFIG_DM_CACHE is not set
|
|
+# CONFIG_DM_WRITECACHE is not set
|
|
+# CONFIG_DM_EBS is not set
|
|
+# CONFIG_DM_ERA is not set
|
|
+# CONFIG_DM_CLONE is not set
|
|
+# CONFIG_DM_MIRROR is not set
|
|
+CONFIG_DM_RAID=y
|
|
+# CONFIG_DM_ZERO is not set
|
|
+# CONFIG_DM_MULTIPATH is not set
|
|
+# CONFIG_DM_DELAY is not set
|
|
+# CONFIG_DM_DUST is not set
|
|
+# CONFIG_DM_INIT 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_DM_INTEGRITY 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
|
|
+# end of IEEE 1394 (FireWire) support
|
|
+
|
|
+CONFIG_NETDEVICES=y
|
|
+CONFIG_MII=y
|
|
+CONFIG_NET_CORE=y
|
|
+# CONFIG_BONDING is not set
|
|
+# CONFIG_DUMMY is not set
|
|
+# CONFIG_WIREGUARD is not set
|
|
+# CONFIG_EQUALIZER is not set
|
|
+# CONFIG_NET_FC is not set
|
|
+# CONFIG_NET_TEAM is not set
|
|
+CONFIG_MACVLAN=y
|
|
+# CONFIG_MACVTAP is not set
|
|
+CONFIG_IPVLAN_L3S=y
|
|
+CONFIG_IPVLAN=y
|
|
+# CONFIG_IPVTAP is not set
|
|
+CONFIG_VXLAN=m
|
|
+# CONFIG_GENEVE is not set
|
|
+# CONFIG_BAREUDP is not set
|
|
+# CONFIG_GTP is not set
|
|
+# CONFIG_AMT is not set
|
|
+# CONFIG_MACSEC is not set
|
|
+# CONFIG_NETCONSOLE is not set
|
|
+CONFIG_TUN=m
|
|
+# CONFIG_TUN_VNET_CROSS_LE is not set
|
|
+CONFIG_VETH=y
|
|
+# CONFIG_NLMON is not set
|
|
+# CONFIG_NET_VRF is not set
|
|
+# CONFIG_ARCNET is not set
|
|
+CONFIG_ETHERNET=y
|
|
+CONFIG_MDIO=y
|
|
+# CONFIG_NET_VENDOR_3COM is not set
|
|
+# CONFIG_NET_VENDOR_ADAPTEC is not set
|
|
+# CONFIG_NET_VENDOR_AGERE is not set
|
|
+CONFIG_NET_VENDOR_ALACRITECH=y
|
|
+# CONFIG_SLICOSS is not set
|
|
+# CONFIG_NET_VENDOR_ALTEON is not set
|
|
+# CONFIG_ALTERA_TSE is not set
|
|
+CONFIG_NET_VENDOR_AMAZON=y
|
|
+# CONFIG_ENA_ETHERNET is not set
|
|
+# CONFIG_NET_VENDOR_AMD is not set
|
|
+CONFIG_NET_VENDOR_AQUANTIA=y
|
|
+# CONFIG_AQTION is not set
|
|
+# CONFIG_NET_VENDOR_ARC is not set
|
|
+CONFIG_NET_VENDOR_ASIX=y
|
|
+# CONFIG_SPI_AX88796C is not set
|
|
+# CONFIG_NET_VENDOR_ATHEROS is not set
|
|
+# CONFIG_NET_VENDOR_BROADCOM is not set
|
|
+# CONFIG_NET_VENDOR_BROCADE is not set
|
|
+CONFIG_NET_VENDOR_CADENCE=y
|
|
+# CONFIG_MACB is not set
|
|
+# CONFIG_NET_VENDOR_CAVIUM is not set
|
|
+# CONFIG_NET_VENDOR_CHELSIO is not set
|
|
+# CONFIG_NET_VENDOR_CISCO is not set
|
|
+CONFIG_NET_VENDOR_CORTINA=y
|
|
+# CONFIG_GEMINI_ETHERNET is not set
|
|
+CONFIG_NET_VENDOR_DAVICOM=y
|
|
+# CONFIG_DM9051 is not set
|
|
+# CONFIG_DNET is not set
|
|
+# CONFIG_NET_VENDOR_DEC is not set
|
|
+# CONFIG_NET_VENDOR_DLINK is not set
|
|
+# CONFIG_NET_VENDOR_EMULEX is not set
|
|
+CONFIG_NET_VENDOR_ENGLEDER=y
|
|
+# CONFIG_TSNEP is not set
|
|
+# CONFIG_NET_VENDOR_EZCHIP is not set
|
|
+CONFIG_NET_VENDOR_FUJITSU=y
|
|
+# CONFIG_PCMCIA_FMVJ18X is not set
|
|
+CONFIG_NET_VENDOR_FUNGIBLE=y
|
|
+# CONFIG_FUN_ETH is not set
|
|
+CONFIG_NET_VENDOR_GOOGLE=y
|
|
+# CONFIG_GVE is not set
|
|
+# CONFIG_NET_VENDOR_HISILICON is not set
|
|
+CONFIG_NET_VENDOR_HUAWEI=y
|
|
+# CONFIG_HINIC is not set
|
|
+CONFIG_NET_VENDOR_I825XX=y
|
|
+CONFIG_NET_VENDOR_INTEL=y
|
|
+CONFIG_E100=y
|
|
+CONFIG_E1000=y
|
|
+CONFIG_E1000E=y
|
|
+CONFIG_IGB=y
|
|
+CONFIG_IGB_HWMON=y
|
|
+# CONFIG_IGBVF is not set
|
|
+# CONFIG_IXGB is not set
|
|
+CONFIG_IXGBE=y
|
|
+CONFIG_IXGBE_HWMON=y
|
|
+# CONFIG_IXGBEVF is not set
|
|
+# CONFIG_I40E is not set
|
|
+# CONFIG_I40EVF is not set
|
|
+# CONFIG_ICE is not set
|
|
+# CONFIG_FM10K is not set
|
|
+# CONFIG_IGC is not set
|
|
+CONFIG_NET_VENDOR_MICROSOFT=y
|
|
+# CONFIG_JME is not set
|
|
+CONFIG_NET_VENDOR_LITEX=y
|
|
+# CONFIG_LITEX_LITEETH is not set
|
|
+# CONFIG_NET_VENDOR_MARVELL is not set
|
|
+# CONFIG_NET_VENDOR_MELLANOX is not set
|
|
+# CONFIG_NET_VENDOR_MICREL is not set
|
|
+# CONFIG_NET_VENDOR_MICROCHIP is not set
|
|
+CONFIG_NET_VENDOR_MICROSEMI=y
|
|
+# CONFIG_NET_VENDOR_MYRI is not set
|
|
+# CONFIG_FEALNX is not set
|
|
+# CONFIG_NET_VENDOR_NATSEMI is not set
|
|
+CONFIG_NET_VENDOR_NETERION=y
|
|
+# CONFIG_S2IO is not set
|
|
+# CONFIG_VXGE is not set
|
|
+CONFIG_NET_VENDOR_NETRONOME=y
|
|
+# CONFIG_NFP is not set
|
|
+CONFIG_NET_VENDOR_NI=y
|
|
+# CONFIG_NI_XGE_MANAGEMENT_ENET is not set
|
|
+# CONFIG_NET_VENDOR_NVIDIA is not set
|
|
+# CONFIG_NET_VENDOR_OKI is not set
|
|
+# CONFIG_ETHOC is not set
|
|
+CONFIG_NET_VENDOR_PACKET_ENGINES=y
|
|
+# CONFIG_HAMACHI is not set
|
|
+# CONFIG_YELLOWFIN is not set
|
|
+CONFIG_NET_VENDOR_PENSANDO=y
|
|
+# CONFIG_IONIC is not set
|
|
+# CONFIG_NET_VENDOR_QLOGIC is not set
|
|
+# CONFIG_NET_VENDOR_QUALCOMM is not set
|
|
+# CONFIG_NET_VENDOR_RDC is not set
|
|
+# CONFIG_NET_VENDOR_REALTEK is not set
|
|
+# CONFIG_NET_VENDOR_RENESAS is not set
|
|
+# CONFIG_NET_VENDOR_ROCKER is not set
|
|
+# CONFIG_NET_VENDOR_SAMSUNG is not set
|
|
+# CONFIG_NET_VENDOR_SEEQ is not set
|
|
+CONFIG_NET_VENDOR_SOLARFLARE=y
|
|
+# CONFIG_SFC is not set
|
|
+# CONFIG_SFC_FALCON is not set
|
|
+# CONFIG_NET_VENDOR_SILAN is not set
|
|
+# CONFIG_NET_VENDOR_SIS is not set
|
|
+# CONFIG_NET_VENDOR_SMSC is not set
|
|
+CONFIG_NET_VENDOR_SOCIONEXT=y
|
|
+CONFIG_NET_VENDOR_STMICRO=y
|
|
+CONFIG_STMMAC_ETH=y
|
|
+# CONFIG_STMMAC_SELFTESTS is not set
|
|
+CONFIG_STMMAC_PLATFORM=y
|
|
+# CONFIG_DWMAC_DWC_QOS_ETH is not set
|
|
+CONFIG_DWMAC_GENERIC=y
|
|
+CONFIG_DWMAC_ROCKCHIP=y
|
|
+# CONFIG_DWMAC_INTEL_PLAT is not set
|
|
+# CONFIG_DWMAC_LOONGSON is not set
|
|
+# CONFIG_STMMAC_PCI is not set
|
|
+# CONFIG_NET_VENDOR_SUN is not set
|
|
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
|
|
+# CONFIG_NET_VENDOR_TEHUTI is not set
|
|
+# CONFIG_NET_VENDOR_TI is not set
|
|
+CONFIG_NET_VENDOR_VERTEXCOM=y
|
|
+# CONFIG_MSE102X is not set
|
|
+# CONFIG_NET_VENDOR_VIA is not set
|
|
+# CONFIG_NET_VENDOR_WIZNET is not set
|
|
+CONFIG_NET_VENDOR_XILINX=y
|
|
+# CONFIG_XILINX_EMACLITE is not set
|
|
+# CONFIG_XILINX_AXI_EMAC is not set
|
|
+# CONFIG_XILINX_LL_TEMAC is not set
|
|
+CONFIG_NET_VENDOR_XIRCOM=y
|
|
+# CONFIG_PCMCIA_XIRC2PS is not set
|
|
+# CONFIG_FDDI is not set
|
|
+# CONFIG_HIPPI is not set
|
|
+CONFIG_PHYLINK=y
|
|
+CONFIG_PHYLIB=y
|
|
+CONFIG_SWPHY=y
|
|
+# CONFIG_LED_TRIGGER_PHY is not set
|
|
+CONFIG_FIXED_PHY=y
|
|
+# CONFIG_SFP is not set
|
|
+
|
|
+#
|
|
+# MII PHY device drivers
|
|
+#
|
|
+# CONFIG_AMD_PHY is not set
|
|
+# CONFIG_ADIN_PHY is not set
|
|
+# CONFIG_AQUANTIA_PHY is not set
|
|
+CONFIG_AX88796B_PHY=y
|
|
+# CONFIG_BROADCOM_PHY is not set
|
|
+# CONFIG_BCM54140_PHY is not set
|
|
+# CONFIG_BCM7XXX_PHY is not set
|
|
+# CONFIG_BCM84881_PHY is not set
|
|
+# CONFIG_BCM87XX_PHY is not set
|
|
+# CONFIG_CICADA_PHY is not set
|
|
+# CONFIG_CORTINA_PHY is not set
|
|
+# CONFIG_DAVICOM_PHY is not set
|
|
+# CONFIG_ICPLUS_PHY is not set
|
|
+# CONFIG_LXT_PHY is not set
|
|
+# CONFIG_INTEL_XWAY_PHY is not set
|
|
+# CONFIG_LSI_ET1011C_PHY is not set
|
|
+# CONFIG_MARVELL_PHY is not set
|
|
+# CONFIG_MARVELL_10G_PHY is not set
|
|
+# CONFIG_MARVELL_88X2222_PHY is not set
|
|
+# CONFIG_MAXLINEAR_GPHY is not set
|
|
+# CONFIG_MEDIATEK_GE_PHY is not set
|
|
+# CONFIG_MICREL_PHY is not set
|
|
+# CONFIG_MICROCHIP_PHY is not set
|
|
+# CONFIG_MICROCHIP_T1_PHY is not set
|
|
+# CONFIG_MICROSEMI_PHY is not set
|
|
+# CONFIG_MOTORCOMM_PHY is not set
|
|
+# CONFIG_NATIONAL_PHY is not set
|
|
+# CONFIG_NXP_C45_TJA11XX_PHY is not set
|
|
+# CONFIG_NXP_TJA11XX_PHY is not set
|
|
+# CONFIG_AT803X_PHY is not set
|
|
+# CONFIG_QSEMI_PHY is not set
|
|
+# CONFIG_REALTEK_PHY is not set
|
|
+# CONFIG_RENESAS_PHY is not set
|
|
+CONFIG_ROCKCHIP_PHY=y
|
|
+# CONFIG_SMSC_PHY is not set
|
|
+# CONFIG_STE10XP is not set
|
|
+# CONFIG_TERANETICS_PHY is not set
|
|
+# CONFIG_DP83822_PHY is not set
|
|
+# CONFIG_DP83TC811_PHY is not set
|
|
+# CONFIG_DP83848_PHY is not set
|
|
+# CONFIG_DP83867_PHY is not set
|
|
+# CONFIG_DP83869_PHY is not set
|
|
+# CONFIG_VITESSE_PHY is not set
|
|
+# CONFIG_XILINX_GMII2RGMII is not set
|
|
+# CONFIG_MICREL_KS8995MA is not set
|
|
+CONFIG_MDIO_DEVICE=y
|
|
+CONFIG_MDIO_BUS=y
|
|
+CONFIG_FWNODE_MDIO=y
|
|
+CONFIG_OF_MDIO=y
|
|
+CONFIG_MDIO_DEVRES=y
|
|
+# CONFIG_MDIO_BITBANG is not set
|
|
+# CONFIG_MDIO_BCM_UNIMAC is not set
|
|
+# CONFIG_MDIO_HISI_FEMAC is not set
|
|
+# CONFIG_MDIO_MVUSB is not set
|
|
+# CONFIG_MDIO_MSCC_MIIM is not set
|
|
+# CONFIG_MDIO_OCTEON is not set
|
|
+# CONFIG_MDIO_IPQ4019 is not set
|
|
+# CONFIG_MDIO_IPQ8064 is not set
|
|
+# CONFIG_MDIO_THUNDER is not set
|
|
+
|
|
+#
|
|
+# MDIO Multiplexers
|
|
+#
|
|
+# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
|
+# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
|
|
+# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
|
+
|
|
+#
|
|
+# PCS device drivers
|
|
+#
|
|
+CONFIG_PCS_XPCS=y
|
|
+# end of PCS device drivers
|
|
+
|
|
+CONFIG_PPP=m
|
|
+CONFIG_PPP_BSDCOMP=m
|
|
+CONFIG_PPP_DEFLATE=m
|
|
+# CONFIG_PPP_FILTER is not set
|
|
+# CONFIG_PPP_MPPE is not set
|
|
+# CONFIG_PPP_MULTILINK is not set
|
|
+CONFIG_PPPOE=m
|
|
+# CONFIG_PPTP is not set
|
|
+CONFIG_PPP_ASYNC=m
|
|
+CONFIG_PPP_SYNC_TTY=m
|
|
+# CONFIG_SLIP is not set
|
|
+CONFIG_SLHC=m
|
|
+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=y
|
|
+CONFIG_USB_RTL8152=y
|
|
+# 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=y
|
|
+# CONFIG_USB_NET_DM9601 is not set
|
|
+# 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 is not set
|
|
+# CONFIG_USB_NET_PLUSB is not set
|
|
+# CONFIG_USB_NET_MCS7830 is not set
|
|
+CONFIG_USB_NET_RNDIS_HOST=y
|
|
+# CONFIG_USB_NET_CDC_SUBSET is not set
|
|
+# CONFIG_USB_NET_ZAURUS is not set
|
|
+# 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_USB_NET_AQC111 is not set
|
|
+# CONFIG_USB_RTL8153_ECM is not set
|
|
+CONFIG_WLAN=y
|
|
+CONFIG_WLAN_VENDOR_ADMTEK=y
|
|
+# CONFIG_ADM8211 is not set
|
|
+CONFIG_ATH_COMMON=y
|
|
+CONFIG_WLAN_VENDOR_ATH=y
|
|
+# CONFIG_ATH_DEBUG is not set
|
|
+CONFIG_ATH5K=y
|
|
+# CONFIG_ATH5K_DEBUG is not set
|
|
+CONFIG_ATH5K_PCI=y
|
|
+CONFIG_ATH9K_HW=y
|
|
+CONFIG_ATH9K_COMMON=y
|
|
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
|
|
+CONFIG_ATH9K=y
|
|
+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_PCI_NO_EEPROM is not set
|
|
+# CONFIG_ATH9K_HTC is not set
|
|
+# CONFIG_ATH9K_HWRNG is not set
|
|
+# CONFIG_CARL9170 is not set
|
|
+CONFIG_ATH6KL=y
|
|
+# CONFIG_ATH6KL_SDIO is not set
|
|
+CONFIG_ATH6KL_USB=y
|
|
+# CONFIG_ATH6KL_DEBUG is not set
|
|
+CONFIG_AR5523=y
|
|
+# CONFIG_WIL6210 is not set
|
|
+CONFIG_ATH10K=y
|
|
+CONFIG_ATH10K_CE=y
|
|
+# CONFIG_ATH10K_PCI is not set
|
|
+# CONFIG_ATH10K_SDIO is not set
|
|
+# CONFIG_ATH10K_USB is not set
|
|
+# CONFIG_ATH10K_DEBUG is not set
|
|
+# CONFIG_ATH10K_DEBUGFS is not set
|
|
+CONFIG_WCN36XX=y
|
|
+# CONFIG_WCN36XX_DEBUGFS is not set
|
|
+CONFIG_WLAN_VENDOR_ATMEL=y
|
|
+# CONFIG_ATMEL is not set
|
|
+CONFIG_AT76C50X_USB=y
|
|
+CONFIG_WLAN_VENDOR_BROADCOM=y
|
|
+CONFIG_B43=y
|
|
+CONFIG_B43_BCMA=y
|
|
+CONFIG_B43_SSB=y
|
|
+CONFIG_B43_BUSES_BCMA_AND_SSB=y
|
|
+# CONFIG_B43_BUSES_BCMA is not set
|
|
+# CONFIG_B43_BUSES_SSB is not set
|
|
+CONFIG_B43_PCI_AUTOSELECT=y
|
|
+CONFIG_B43_PCICORE_AUTOSELECT=y
|
|
+# CONFIG_B43_SDIO is not set
|
|
+CONFIG_B43_BCMA_PIO=y
|
|
+CONFIG_B43_PIO=y
|
|
+CONFIG_B43_PHY_G=y
|
|
+CONFIG_B43_PHY_N=y
|
|
+CONFIG_B43_PHY_LP=y
|
|
+CONFIG_B43_PHY_HT=y
|
|
+CONFIG_B43_LEDS=y
|
|
+CONFIG_B43_HWRNG=y
|
|
+# CONFIG_B43_DEBUG is not set
|
|
+# CONFIG_B43LEGACY is not set
|
|
+CONFIG_BRCMUTIL=y
|
|
+# CONFIG_BRCMSMAC is not set
|
|
+CONFIG_BRCMFMAC=y
|
|
+CONFIG_BRCMFMAC_PROTO_BCDC=y
|
|
+CONFIG_BRCMFMAC_PROTO_MSGBUF=y
|
|
+# CONFIG_BRCMFMAC_SDIO is not set
|
|
+CONFIG_BRCMFMAC_USB=y
|
|
+CONFIG_BRCMFMAC_PCIE=y
|
|
+# CONFIG_BRCM_TRACING is not set
|
|
+# CONFIG_BRCMDBG is not set
|
|
+CONFIG_WLAN_VENDOR_CISCO=y
|
|
+# CONFIG_AIRO_CS is not set
|
|
+CONFIG_WLAN_VENDOR_INTEL=y
|
|
+# CONFIG_IPW2100 is not set
|
|
+# CONFIG_IPW2200 is not set
|
|
+# CONFIG_IWL4965 is not set
|
|
+# CONFIG_IWL3945 is not set
|
|
+# CONFIG_IWLWIFI is not set
|
|
+CONFIG_WLAN_VENDOR_INTERSIL=y
|
|
+# CONFIG_HOSTAP is not set
|
|
+# CONFIG_HERMES is not set
|
|
+# CONFIG_P54_COMMON is not set
|
|
+CONFIG_WLAN_VENDOR_MARVELL=y
|
|
+CONFIG_LIBERTAS=y
|
|
+CONFIG_LIBERTAS_USB=y
|
|
+# CONFIG_LIBERTAS_CS is not set
|
|
+# CONFIG_LIBERTAS_SDIO is not set
|
|
+# CONFIG_LIBERTAS_SPI is not set
|
|
+# CONFIG_LIBERTAS_DEBUG is not set
|
|
+# CONFIG_LIBERTAS_MESH is not set
|
|
+CONFIG_LIBERTAS_THINFIRM=y
|
|
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
|
|
+# CONFIG_LIBERTAS_THINFIRM_USB is not set
|
|
+CONFIG_MWIFIEX=y
|
|
+CONFIG_MWIFIEX_SDIO=y
|
|
+# CONFIG_MWIFIEX_PCIE is not set
|
|
+CONFIG_MWIFIEX_USB=y
|
|
+# CONFIG_MWL8K is not set
|
|
+CONFIG_WLAN_VENDOR_MEDIATEK=y
|
|
+CONFIG_MT7601U=y
|
|
+# CONFIG_MT76x0U is not set
|
|
+# CONFIG_MT76x0E is not set
|
|
+# CONFIG_MT76x2E is not set
|
|
+# CONFIG_MT76x2U is not set
|
|
+# CONFIG_MT7603E is not set
|
|
+# CONFIG_MT7615E is not set
|
|
+# CONFIG_MT7663U is not set
|
|
+# CONFIG_MT7663S is not set
|
|
+# CONFIG_MT7915E is not set
|
|
+# CONFIG_MT7921E is not set
|
|
+# CONFIG_MT7921S is not set
|
|
+# CONFIG_MT7921U is not set
|
|
+CONFIG_WLAN_VENDOR_MICROCHIP=y
|
|
+# CONFIG_WILC1000_SDIO is not set
|
|
+# CONFIG_WILC1000_SPI is not set
|
|
+CONFIG_WLAN_VENDOR_RALINK=y
|
|
+CONFIG_RT2X00=y
|
|
+# CONFIG_RT2400PCI is not set
|
|
+# CONFIG_RT2500PCI is not set
|
|
+# CONFIG_RT61PCI is not set
|
|
+# CONFIG_RT2800PCI is not set
|
|
+CONFIG_RT2500USB=y
|
|
+CONFIG_RT73USB=y
|
|
+CONFIG_RT2800USB=y
|
|
+CONFIG_RT2800USB_RT33XX=y
|
|
+CONFIG_RT2800USB_RT35XX=y
|
|
+CONFIG_RT2800USB_RT3573=y
|
|
+CONFIG_RT2800USB_RT53XX=y
|
|
+CONFIG_RT2800USB_RT55XX=y
|
|
+CONFIG_RT2800USB_UNKNOWN=y
|
|
+CONFIG_RT2800_LIB=y
|
|
+CONFIG_RT2X00_LIB_USB=y
|
|
+CONFIG_RT2X00_LIB=y
|
|
+CONFIG_RT2X00_LIB_FIRMWARE=y
|
|
+CONFIG_RT2X00_LIB_CRYPTO=y
|
|
+CONFIG_RT2X00_LIB_LEDS=y
|
|
+# CONFIG_RT2X00_LIB_DEBUGFS is not set
|
|
+# CONFIG_RT2X00_DEBUG is not set
|
|
+CONFIG_WLAN_VENDOR_REALTEK=y
|
|
+CONFIG_RTL8180=m
|
|
+CONFIG_RTL8187=y
|
|
+CONFIG_RTL8187_LEDS=y
|
|
+CONFIG_RTL_CARDS=y
|
|
+CONFIG_RTL8192CE=m
|
|
+CONFIG_RTL8192SE=m
|
|
+CONFIG_RTL8192DE=m
|
|
+CONFIG_RTL8723AE=m
|
|
+CONFIG_RTL8723BE=m
|
|
+CONFIG_RTL8188EE=m
|
|
+CONFIG_RTL8192EE=m
|
|
+CONFIG_RTL8821AE=m
|
|
+CONFIG_RTL8192CU=m
|
|
+CONFIG_RTLWIFI=m
|
|
+CONFIG_RTLWIFI_PCI=m
|
|
+CONFIG_RTLWIFI_USB=m
|
|
+CONFIG_RTLWIFI_DEBUG=y
|
|
+CONFIG_RTL8192C_COMMON=m
|
|
+CONFIG_RTL8723_COMMON=m
|
|
+CONFIG_RTLBTCOEXIST=m
|
|
+CONFIG_RTL8XXXU=y
|
|
+CONFIG_RTL8XXXU_UNTESTED=y
|
|
+# CONFIG_RTW88 is not set
|
|
+# CONFIG_RTW89 is not set
|
|
+CONFIG_WLAN_VENDOR_RSI=y
|
|
+# CONFIG_RSI_91X is not set
|
|
+CONFIG_WLAN_VENDOR_ST=y
|
|
+# CONFIG_CW1200 is not set
|
|
+CONFIG_WLAN_VENDOR_TI=y
|
|
+# CONFIG_WL1251 is not set
|
|
+# CONFIG_WL12XX is not set
|
|
+# CONFIG_WL18XX is not set
|
|
+# CONFIG_WLCORE is not set
|
|
+CONFIG_WLAN_VENDOR_ZYDAS=y
|
|
+# CONFIG_USB_ZD1201 is not set
|
|
+CONFIG_ZD1211RW=y
|
|
+# CONFIG_ZD1211RW_DEBUG is not set
|
|
+CONFIG_WLAN_VENDOR_QUANTENNA=y
|
|
+# CONFIG_QTNFMAC_PCIE is not set
|
|
+# CONFIG_PCMCIA_RAYCS is not set
|
|
+# CONFIG_PCMCIA_WL3501 is not set
|
|
+# CONFIG_MAC80211_HWSIM is not set
|
|
+CONFIG_USB_NET_RNDIS_WLAN=y
|
|
+# CONFIG_VIRT_WIFI is not set
|
|
+# CONFIG_WAN is not set
|
|
+
|
|
+#
|
|
+# Wireless WAN
|
|
+#
|
|
+# CONFIG_WWAN is not set
|
|
+# end of Wireless WAN
|
|
+
|
|
+# CONFIG_VMXNET3 is not set
|
|
+# CONFIG_NETDEVSIM is not set
|
|
+# CONFIG_NET_FAILOVER is not set
|
|
+CONFIG_ISDN=y
|
|
+CONFIG_ISDN_CAPI=y
|
|
+# CONFIG_MISDN is not set
|
|
+
|
|
+#
|
|
+# Input device support
|
|
+#
|
|
+CONFIG_INPUT=y
|
|
+CONFIG_INPUT_LEDS=y
|
|
+CONFIG_INPUT_FF_MEMLESS=y
|
|
+CONFIG_INPUT_POLLDEV=y
|
|
+# CONFIG_INPUT_SPARSEKMAP is not set
|
|
+CONFIG_INPUT_MATRIXKMAP=y
|
|
+
|
|
+#
|
|
+# Userland interfaces
|
|
+#
|
|
+# CONFIG_INPUT_MOUSEDEV is not set
|
|
+CONFIG_INPUT_JOYDEV=y
|
|
+CONFIG_INPUT_EVDEV=y
|
|
+# CONFIG_INPUT_EVBUG is not set
|
|
+
|
|
+#
|
|
+# Input Device Drivers
|
|
+#
|
|
+CONFIG_INPUT_KEYBOARD=y
|
|
+CONFIG_KEYBOARD_ADC=y
|
|
+# CONFIG_KEYBOARD_ADP5588 is not set
|
|
+# CONFIG_KEYBOARD_ADP5589 is not set
|
|
+# CONFIG_KEYBOARD_ATKBD is not set
|
|
+# CONFIG_KEYBOARD_QT1050 is not set
|
|
+# CONFIG_KEYBOARD_QT1070 is not set
|
|
+# CONFIG_KEYBOARD_QT2160 is not set
|
|
+# CONFIG_KEYBOARD_DLINK_DIR685 is not set
|
|
+# CONFIG_KEYBOARD_LKKBD is not set
|
|
+CONFIG_KEYBOARD_GPIO=y
|
|
+CONFIG_KEYBOARD_GPIO_POLLED=y
|
|
+# 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_TM2_TOUCHKEY is not set
|
|
+# CONFIG_KEYBOARD_XTKBD is not set
|
|
+# CONFIG_KEYBOARD_CAP11XX is not set
|
|
+# CONFIG_KEYBOARD_BCM is not set
|
|
+# CONFIG_KEYBOARD_CYPRESS_SF is not set
|
|
+# CONFIG_INPUT_MOUSE is not set
|
|
+CONFIG_INPUT_JOYSTICK=y
|
|
+CONFIG_JOYSTICK_ANALOG=y
|
|
+CONFIG_JOYSTICK_A3D=y
|
|
+CONFIG_JOYSTICK_ADC=y
|
|
+CONFIG_JOYSTICK_ADI=y
|
|
+CONFIG_JOYSTICK_COBRA=y
|
|
+CONFIG_JOYSTICK_GF2K=y
|
|
+CONFIG_JOYSTICK_GRIP=y
|
|
+CONFIG_JOYSTICK_GRIP_MP=y
|
|
+CONFIG_JOYSTICK_GUILLEMOT=y
|
|
+CONFIG_JOYSTICK_INTERACT=y
|
|
+CONFIG_JOYSTICK_SIDEWINDER=y
|
|
+CONFIG_JOYSTICK_TMDC=y
|
|
+CONFIG_JOYSTICK_IFORCE=y
|
|
+CONFIG_JOYSTICK_IFORCE_USB=y
|
|
+# CONFIG_JOYSTICK_IFORCE_232 is not set
|
|
+CONFIG_JOYSTICK_WARRIOR=y
|
|
+CONFIG_JOYSTICK_MAGELLAN=y
|
|
+CONFIG_JOYSTICK_SPACEORB=y
|
|
+CONFIG_JOYSTICK_SPACEBALL=y
|
|
+CONFIG_JOYSTICK_STINGER=y
|
|
+CONFIG_JOYSTICK_TWIDJOY=y
|
|
+CONFIG_JOYSTICK_ZHENHUA=y
|
|
+CONFIG_JOYSTICK_AS5011=y
|
|
+CONFIG_JOYSTICK_JOYDUMP=y
|
|
+CONFIG_JOYSTICK_XPAD=y
|
|
+CONFIG_JOYSTICK_XPAD_FF=y
|
|
+# CONFIG_JOYSTICK_XPAD_LEDS is not set
|
|
+# CONFIG_JOYSTICK_PSXPAD_SPI is not set
|
|
+# CONFIG_JOYSTICK_PXRC is not set
|
|
+# CONFIG_JOYSTICK_QWIIC is not set
|
|
+# CONFIG_JOYSTICK_FSIA6B is not set
|
|
+CONFIG_JOYSTICK_SINGLEADCJOY=y
|
|
+CONFIG_INPUT_TABLET=y
|
|
+# CONFIG_TABLET_USB_ACECAD is not set
|
|
+# CONFIG_TABLET_USB_AIPTEK is not set
|
|
+# CONFIG_TABLET_USB_HANWANG is not set
|
|
+# CONFIG_TABLET_USB_KBTAB is not set
|
|
+# CONFIG_TABLET_USB_PEGASUS is not set
|
|
+# CONFIG_TABLET_SERIAL_WACOM4 is not set
|
|
+CONFIG_INPUT_TOUCHSCREEN=y
|
|
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
|
|
+# CONFIG_TOUCHSCREEN_AD7877 is not set
|
|
+# CONFIG_TOUCHSCREEN_AD7879 is not set
|
|
+# CONFIG_TOUCHSCREEN_ADC is not set
|
|
+# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
|
|
+CONFIG_TOUCHSCREEN_ATMEL_MXT=y
|
|
+# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set
|
|
+# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
|
|
+# CONFIG_TOUCHSCREEN_BU21013 is not set
|
|
+# CONFIG_TOUCHSCREEN_BU21029 is not set
|
|
+# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
|
|
+# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set
|
|
+# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
|
|
+# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
|
|
+# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
|
|
+# CONFIG_TOUCHSCREEN_DYNAPRO is not set
|
|
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
|
|
+# CONFIG_TOUCHSCREEN_EETI is not set
|
|
+# CONFIG_TOUCHSCREEN_EGALAX is not set
|
|
+# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
|
|
+# CONFIG_TOUCHSCREEN_EXC3000 is not set
|
|
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
|
|
+CONFIG_TOUCHSCREEN_GOODIX=y
|
|
+# CONFIG_TOUCHSCREEN_HIDEEP is not set
|
|
+# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
|
|
+# CONFIG_TOUCHSCREEN_ILI210X is not set
|
|
+# CONFIG_TOUCHSCREEN_ILITEK is not set
|
|
+# CONFIG_TOUCHSCREEN_S6SY761 is not set
|
|
+# CONFIG_TOUCHSCREEN_GUNZE is not set
|
|
+# CONFIG_TOUCHSCREEN_EKTF2127 is not set
|
|
+# CONFIG_TOUCHSCREEN_ELAN is not set
|
|
+# CONFIG_TOUCHSCREEN_ELO is not set
|
|
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
|
|
+# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
|
|
+# CONFIG_TOUCHSCREEN_MAX11801 is not set
|
|
+# CONFIG_TOUCHSCREEN_MCS5000 is not set
|
|
+# CONFIG_TOUCHSCREEN_MMS114 is not set
|
|
+# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
|
|
+# CONFIG_TOUCHSCREEN_MSG2638 is not set
|
|
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
|
|
+# CONFIG_TOUCHSCREEN_IMAGIS is not set
|
|
+# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
|
|
+# CONFIG_TOUCHSCREEN_INEXIO is not set
|
|
+# CONFIG_TOUCHSCREEN_MK712 is not set
|
|
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
|
|
+# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
|
|
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
|
|
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
|
|
+# CONFIG_TOUCHSCREEN_PIXCIR is not set
|
|
+# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
|
|
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=y
|
|
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
|
|
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
|
|
+CONFIG_TOUCHSCREEN_USB_3M=y
|
|
+CONFIG_TOUCHSCREEN_USB_ITM=y
|
|
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
|
|
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
|
|
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
|
|
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
|
|
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
|
|
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
|
|
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
|
|
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
|
|
+CONFIG_TOUCHSCREEN_USB_ELO=y
|
|
+CONFIG_TOUCHSCREEN_USB_E2I=y
|
|
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
|
|
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
|
|
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
|
|
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
|
|
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
|
|
+# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
|
|
+# CONFIG_TOUCHSCREEN_TSC2004 is not set
|
|
+# CONFIG_TOUCHSCREEN_TSC2005 is not set
|
|
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
|
|
+# CONFIG_TOUCHSCREEN_RM_TS is not set
|
|
+# CONFIG_TOUCHSCREEN_SILEAD is not set
|
|
+# CONFIG_TOUCHSCREEN_SIS_I2C is not set
|
|
+# CONFIG_TOUCHSCREEN_ST1232 is not set
|
|
+# CONFIG_TOUCHSCREEN_STMFTS is not set
|
|
+# CONFIG_TOUCHSCREEN_SUR40 is not set
|
|
+# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
|
|
+# CONFIG_TOUCHSCREEN_SX8654 is not set
|
|
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
|
|
+# CONFIG_TOUCHSCREEN_ZET6223 is not set
|
|
+# CONFIG_TOUCHSCREEN_ZFORCE is not set
|
|
+# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
|
|
+# CONFIG_TOUCHSCREEN_IQS5XX is not set
|
|
+# CONFIG_TOUCHSCREEN_ZINITIX is not set
|
|
+CONFIG_INPUT_MISC=y
|
|
+# CONFIG_INPUT_AD714X is not set
|
|
+# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
|
|
+# CONFIG_INPUT_BMA150 is not set
|
|
+# CONFIG_INPUT_E3X0_BUTTON is not set
|
|
+# CONFIG_INPUT_MMA8450 is not set
|
|
+# CONFIG_INPUT_GPIO_BEEPER is not set
|
|
+# CONFIG_INPUT_GPIO_DECODER is not set
|
|
+# CONFIG_INPUT_GPIO_VIBRA is not set
|
|
+# CONFIG_INPUT_ATI_REMOTE2 is not set
|
|
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
|
|
+# CONFIG_INPUT_KXTJ9 is not set
|
|
+# CONFIG_INPUT_POWERMATE is not set
|
|
+# CONFIG_INPUT_YEALINK is not set
|
|
+# CONFIG_INPUT_CM109 is not set
|
|
+# CONFIG_INPUT_REGULATOR_HAPTIC is not set
|
|
+CONFIG_INPUT_UINPUT=y
|
|
+# CONFIG_INPUT_PCF8574 is not set
|
|
+# CONFIG_INPUT_PWM_BEEPER is not set
|
|
+CONFIG_INPUT_PWM_VIBRA=y
|
|
+CONFIG_INPUT_RK805_PWRKEY=y
|
|
+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
|
|
+# CONFIG_INPUT_DA7280_HAPTICS is not set
|
|
+# CONFIG_INPUT_ADXL34X is not set
|
|
+# CONFIG_INPUT_IMS_PCU is not set
|
|
+# CONFIG_INPUT_IQS269A is not set
|
|
+# CONFIG_INPUT_IQS626A is not set
|
|
+# CONFIG_INPUT_CMA3000 is not set
|
|
+# CONFIG_INPUT_DRV260X_HAPTICS is not set
|
|
+# CONFIG_INPUT_DRV2665_HAPTICS is not set
|
|
+# CONFIG_INPUT_DRV2667_HAPTICS is not set
|
|
+CONFIG_RMI4_CORE=y
|
|
+# CONFIG_RMI4_I2C is not set
|
|
+# CONFIG_RMI4_SPI is not set
|
|
+# CONFIG_RMI4_SMB is not set
|
|
+CONFIG_RMI4_F03=y
|
|
+CONFIG_RMI4_F03_SERIO=y
|
|
+CONFIG_RMI4_2D_SENSOR=y
|
|
+CONFIG_RMI4_F11=y
|
|
+CONFIG_RMI4_F12=y
|
|
+CONFIG_RMI4_F30=y
|
|
+# CONFIG_RMI4_F34 is not set
|
|
+# CONFIG_RMI4_F3A is not set
|
|
+# CONFIG_RMI4_F54 is not set
|
|
+# CONFIG_RMI4_F55 is not set
|
|
+
|
|
+#
|
|
+# Hardware I/O ports
|
|
+#
|
|
+CONFIG_SERIO=y
|
|
+CONFIG_SERIO_SERPORT=m
|
|
+# CONFIG_SERIO_AMBAKMI is not set
|
|
+# CONFIG_SERIO_PCIPS2 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_SERIO_GPIO_PS2 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
|
|
+# end of Hardware I/O ports
|
|
+# end of Input device support
|
|
+
|
|
+#
|
|
+# Character devices
|
|
+#
|
|
+CONFIG_TTY=y
|
|
+CONFIG_VT=y
|
|
+# CONFIG_CONSOLE_TRANSLATIONS is not set
|
|
+CONFIG_VT_CONSOLE=y
|
|
+CONFIG_VT_CONSOLE_SLEEP=y
|
|
+CONFIG_HW_CONSOLE=y
|
|
+CONFIG_VT_HW_CONSOLE_BINDING=y
|
|
+CONFIG_UNIX98_PTYS=y
|
|
+# CONFIG_LEGACY_PTYS is not set
|
|
+CONFIG_LDISC_AUTOLOAD=y
|
|
+
|
|
+#
|
|
+# Serial drivers
|
|
+#
|
|
+CONFIG_SERIAL_EARLYCON=y
|
|
+CONFIG_SERIAL_8250=y
|
|
+CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
|
|
+CONFIG_SERIAL_8250_16550A_VARIANTS=y
|
|
+# CONFIG_SERIAL_8250_FINTEK is not set
|
|
+CONFIG_SERIAL_8250_CONSOLE=y
|
|
+CONFIG_SERIAL_8250_DMA=y
|
|
+# CONFIG_SERIAL_8250_PCI is not set
|
|
+# CONFIG_SERIAL_8250_CS is not set
|
|
+CONFIG_SERIAL_8250_NR_UARTS=5
|
|
+CONFIG_SERIAL_8250_RUNTIME_UARTS=5
|
|
+CONFIG_SERIAL_8250_EXTENDED=y
|
|
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
|
|
+# CONFIG_SERIAL_8250_ASPEED_VUART is not set
|
|
+CONFIG_SERIAL_8250_SHARE_IRQ=y
|
|
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
|
|
+# CONFIG_SERIAL_8250_RSA is not set
|
|
+CONFIG_SERIAL_8250_DWLIB=y
|
|
+CONFIG_SERIAL_8250_FSL=y
|
|
+CONFIG_SERIAL_8250_DW=y
|
|
+# CONFIG_SERIAL_8250_RT288X is not set
|
|
+CONFIG_SERIAL_8250_PERICOM=y
|
|
+CONFIG_SERIAL_OF_PLATFORM=y
|
|
+
|
|
+#
|
|
+# 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_SIFIVE is not set
|
|
+# CONFIG_SERIAL_SCCNXP is not set
|
|
+# CONFIG_SERIAL_SC16IS7XX is not set
|
|
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
|
|
+# CONFIG_SERIAL_ALTERA_UART is not set
|
|
+# CONFIG_SERIAL_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_FSL_LINFLEXUART is not set
|
|
+# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
|
|
+# CONFIG_SERIAL_SPRD is not set
|
|
+# end of Serial drivers
|
|
+
|
|
+CONFIG_SERIAL_MCTRL_GPIO=y
|
|
+# CONFIG_SERIAL_NONSTANDARD is not set
|
|
+# CONFIG_N_GSM is not set
|
|
+# CONFIG_NOZOMI is not set
|
|
+# CONFIG_NULL_TTY is not set
|
|
+# CONFIG_HVC_DCC is not set
|
|
+CONFIG_SERIAL_DEV_BUS=y
|
|
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
|
|
+# CONFIG_TTY_PRINTK is not set
|
|
+# CONFIG_VIRTIO_CONSOLE is not set
|
|
+# CONFIG_IPMI_HANDLER is not set
|
|
+CONFIG_HW_RANDOM=y
|
|
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
|
|
+# CONFIG_HW_RANDOM_BA431 is not set
|
|
+# CONFIG_HW_RANDOM_CCTRNG is not set
|
|
+# CONFIG_HW_RANDOM_XIPHERA is not set
|
|
+CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
|
|
+CONFIG_HW_RANDOM_CN10K=y
|
|
+# CONFIG_APPLICOM is not set
|
|
+
|
|
+#
|
|
+# PCMCIA character devices
|
|
+#
|
|
+# CONFIG_SYNCLINK_CS is not set
|
|
+# CONFIG_CARDMAN_4000 is not set
|
|
+# CONFIG_CARDMAN_4040 is not set
|
|
+# CONFIG_SCR24X is not set
|
|
+# CONFIG_IPWIRELESS is not set
|
|
+# end of PCMCIA character devices
|
|
+
|
|
+CONFIG_DEVMEM=y
|
|
+CONFIG_DEVPORT=y
|
|
+CONFIG_TCG_TPM=y
|
|
+CONFIG_HW_RANDOM_TPM=y
|
|
+# CONFIG_TCG_TIS is not set
|
|
+# CONFIG_TCG_TIS_SPI is not set
|
|
+# CONFIG_TCG_TIS_I2C_CR50 is not set
|
|
+# CONFIG_TCG_TIS_I2C_ATMEL is not set
|
|
+CONFIG_TCG_TIS_I2C_INFINEON=y
|
|
+# CONFIG_TCG_TIS_I2C_NUVOTON is not set
|
|
+# CONFIG_TCG_ATMEL is not set
|
|
+# CONFIG_TCG_VTPM_PROXY is not set
|
|
+# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
|
|
+# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
|
|
+# CONFIG_XILLYBUS is not set
|
|
+# CONFIG_XILLYUSB is not set
|
|
+# CONFIG_RANDOM_TRUST_BOOTLOADER is not set
|
|
+# end of Character devices
|
|
+
|
|
+#
|
|
+# I2C support
|
|
+#
|
|
+CONFIG_I2C=y
|
|
+CONFIG_I2C_BOARDINFO=y
|
|
+# CONFIG_I2C_COMPAT is not set
|
|
+CONFIG_I2C_CHARDEV=y
|
|
+CONFIG_I2C_MUX=y
|
|
+
|
|
+#
|
|
+# Multiplexer I2C Chip support
|
|
+#
|
|
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
|
|
+# CONFIG_I2C_MUX_GPIO is not set
|
|
+# CONFIG_I2C_MUX_GPMUX is not set
|
|
+# CONFIG_I2C_MUX_LTC4306 is not set
|
|
+# CONFIG_I2C_MUX_PCA9541 is not set
|
|
+# CONFIG_I2C_MUX_PCA954x is not set
|
|
+# CONFIG_I2C_MUX_PINCTRL is not set
|
|
+# CONFIG_I2C_MUX_REG is not set
|
|
+# CONFIG_I2C_DEMUX_PINCTRL is not set
|
|
+# CONFIG_I2C_MUX_MLXCPLD is not set
|
|
+# end of Multiplexer I2C Chip support
|
|
+
|
|
+CONFIG_I2C_HELPER_AUTO=y
|
|
+CONFIG_I2C_ALGOBIT=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_NVIDIA_GPU 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_CADENCE is not set
|
|
+# CONFIG_I2C_CBUS_GPIO is not set
|
|
+CONFIG_I2C_DESIGNWARE_CORE=y
|
|
+# CONFIG_I2C_DESIGNWARE_SLAVE is not set
|
|
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
|
|
+# 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_RK3X=y
|
|
+# CONFIG_I2C_SIMTEC is not set
|
|
+# CONFIG_I2C_THUNDERX is not set
|
|
+# CONFIG_I2C_XILINX is not set
|
|
+
|
|
+#
|
|
+# External I2C/SMBus adapter drivers
|
|
+#
|
|
+# CONFIG_I2C_DIOLAN_U2C is not set
|
|
+# CONFIG_I2C_CP2615 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_VIRTIO is not set
|
|
+# end of I2C Hardware Bus support
|
|
+
|
|
+# CONFIG_I2C_STUB is not set
|
|
+# CONFIG_I2C_SLAVE is not set
|
|
+# CONFIG_I2C_DEBUG_CORE is not set
|
|
+# CONFIG_I2C_DEBUG_ALGO is not set
|
|
+# CONFIG_I2C_DEBUG_BUS is not set
|
|
+# end of I2C support
|
|
+
|
|
+# CONFIG_I3C is not set
|
|
+CONFIG_SPI=y
|
|
+# CONFIG_SPI_DEBUG is not set
|
|
+CONFIG_SPI_MASTER=y
|
|
+# CONFIG_SPI_MEM is not set
|
|
+
|
|
+#
|
|
+# SPI Master Controller Drivers
|
|
+#
|
|
+# CONFIG_SPI_ALTERA is not set
|
|
+# CONFIG_SPI_AXI_SPI_ENGINE is not set
|
|
+CONFIG_SPI_BITBANG=y
|
|
+# CONFIG_SPI_CADENCE is not set
|
|
+# CONFIG_SPI_CADENCE_QUADSPI is not set
|
|
+# CONFIG_SPI_DESIGNWARE is not set
|
|
+# CONFIG_SPI_NXP_FLEXSPI is not set
|
|
+# CONFIG_SPI_GPIO is not set
|
|
+# CONFIG_SPI_FSL_SPI is not set
|
|
+# CONFIG_SPI_OC_TINY is not set
|
|
+# CONFIG_SPI_PL022 is not set
|
|
+# CONFIG_SPI_PXA2XX is not set
|
|
+CONFIG_SPI_ROCKCHIP=y
|
|
+# CONFIG_SPI_ROCKCHIP_SFC is not set
|
|
+# CONFIG_SPI_SC18IS602 is not set
|
|
+# CONFIG_SPI_SIFIVE is not set
|
|
+# CONFIG_SPI_MXIC is not set
|
|
+# CONFIG_SPI_THUNDERX is not set
|
|
+# CONFIG_SPI_XCOMM is not set
|
|
+# CONFIG_SPI_XILINX is not set
|
|
+# CONFIG_SPI_ZYNQMP_GQSPI is not set
|
|
+# CONFIG_SPI_AMD is not set
|
|
+
|
|
+#
|
|
+# SPI Multiplexer support
|
|
+#
|
|
+# CONFIG_SPI_MUX is not set
|
|
+
|
|
+#
|
|
+# SPI Protocol Masters
|
|
+#
|
|
+CONFIG_SPI_SPIDEV=y
|
|
+# CONFIG_SPI_LOOPBACK_TEST is not set
|
|
+# CONFIG_SPI_TLE62X0 is not set
|
|
+# CONFIG_SPI_SLAVE is not set
|
|
+CONFIG_SPI_DYNAMIC=y
|
|
+# CONFIG_SPMI is not set
|
|
+# CONFIG_HSI is not set
|
|
+CONFIG_PPS=y
|
|
+# CONFIG_PPS_DEBUG is not set
|
|
+
|
|
+#
|
|
+# PPS clients support
|
|
+#
|
|
+# CONFIG_PPS_CLIENT_KTIMER is not set
|
|
+# CONFIG_PPS_CLIENT_LDISC is not set
|
|
+# CONFIG_PPS_CLIENT_GPIO is not set
|
|
+
|
|
+#
|
|
+# PPS generators support
|
|
+#
|
|
+
|
|
+#
|
|
+# PTP clock support
|
|
+#
|
|
+CONFIG_PTP_1588_CLOCK=y
|
|
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
|
|
+
|
|
+#
|
|
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
|
|
+#
|
|
+CONFIG_PTP_1588_CLOCK_KVM=y
|
|
+# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
|
|
+# CONFIG_PTP_1588_CLOCK_IDTCM is not set
|
|
+# end of PTP clock support
|
|
+
|
|
+CONFIG_PINCTRL=y
|
|
+CONFIG_GENERIC_PINCTRL_GROUPS=y
|
|
+CONFIG_PINMUX=y
|
|
+CONFIG_GENERIC_PINMUX_FUNCTIONS=y
|
|
+CONFIG_PINCONF=y
|
|
+CONFIG_GENERIC_PINCONF=y
|
|
+# CONFIG_DEBUG_PINCTRL is not set
|
|
+# CONFIG_PINCTRL_MCP23S08 is not set
|
|
+# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
|
|
+# CONFIG_PINCTRL_OCELOT is not set
|
|
+CONFIG_PINCTRL_RK805=y
|
|
+CONFIG_PINCTRL_ROCKCHIP=y
|
|
+CONFIG_PINCTRL_SINGLE=y
|
|
+# CONFIG_PINCTRL_STMFX is not set
|
|
+# CONFIG_PINCTRL_SX150X is not set
|
|
+
|
|
+#
|
|
+# Renesas pinctrl drivers
|
|
+#
|
|
+# end of Renesas pinctrl drivers
|
|
+
|
|
+CONFIG_GPIOLIB=y
|
|
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
|
|
+CONFIG_OF_GPIO=y
|
|
+CONFIG_GPIOLIB_IRQCHIP=y
|
|
+CONFIG_DEBUG_GPIO=y
|
|
+CONFIG_GPIO_SYSFS=y
|
|
+CONFIG_GPIO_CDEV=y
|
|
+CONFIG_GPIO_CDEV_V1=y
|
|
+CONFIG_GPIO_GENERIC=y
|
|
+
|
|
+#
|
|
+# Memory mapped GPIO drivers
|
|
+#
|
|
+# CONFIG_GPIO_74XX_MMIO is not set
|
|
+# CONFIG_GPIO_ALTERA is not set
|
|
+# CONFIG_GPIO_CADENCE is not set
|
|
+CONFIG_GPIO_DWAPB=y
|
|
+# CONFIG_GPIO_FTGPIO010 is not set
|
|
+CONFIG_GPIO_GENERIC_PLATFORM=y
|
|
+# CONFIG_GPIO_GRGPIO is not set
|
|
+# CONFIG_GPIO_HLWD is not set
|
|
+# CONFIG_GPIO_LOGICVC is not set
|
|
+# CONFIG_GPIO_MB86S7X is not set
|
|
+# CONFIG_GPIO_PL061 is not set
|
|
+CONFIG_GPIO_ROCKCHIP=y
|
|
+# CONFIG_GPIO_SAMA5D2_PIOBU is not set
|
|
+# CONFIG_GPIO_SIFIVE is not set
|
|
+# CONFIG_GPIO_SYSCON is not set
|
|
+# CONFIG_GPIO_XGENE is not set
|
|
+# CONFIG_GPIO_XILINX is not set
|
|
+# CONFIG_GPIO_AMD_FCH is not set
|
|
+# end of Memory mapped GPIO drivers
|
|
+
|
|
+#
|
|
+# I2C GPIO expanders
|
|
+#
|
|
+# CONFIG_GPIO_ADP5588 is not set
|
|
+# CONFIG_GPIO_ADNP is not set
|
|
+# CONFIG_GPIO_GW_PLD is not set
|
|
+# CONFIG_GPIO_MAX7300 is not set
|
|
+# CONFIG_GPIO_MAX732X is not set
|
|
+# CONFIG_GPIO_PCA953X is not set
|
|
+# CONFIG_GPIO_PCA9570 is not set
|
|
+# CONFIG_GPIO_PCF857X is not set
|
|
+# CONFIG_GPIO_TPIC2810 is not set
|
|
+# end of I2C GPIO expanders
|
|
+
|
|
+#
|
|
+# MFD GPIO expanders
|
|
+#
|
|
+# CONFIG_GPIO_TPS6586X is not set
|
|
+# end of MFD GPIO expanders
|
|
+
|
|
+#
|
|
+# PCI GPIO expanders
|
|
+#
|
|
+# CONFIG_GPIO_BT8XX is not set
|
|
+# CONFIG_GPIO_PCI_IDIO_16 is not set
|
|
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
|
|
+# CONFIG_GPIO_RDC321X is not set
|
|
+# end of PCI GPIO expanders
|
|
+
|
|
+#
|
|
+# SPI GPIO expanders
|
|
+#
|
|
+# CONFIG_GPIO_74X164 is not set
|
|
+# CONFIG_GPIO_MAX3191X is not set
|
|
+# CONFIG_GPIO_MAX7301 is not set
|
|
+# CONFIG_GPIO_MC33880 is not set
|
|
+# CONFIG_GPIO_PISOSR is not set
|
|
+# CONFIG_GPIO_XRA1403 is not set
|
|
+# end of SPI GPIO expanders
|
|
+
|
|
+#
|
|
+# USB GPIO expanders
|
|
+#
|
|
+# end of USB GPIO expanders
|
|
+
|
|
+#
|
|
+# Virtual GPIO drivers
|
|
+#
|
|
+# CONFIG_GPIO_AGGREGATOR is not set
|
|
+# CONFIG_GPIO_MOCKUP is not set
|
|
+# CONFIG_GPIO_SIM is not set
|
|
+# end of Virtual GPIO drivers
|
|
+
|
|
+# CONFIG_W1 is not set
|
|
+CONFIG_POWER_RESET=y
|
|
+# CONFIG_POWER_RESET_BRCMSTB is not set
|
|
+CONFIG_POWER_RESET_GPIO=y
|
|
+CONFIG_POWER_RESET_GPIO_RESTART=y
|
|
+# CONFIG_POWER_RESET_LTC2952 is not set
|
|
+# CONFIG_POWER_RESET_REGULATOR is not set
|
|
+# CONFIG_POWER_RESET_RESTART is not set
|
|
+# CONFIG_POWER_RESET_XGENE is not set
|
|
+CONFIG_POWER_RESET_SYSCON=y
|
|
+CONFIG_POWER_RESET_SYSCON_POWEROFF=y
|
|
+CONFIG_REBOOT_MODE=y
|
|
+CONFIG_SYSCON_REBOOT_MODE=y
|
|
+# CONFIG_NVMEM_REBOOT_MODE is not set
|
|
+CONFIG_POWER_SUPPLY=y
|
|
+# CONFIG_POWER_SUPPLY_DEBUG is not set
|
|
+CONFIG_POWER_SUPPLY_HWMON=y
|
|
+# CONFIG_PDA_POWER is not set
|
|
+# CONFIG_GENERIC_ADC_BATTERY is not set
|
|
+# CONFIG_IP5XXX_POWER is not set
|
|
+# CONFIG_TEST_POWER is not set
|
|
+# CONFIG_CHARGER_ADP5061 is not set
|
|
+CONFIG_BATTERY_CW2015=y
|
|
+# CONFIG_BATTERY_DS2780 is not set
|
|
+# CONFIG_BATTERY_DS2781 is not set
|
|
+# CONFIG_BATTERY_DS2782 is not set
|
|
+# CONFIG_BATTERY_SAMSUNG_SDI is not set
|
|
+CONFIG_BATTERY_SBS=y
|
|
+# CONFIG_CHARGER_SBS is not set
|
|
+# CONFIG_MANAGER_SBS is not set
|
|
+# CONFIG_BATTERY_BQ27XXX is not set
|
|
+# CONFIG_BATTERY_MAX17040 is not set
|
|
+# CONFIG_BATTERY_MAX17042 is not set
|
|
+# CONFIG_CHARGER_ISP1704 is not set
|
|
+# CONFIG_CHARGER_MAX8903 is not set
|
|
+# CONFIG_CHARGER_LP8727 is not set
|
|
+CONFIG_CHARGER_GPIO=y
|
|
+# CONFIG_CHARGER_MANAGER is not set
|
|
+# CONFIG_CHARGER_LT3651 is not set
|
|
+# CONFIG_CHARGER_LTC4162L is not set
|
|
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
|
|
+# CONFIG_CHARGER_MAX77976 is not set
|
|
+# CONFIG_CHARGER_BQ2415X is not set
|
|
+# CONFIG_CHARGER_BQ24190 is not set
|
|
+# CONFIG_CHARGER_BQ24257 is not set
|
|
+CONFIG_CHARGER_BQ24735=y
|
|
+# CONFIG_CHARGER_BQ2515X is not set
|
|
+# CONFIG_CHARGER_BQ25890 is not set
|
|
+# CONFIG_CHARGER_BQ25980 is not set
|
|
+# CONFIG_CHARGER_BQ256XX is not set
|
|
+CONFIG_CHARGER_RK817=y
|
|
+# CONFIG_CHARGER_SMB347 is not set
|
|
+# CONFIG_BATTERY_GAUGE_LTC2941 is not set
|
|
+# CONFIG_BATTERY_GOLDFISH is not set
|
|
+# CONFIG_BATTERY_RT5033 is not set
|
|
+# CONFIG_CHARGER_RT9455 is not set
|
|
+# CONFIG_CHARGER_UCS1002 is not set
|
|
+# CONFIG_CHARGER_BD99954 is not set
|
|
+# CONFIG_BATTERY_UG3105 is not set
|
|
+CONFIG_HWMON=y
|
|
+# CONFIG_HWMON_DEBUG_CHIP is not set
|
|
+
|
|
+#
|
|
+# Native drivers
|
|
+#
|
|
+# CONFIG_SENSORS_AD7314 is not set
|
|
+# CONFIG_SENSORS_AD7414 is not set
|
|
+# CONFIG_SENSORS_AD7418 is not set
|
|
+# CONFIG_SENSORS_ADM1021 is not set
|
|
+# CONFIG_SENSORS_ADM1025 is not set
|
|
+# CONFIG_SENSORS_ADM1026 is not set
|
|
+# CONFIG_SENSORS_ADM1029 is not set
|
|
+# CONFIG_SENSORS_ADM1031 is not set
|
|
+# CONFIG_SENSORS_ADM1177 is not set
|
|
+# CONFIG_SENSORS_ADM9240 is not set
|
|
+# CONFIG_SENSORS_ADT7310 is not set
|
|
+# CONFIG_SENSORS_ADT7410 is not set
|
|
+# CONFIG_SENSORS_ADT7411 is not set
|
|
+# CONFIG_SENSORS_ADT7462 is not set
|
|
+# CONFIG_SENSORS_ADT7470 is not set
|
|
+# CONFIG_SENSORS_ADT7475 is not set
|
|
+# CONFIG_SENSORS_AHT10 is not set
|
|
+# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
|
|
+# CONFIG_SENSORS_AS370 is not set
|
|
+# CONFIG_SENSORS_ASC7621 is not set
|
|
+# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
|
|
+# CONFIG_SENSORS_ARM_SCMI is not set
|
|
+# CONFIG_SENSORS_ARM_SCPI is not set
|
|
+# CONFIG_SENSORS_ASPEED is not set
|
|
+# CONFIG_SENSORS_ATXP1 is not set
|
|
+# CONFIG_SENSORS_CORSAIR_CPRO is not set
|
|
+# CONFIG_SENSORS_CORSAIR_PSU is not set
|
|
+# CONFIG_SENSORS_DRIVETEMP is not set
|
|
+# CONFIG_SENSORS_DS620 is not set
|
|
+# CONFIG_SENSORS_DS1621 is not set
|
|
+# CONFIG_SENSORS_I5K_AMB is not set
|
|
+# CONFIG_SENSORS_F71805F is not set
|
|
+# CONFIG_SENSORS_F71882FG is not set
|
|
+# CONFIG_SENSORS_F75375S is not set
|
|
+# CONFIG_SENSORS_FTSTEUTATES is not set
|
|
+# CONFIG_SENSORS_GL518SM is not set
|
|
+# CONFIG_SENSORS_GL520SM is not set
|
|
+# CONFIG_SENSORS_G760A is not set
|
|
+# CONFIG_SENSORS_G762 is not set
|
|
+# CONFIG_SENSORS_GPIO_FAN is not set
|
|
+# CONFIG_SENSORS_HIH6130 is not set
|
|
+# CONFIG_SENSORS_IIO_HWMON is not set
|
|
+# CONFIG_SENSORS_IT87 is not set
|
|
+# CONFIG_SENSORS_JC42 is not set
|
|
+# CONFIG_SENSORS_POWR1220 is not set
|
|
+# CONFIG_SENSORS_LINEAGE is not set
|
|
+# CONFIG_SENSORS_LTC2945 is not set
|
|
+# CONFIG_SENSORS_LTC2947_I2C is not set
|
|
+# CONFIG_SENSORS_LTC2947_SPI is not set
|
|
+# CONFIG_SENSORS_LTC2990 is not set
|
|
+# CONFIG_SENSORS_LTC2992 is not set
|
|
+# CONFIG_SENSORS_LTC4151 is not set
|
|
+# CONFIG_SENSORS_LTC4215 is not set
|
|
+# CONFIG_SENSORS_LTC4222 is not set
|
|
+# CONFIG_SENSORS_LTC4245 is not set
|
|
+# CONFIG_SENSORS_LTC4260 is not set
|
|
+# CONFIG_SENSORS_LTC4261 is not set
|
|
+# CONFIG_SENSORS_MAX1111 is not set
|
|
+# CONFIG_SENSORS_MAX127 is not set
|
|
+# CONFIG_SENSORS_MAX16065 is not set
|
|
+# CONFIG_SENSORS_MAX1619 is not set
|
|
+# CONFIG_SENSORS_MAX1668 is not set
|
|
+# CONFIG_SENSORS_MAX197 is not set
|
|
+# CONFIG_SENSORS_MAX31722 is not set
|
|
+# CONFIG_SENSORS_MAX31730 is not set
|
|
+# CONFIG_SENSORS_MAX6620 is not set
|
|
+# CONFIG_SENSORS_MAX6621 is not set
|
|
+# CONFIG_SENSORS_MAX6639 is not set
|
|
+# CONFIG_SENSORS_MAX6642 is not set
|
|
+# CONFIG_SENSORS_MAX6650 is not set
|
|
+# CONFIG_SENSORS_MAX6697 is not set
|
|
+# CONFIG_SENSORS_MAX31790 is not set
|
|
+# CONFIG_SENSORS_MCP3021 is not set
|
|
+# CONFIG_SENSORS_TC654 is not set
|
|
+# CONFIG_SENSORS_TPS23861 is not set
|
|
+# CONFIG_SENSORS_MR75203 is not set
|
|
+# CONFIG_SENSORS_ADCXX is not set
|
|
+# CONFIG_SENSORS_LM63 is not set
|
|
+# CONFIG_SENSORS_LM70 is not set
|
|
+# CONFIG_SENSORS_LM73 is not set
|
|
+# CONFIG_SENSORS_LM75 is not set
|
|
+# CONFIG_SENSORS_LM77 is not set
|
|
+# CONFIG_SENSORS_LM78 is not set
|
|
+# CONFIG_SENSORS_LM80 is not set
|
|
+# CONFIG_SENSORS_LM83 is not set
|
|
+# CONFIG_SENSORS_LM85 is not set
|
|
+# CONFIG_SENSORS_LM87 is not set
|
|
+# CONFIG_SENSORS_LM90 is not set
|
|
+# CONFIG_SENSORS_LM92 is not set
|
|
+# CONFIG_SENSORS_LM93 is not set
|
|
+# CONFIG_SENSORS_LM95234 is not set
|
|
+# CONFIG_SENSORS_LM95241 is not set
|
|
+# CONFIG_SENSORS_LM95245 is not set
|
|
+# CONFIG_SENSORS_PC87360 is not set
|
|
+# CONFIG_SENSORS_PC87427 is not set
|
|
+# CONFIG_SENSORS_NTC_THERMISTOR is not set
|
|
+# CONFIG_SENSORS_NCT6683 is not set
|
|
+# CONFIG_SENSORS_NCT6775 is not set
|
|
+# CONFIG_SENSORS_NCT7802 is not set
|
|
+# CONFIG_SENSORS_NCT7904 is not set
|
|
+# CONFIG_SENSORS_NPCM7XX is not set
|
|
+# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
|
|
+# CONFIG_SENSORS_NZXT_SMART2 is not set
|
|
+# CONFIG_SENSORS_OCC_P8_I2C is not set
|
|
+# CONFIG_SENSORS_PCF8591 is not set
|
|
+# CONFIG_PMBUS is not set
|
|
+CONFIG_SENSORS_PWM_FAN=y
|
|
+# CONFIG_SENSORS_SBTSI is not set
|
|
+# CONFIG_SENSORS_SBRMI is not set
|
|
+# CONFIG_SENSORS_SHT15 is not set
|
|
+# CONFIG_SENSORS_SHT21 is not set
|
|
+# CONFIG_SENSORS_SHT3x is not set
|
|
+# CONFIG_SENSORS_SHT4x is not set
|
|
+# CONFIG_SENSORS_SHTC1 is not set
|
|
+# CONFIG_SENSORS_SIS5595 is not set
|
|
+# CONFIG_SENSORS_SY7636A is not set
|
|
+# CONFIG_SENSORS_DME1737 is not set
|
|
+# CONFIG_SENSORS_EMC1403 is not set
|
|
+# CONFIG_SENSORS_EMC2103 is not set
|
|
+# CONFIG_SENSORS_EMC6W201 is not set
|
|
+# CONFIG_SENSORS_SMSC47M1 is not set
|
|
+# CONFIG_SENSORS_SMSC47M192 is not set
|
|
+# CONFIG_SENSORS_SMSC47B397 is not set
|
|
+# CONFIG_SENSORS_SCH5627 is not set
|
|
+# CONFIG_SENSORS_SCH5636 is not set
|
|
+# CONFIG_SENSORS_STTS751 is not set
|
|
+# CONFIG_SENSORS_SMM665 is not set
|
|
+# CONFIG_SENSORS_ADC128D818 is not set
|
|
+# CONFIG_SENSORS_ADS7828 is not set
|
|
+# CONFIG_SENSORS_ADS7871 is not set
|
|
+# CONFIG_SENSORS_AMC6821 is not set
|
|
+# CONFIG_SENSORS_INA209 is not set
|
|
+# CONFIG_SENSORS_INA2XX is not set
|
|
+# CONFIG_SENSORS_INA238 is not set
|
|
+# CONFIG_SENSORS_INA3221 is not set
|
|
+# CONFIG_SENSORS_TC74 is not set
|
|
+# CONFIG_SENSORS_THMC50 is not set
|
|
+# CONFIG_SENSORS_TMP102 is not set
|
|
+# CONFIG_SENSORS_TMP103 is not set
|
|
+# CONFIG_SENSORS_TMP108 is not set
|
|
+# CONFIG_SENSORS_TMP401 is not set
|
|
+# CONFIG_SENSORS_TMP421 is not set
|
|
+# CONFIG_SENSORS_TMP464 is not set
|
|
+# CONFIG_SENSORS_TMP513 is not set
|
|
+# CONFIG_SENSORS_VIA686A is not set
|
|
+# CONFIG_SENSORS_VT1211 is not set
|
|
+# CONFIG_SENSORS_VT8231 is not set
|
|
+# CONFIG_SENSORS_W83773G is not set
|
|
+# CONFIG_SENSORS_W83781D is not set
|
|
+# CONFIG_SENSORS_W83791D is not set
|
|
+# CONFIG_SENSORS_W83792D is not set
|
|
+# CONFIG_SENSORS_W83793 is not set
|
|
+# CONFIG_SENSORS_W83795 is not set
|
|
+# CONFIG_SENSORS_W83L785TS is not set
|
|
+# CONFIG_SENSORS_W83L786NG is not set
|
|
+# CONFIG_SENSORS_W83627HF is not set
|
|
+# CONFIG_SENSORS_W83627EHF is not set
|
|
+CONFIG_THERMAL=y
|
|
+# CONFIG_THERMAL_NETLINK is not set
|
|
+# CONFIG_THERMAL_STATISTICS is not set
|
|
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
|
|
+CONFIG_THERMAL_HWMON=y
|
|
+CONFIG_THERMAL_OF=y
|
|
+CONFIG_THERMAL_WRITABLE_TRIPS=y
|
|
+# CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE is not set
|
|
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
|
|
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
|
|
+CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR=y
|
|
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
|
|
+CONFIG_THERMAL_GOV_STEP_WISE=y
|
|
+# CONFIG_THERMAL_GOV_BANG_BANG is not set
|
|
+# CONFIG_THERMAL_GOV_USER_SPACE is not set
|
|
+CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
|
|
+CONFIG_CPU_THERMAL=y
|
|
+CONFIG_CPU_FREQ_THERMAL=y
|
|
+CONFIG_DEVFREQ_THERMAL=y
|
|
+# CONFIG_THERMAL_EMULATION is not set
|
|
+# CONFIG_THERMAL_MMIO is not set
|
|
+CONFIG_ROCKCHIP_THERMAL=y
|
|
+# CONFIG_GENERIC_ADC_THERMAL is not set
|
|
+CONFIG_WATCHDOG=y
|
|
+CONFIG_WATCHDOG_CORE=y
|
|
+# CONFIG_WATCHDOG_NOWAYOUT is not set
|
|
+CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
|
|
+CONFIG_WATCHDOG_OPEN_TIMEOUT=0
|
|
+# CONFIG_WATCHDOG_SYSFS is not set
|
|
+# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
|
|
+
|
|
+#
|
|
+# Watchdog Pretimeout Governors
|
|
+#
|
|
+# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
|
|
+
|
|
+#
|
|
+# Watchdog Device Drivers
|
|
+#
|
|
+# CONFIG_SOFT_WATCHDOG is not set
|
|
+# CONFIG_GPIO_WATCHDOG is not set
|
|
+# CONFIG_XILINX_WATCHDOG is not set
|
|
+# CONFIG_ZIIRAVE_WATCHDOG is not set
|
|
+# CONFIG_ARM_SP805_WATCHDOG is not set
|
|
+# CONFIG_ARM_SBSA_WATCHDOG is not set
|
|
+# CONFIG_CADENCE_WATCHDOG is not set
|
|
+CONFIG_DW_WATCHDOG=y
|
|
+# CONFIG_MAX63XX_WATCHDOG is not set
|
|
+# CONFIG_ARM_SMC_WATCHDOG is not set
|
|
+# CONFIG_ALIM7101_WDT is not set
|
|
+# CONFIG_I6300ESB_WDT is not set
|
|
+# CONFIG_MEN_A21_WDT is not set
|
|
+
|
|
+#
|
|
+# PCI-based Watchdog Cards
|
|
+#
|
|
+# CONFIG_PCIPCWATCHDOG is not set
|
|
+# CONFIG_WDTPCI is not set
|
|
+
|
|
+#
|
|
+# USB-based Watchdog Cards
|
|
+#
|
|
+# CONFIG_USBPCWATCHDOG is not set
|
|
+CONFIG_SSB_POSSIBLE=y
|
|
+CONFIG_SSB=y
|
|
+CONFIG_SSB_SPROM=y
|
|
+CONFIG_SSB_BLOCKIO=y
|
|
+CONFIG_SSB_PCIHOST_POSSIBLE=y
|
|
+CONFIG_SSB_PCIHOST=y
|
|
+CONFIG_SSB_B43_PCI_BRIDGE=y
|
|
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
|
|
+# CONFIG_SSB_PCMCIAHOST is not set
|
|
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
|
|
+# CONFIG_SSB_SDIOHOST is not set
|
|
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
|
|
+CONFIG_SSB_DRIVER_PCICORE=y
|
|
+# CONFIG_SSB_DRIVER_GPIO is not set
|
|
+CONFIG_BCMA_POSSIBLE=y
|
|
+CONFIG_BCMA=y
|
|
+CONFIG_BCMA_BLOCKIO=y
|
|
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
|
|
+CONFIG_BCMA_HOST_PCI=y
|
|
+# CONFIG_BCMA_HOST_SOC is not set
|
|
+CONFIG_BCMA_DRIVER_PCI=y
|
|
+# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
|
|
+# CONFIG_BCMA_DRIVER_GPIO is not set
|
|
+# CONFIG_BCMA_DEBUG is not set
|
|
+
|
|
+#
|
|
+# Multifunction device drivers
|
|
+#
|
|
+CONFIG_MFD_CORE=y
|
|
+# CONFIG_MFD_ACT8945A is not set
|
|
+# CONFIG_MFD_AS3711 is not set
|
|
+# CONFIG_MFD_AS3722 is not set
|
|
+# CONFIG_PMIC_ADP5520 is not set
|
|
+# CONFIG_MFD_AAT2870_CORE is not set
|
|
+# CONFIG_MFD_ATMEL_FLEXCOM is not set
|
|
+# CONFIG_MFD_ATMEL_HLCDC is not set
|
|
+# CONFIG_MFD_BCM590XX is not set
|
|
+# CONFIG_MFD_BD9571MWV is not set
|
|
+# CONFIG_MFD_AXP20X_I2C is not set
|
|
+# CONFIG_MFD_MADERA is not set
|
|
+# CONFIG_PMIC_DA903X is not set
|
|
+# CONFIG_MFD_DA9052_SPI is not set
|
|
+# CONFIG_MFD_DA9052_I2C is not set
|
|
+# CONFIG_MFD_DA9055 is not set
|
|
+# CONFIG_MFD_DA9062 is not set
|
|
+# CONFIG_MFD_DA9063 is not set
|
|
+# CONFIG_MFD_DA9150 is not set
|
|
+# CONFIG_MFD_DLN2 is not set
|
|
+# CONFIG_MFD_GATEWORKS_GSC is not set
|
|
+# CONFIG_MFD_MC13XXX_SPI is not set
|
|
+# CONFIG_MFD_MC13XXX_I2C is not set
|
|
+# CONFIG_MFD_MP2629 is not set
|
|
+# CONFIG_MFD_HI6421_PMIC is not set
|
|
+# CONFIG_HTC_PASIC3 is not set
|
|
+# CONFIG_HTC_I2CPLD is not set
|
|
+# CONFIG_LPC_ICH is not set
|
|
+# CONFIG_LPC_SCH is not set
|
|
+# CONFIG_MFD_IQS62X is not set
|
|
+# CONFIG_MFD_JANZ_CMODIO is not set
|
|
+# CONFIG_MFD_KEMPLD is not set
|
|
+# CONFIG_MFD_88PM800 is not set
|
|
+# CONFIG_MFD_88PM805 is not set
|
|
+# CONFIG_MFD_88PM860X is not set
|
|
+# CONFIG_MFD_MAX14577 is not set
|
|
+# CONFIG_MFD_MAX77620 is not set
|
|
+# CONFIG_MFD_MAX77650 is not set
|
|
+# CONFIG_MFD_MAX77686 is not set
|
|
+# CONFIG_MFD_MAX77693 is not set
|
|
+# CONFIG_MFD_MAX77714 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_MT6360 is not set
|
|
+# CONFIG_MFD_MT6397 is not set
|
|
+# CONFIG_MFD_MENF21BMC is not set
|
|
+# CONFIG_EZX_PCAP is not set
|
|
+# CONFIG_MFD_CPCAP is not set
|
|
+# CONFIG_MFD_VIPERBOARD is not set
|
|
+# CONFIG_MFD_NTXEC is not set
|
|
+# CONFIG_MFD_RETU is not set
|
|
+# CONFIG_MFD_PCF50633 is not set
|
|
+# CONFIG_MFD_RDC321X is not set
|
|
+# CONFIG_MFD_RT4831 is not set
|
|
+# CONFIG_MFD_RT5033 is not set
|
|
+# CONFIG_MFD_RC5T583 is not set
|
|
+CONFIG_MFD_RK808=y
|
|
+# CONFIG_MFD_RN5T618 is not set
|
|
+# CONFIG_MFD_SEC_CORE is not set
|
|
+# CONFIG_MFD_SI476X_CORE is not set
|
|
+# CONFIG_MFD_SIMPLE_MFD_I2C is not set
|
|
+# CONFIG_MFD_SM501 is not set
|
|
+# CONFIG_MFD_SKY81452 is not set
|
|
+# CONFIG_MFD_STMPE is not set
|
|
+CONFIG_MFD_SYSCON=y
|
|
+# CONFIG_MFD_TI_AM335X_TSCADC is not set
|
|
+# CONFIG_MFD_LP3943 is not set
|
|
+# CONFIG_MFD_LP8788 is not set
|
|
+# CONFIG_MFD_TI_LMU is not set
|
|
+# CONFIG_MFD_PALMAS is not set
|
|
+# CONFIG_TPS6105X is not set
|
|
+# CONFIG_TPS65010 is not set
|
|
+# CONFIG_TPS6507X is not set
|
|
+# CONFIG_MFD_TPS65086 is not set
|
|
+# CONFIG_MFD_TPS65090 is not set
|
|
+# CONFIG_MFD_TPS65217 is not set
|
|
+# CONFIG_MFD_TI_LP873X is not set
|
|
+# CONFIG_MFD_TI_LP87565 is not set
|
|
+# CONFIG_MFD_TPS65218 is not set
|
|
+CONFIG_MFD_TPS6586X=y
|
|
+# CONFIG_MFD_TPS65910 is not set
|
|
+# CONFIG_MFD_TPS65912_I2C is not set
|
|
+# CONFIG_MFD_TPS65912_SPI is not set
|
|
+# CONFIG_TWL4030_CORE is not set
|
|
+# CONFIG_TWL6040_CORE is not set
|
|
+# CONFIG_MFD_WL1273_CORE is not set
|
|
+# CONFIG_MFD_LM3533 is not set
|
|
+# CONFIG_MFD_TC3589X is not set
|
|
+# CONFIG_MFD_TQMX86 is not set
|
|
+# CONFIG_MFD_VX855 is not set
|
|
+# CONFIG_MFD_LOCHNAGAR is not set
|
|
+# CONFIG_MFD_ARIZONA_I2C is not set
|
|
+# CONFIG_MFD_ARIZONA_SPI is not set
|
|
+# CONFIG_MFD_WM8400 is not set
|
|
+# CONFIG_MFD_WM831X_I2C is not set
|
|
+# CONFIG_MFD_WM831X_SPI is not set
|
|
+# CONFIG_MFD_WM8350_I2C is not set
|
|
+# CONFIG_MFD_WM8994 is not set
|
|
+# CONFIG_MFD_ROHM_BD718XX is not set
|
|
+# CONFIG_MFD_ROHM_BD71828 is not set
|
|
+# CONFIG_MFD_ROHM_BD957XMUF is not set
|
|
+# CONFIG_MFD_STPMIC1 is not set
|
|
+# CONFIG_MFD_STMFX is not set
|
|
+# CONFIG_MFD_ATC260X_I2C is not set
|
|
+# CONFIG_MFD_KHADAS_MCU is not set
|
|
+# CONFIG_MFD_QCOM_PM8008 is not set
|
|
+# CONFIG_RAVE_SP_CORE is not set
|
|
+# CONFIG_MFD_INTEL_M10_BMC is not set
|
|
+# CONFIG_MFD_RSMU_I2C is not set
|
|
+# CONFIG_MFD_RSMU_SPI is not set
|
|
+# end of Multifunction device drivers
|
|
+
|
|
+CONFIG_REGULATOR=y
|
|
+CONFIG_REGULATOR_DEBUG=y
|
|
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
|
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
|
|
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
|
|
+# CONFIG_REGULATOR_88PG86X is not set
|
|
+CONFIG_REGULATOR_ACT8865=y
|
|
+# CONFIG_REGULATOR_AD5398 is not set
|
|
+# CONFIG_REGULATOR_ARM_SCMI is not set
|
|
+# CONFIG_REGULATOR_DA9121 is not set
|
|
+# CONFIG_REGULATOR_DA9210 is not set
|
|
+# CONFIG_REGULATOR_DA9211 is not set
|
|
+CONFIG_REGULATOR_FAN53555=y
|
|
+# CONFIG_REGULATOR_FAN53880 is not set
|
|
+CONFIG_REGULATOR_GPIO=y
|
|
+# CONFIG_REGULATOR_ISL9305 is not set
|
|
+# CONFIG_REGULATOR_ISL6271A is not set
|
|
+# CONFIG_REGULATOR_LP3971 is not set
|
|
+# CONFIG_REGULATOR_LP3972 is not set
|
|
+# CONFIG_REGULATOR_LP872X is not set
|
|
+# CONFIG_REGULATOR_LP8755 is not set
|
|
+# CONFIG_REGULATOR_LTC3589 is not set
|
|
+# CONFIG_REGULATOR_LTC3676 is not set
|
|
+# CONFIG_REGULATOR_MAX1586 is not set
|
|
+# CONFIG_REGULATOR_MAX8649 is not set
|
|
+# CONFIG_REGULATOR_MAX8660 is not set
|
|
+# CONFIG_REGULATOR_MAX8893 is not set
|
|
+# CONFIG_REGULATOR_MAX8952 is not set
|
|
+# CONFIG_REGULATOR_MAX8973 is not set
|
|
+# CONFIG_REGULATOR_MAX20086 is not set
|
|
+# CONFIG_REGULATOR_MAX77826 is not set
|
|
+# CONFIG_REGULATOR_MCP16502 is not set
|
|
+# CONFIG_REGULATOR_MP5416 is not set
|
|
+# CONFIG_REGULATOR_MP8859 is not set
|
|
+# CONFIG_REGULATOR_MP886X is not set
|
|
+# CONFIG_REGULATOR_MPQ7920 is not set
|
|
+# CONFIG_REGULATOR_MT6311 is not set
|
|
+# CONFIG_REGULATOR_PCA9450 is not set
|
|
+# CONFIG_REGULATOR_PF8X00 is not set
|
|
+# CONFIG_REGULATOR_PFUZE100 is not set
|
|
+# CONFIG_REGULATOR_PV88060 is not set
|
|
+# CONFIG_REGULATOR_PV88080 is not set
|
|
+# CONFIG_REGULATOR_PV88090 is not set
|
|
+CONFIG_REGULATOR_PWM=y
|
|
+# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
|
|
+CONFIG_REGULATOR_RK808=y
|
|
+# CONFIG_REGULATOR_RT4801 is not set
|
|
+# CONFIG_REGULATOR_RT5190A is not set
|
|
+# CONFIG_REGULATOR_RT6160 is not set
|
|
+# CONFIG_REGULATOR_RT6245 is not set
|
|
+# CONFIG_REGULATOR_RTQ2134 is not set
|
|
+# CONFIG_REGULATOR_RTMV20 is not set
|
|
+# CONFIG_REGULATOR_RTQ6752 is not set
|
|
+# CONFIG_REGULATOR_SLG51000 is not set
|
|
+# CONFIG_REGULATOR_SY7636A is not set
|
|
+# CONFIG_REGULATOR_SY8106A is not set
|
|
+# CONFIG_REGULATOR_SY8824X is not set
|
|
+# CONFIG_REGULATOR_SY8827N is not set
|
|
+# CONFIG_REGULATOR_TPS51632 is not set
|
|
+# CONFIG_REGULATOR_TPS62360 is not set
|
|
+# CONFIG_REGULATOR_TPS6286X is not set
|
|
+# CONFIG_REGULATOR_TPS65023 is not set
|
|
+# CONFIG_REGULATOR_TPS6507X is not set
|
|
+# CONFIG_REGULATOR_TPS65132 is not set
|
|
+# CONFIG_REGULATOR_TPS6524X is not set
|
|
+CONFIG_REGULATOR_TPS6586X=y
|
|
+CONFIG_REGULATOR_VCTRL=y
|
|
+CONFIG_RC_CORE=y
|
|
+CONFIG_LIRC=y
|
|
+CONFIG_RC_MAP=y
|
|
+CONFIG_RC_DECODERS=y
|
|
+# CONFIG_IR_IMON_DECODER is not set
|
|
+CONFIG_IR_JVC_DECODER=y
|
|
+CONFIG_IR_MCE_KBD_DECODER=y
|
|
+CONFIG_IR_NEC_DECODER=y
|
|
+CONFIG_IR_RC5_DECODER=y
|
|
+CONFIG_IR_RC6_DECODER=y
|
|
+# CONFIG_IR_RCMM_DECODER is not set
|
|
+CONFIG_IR_SANYO_DECODER=y
|
|
+CONFIG_IR_SHARP_DECODER=y
|
|
+CONFIG_IR_SONY_DECODER=y
|
|
+CONFIG_IR_XMP_DECODER=y
|
|
+CONFIG_RC_DEVICES=y
|
|
+CONFIG_IR_GPIO_CIR=y
|
|
+# CONFIG_IR_GPIO_TX is not set
|
|
+# CONFIG_IR_HIX5HD2 is not set
|
|
+# CONFIG_IR_IGORPLUGUSB is not set
|
|
+# CONFIG_IR_IGUANA is not set
|
|
+# CONFIG_IR_IMON is not set
|
|
+# CONFIG_IR_IMON_RAW is not set
|
|
+# CONFIG_IR_MCEUSB is not set
|
|
+# CONFIG_IR_PWM_TX is not set
|
|
+# CONFIG_IR_REDRAT3 is not set
|
|
+# CONFIG_IR_SERIAL is not set
|
|
+# CONFIG_IR_SPI is not set
|
|
+# CONFIG_IR_STREAMZAP is not set
|
|
+# CONFIG_IR_TOY is not set
|
|
+# CONFIG_IR_TTUSBIR is not set
|
|
+# CONFIG_RC_ATI_REMOTE is not set
|
|
+# CONFIG_RC_LOOPBACK is not set
|
|
+# CONFIG_RC_XBOX_DVD is not set
|
|
+CONFIG_CEC_CORE=y
|
|
+CONFIG_CEC_NOTIFIER=y
|
|
+
|
|
+#
|
|
+# CEC support
|
|
+#
|
|
+CONFIG_MEDIA_CEC_RC=y
|
|
+CONFIG_MEDIA_CEC_SUPPORT=y
|
|
+# CONFIG_CEC_CH7322 is not set
|
|
+# CONFIG_CEC_GPIO is not set
|
|
+CONFIG_USB_PULSE8_CEC=m
|
|
+CONFIG_USB_RAINSHADOW_CEC=m
|
|
+# end of CEC support
|
|
+
|
|
+CONFIG_MEDIA_SUPPORT=y
|
|
+# CONFIG_MEDIA_SUPPORT_FILTER is not set
|
|
+# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
|
|
+
|
|
+#
|
|
+# Media device types
|
|
+#
|
|
+CONFIG_MEDIA_CAMERA_SUPPORT=y
|
|
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
|
|
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
|
|
+CONFIG_MEDIA_RADIO_SUPPORT=y
|
|
+CONFIG_MEDIA_SDR_SUPPORT=y
|
|
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
|
|
+CONFIG_MEDIA_TEST_SUPPORT=y
|
|
+# end of Media device types
|
|
+
|
|
+#
|
|
+# Media core support
|
|
+#
|
|
+CONFIG_VIDEO_DEV=y
|
|
+CONFIG_MEDIA_CONTROLLER=y
|
|
+CONFIG_DVB_CORE=y
|
|
+# end of Media core support
|
|
+
|
|
+#
|
|
+# Video4Linux options
|
|
+#
|
|
+CONFIG_VIDEO_V4L2_I2C=y
|
|
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
|
+# CONFIG_VIDEO_ADV_DEBUG is not set
|
|
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
|
|
+CONFIG_VIDEO_TUNER=m
|
|
+CONFIG_V4L2_FWNODE=y
|
|
+CONFIG_V4L2_ASYNC=y
|
|
+CONFIG_VIDEOBUF_GEN=m
|
|
+CONFIG_VIDEOBUF_VMALLOC=m
|
|
+# end of Video4Linux options
|
|
+
|
|
+#
|
|
+# Media controller options
|
|
+#
|
|
+CONFIG_MEDIA_CONTROLLER_DVB=y
|
|
+# end of Media controller options
|
|
+
|
|
+#
|
|
+# Digital TV options
|
|
+#
|
|
+# CONFIG_DVB_MMAP is not set
|
|
+CONFIG_DVB_NET=y
|
|
+CONFIG_DVB_MAX_ADAPTERS=8
|
|
+# CONFIG_DVB_DYNAMIC_MINORS is not set
|
|
+# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
|
|
+# CONFIG_DVB_ULE_DEBUG is not set
|
|
+# end of Digital TV options
|
|
+
|
|
+#
|
|
+# Media drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Media drivers
|
|
+#
|
|
+CONFIG_MEDIA_USB_SUPPORT=y
|
|
+
|
|
+#
|
|
+# Webcam devices
|
|
+#
|
|
+# CONFIG_VIDEO_CPIA2 is not set
|
|
+# CONFIG_USB_GSPCA is not set
|
|
+# CONFIG_USB_PWC is not set
|
|
+# CONFIG_USB_S2255 is not set
|
|
+# CONFIG_USB_STKWEBCAM is not set
|
|
+CONFIG_VIDEO_USBTV=m
|
|
+CONFIG_USB_VIDEO_CLASS=y
|
|
+# CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV is not set
|
|
+# CONFIG_USB_ZR364XX is not set
|
|
+
|
|
+#
|
|
+# Analog TV USB devices
|
|
+#
|
|
+# CONFIG_VIDEO_GO7007 is not set
|
|
+# CONFIG_VIDEO_HDPVR is not set
|
|
+# CONFIG_VIDEO_PVRUSB2 is not set
|
|
+# CONFIG_VIDEO_STK1160_COMMON is not set
|
|
+
|
|
+#
|
|
+# Analog/digital TV USB devices
|
|
+#
|
|
+CONFIG_VIDEO_AU0828=m
|
|
+CONFIG_VIDEO_AU0828_V4L2=y
|
|
+# CONFIG_VIDEO_AU0828_RC is not set
|
|
+CONFIG_VIDEO_CX231XX=m
|
|
+CONFIG_VIDEO_CX231XX_RC=y
|
|
+CONFIG_VIDEO_CX231XX_ALSA=m
|
|
+CONFIG_VIDEO_CX231XX_DVB=m
|
|
+CONFIG_VIDEO_TM6000=m
|
|
+CONFIG_VIDEO_TM6000_ALSA=m
|
|
+CONFIG_VIDEO_TM6000_DVB=m
|
|
+
|
|
+#
|
|
+# Digital TV USB devices
|
|
+#
|
|
+CONFIG_DVB_AS102=m
|
|
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
|
|
+# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
|
|
+CONFIG_DVB_USB_V2=m
|
|
+CONFIG_DVB_USB_AF9015=m
|
|
+CONFIG_DVB_USB_AF9035=m
|
|
+CONFIG_DVB_USB_ANYSEE=m
|
|
+CONFIG_DVB_USB_AU6610=m
|
|
+CONFIG_DVB_USB_AZ6007=m
|
|
+CONFIG_DVB_USB_CE6230=m
|
|
+CONFIG_DVB_USB_DVBSKY=m
|
|
+CONFIG_DVB_USB_EC168=m
|
|
+CONFIG_DVB_USB_GL861=m
|
|
+CONFIG_DVB_USB_LME2510=m
|
|
+CONFIG_DVB_USB_MXL111SF=m
|
|
+CONFIG_DVB_USB_RTL28XXU=m
|
|
+# CONFIG_DVB_USB_ZD1301 is not set
|
|
+CONFIG_DVB_USB=y
|
|
+# CONFIG_DVB_USB_DEBUG is not set
|
|
+CONFIG_DVB_USB_A800=m
|
|
+CONFIG_DVB_USB_AF9005=m
|
|
+CONFIG_DVB_USB_AF9005_REMOTE=m
|
|
+CONFIG_DVB_USB_AZ6027=m
|
|
+CONFIG_DVB_USB_CINERGY_T2=m
|
|
+CONFIG_DVB_USB_CXUSB=m
|
|
+# CONFIG_DVB_USB_CXUSB_ANALOG is not set
|
|
+CONFIG_DVB_USB_DIB0700=m
|
|
+CONFIG_DVB_USB_DIB3000MC=m
|
|
+CONFIG_DVB_USB_DIBUSB_MB=m
|
|
+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
|
|
+CONFIG_DVB_USB_DIBUSB_MC=m
|
|
+CONFIG_DVB_USB_DIGITV=m
|
|
+CONFIG_DVB_USB_DTT200U=m
|
|
+CONFIG_DVB_USB_DTV5100=m
|
|
+CONFIG_DVB_USB_DW2102=m
|
|
+CONFIG_DVB_USB_GP8PSK=m
|
|
+CONFIG_DVB_USB_M920X=m
|
|
+CONFIG_DVB_USB_NOVA_T_USB2=m
|
|
+CONFIG_DVB_USB_OPERA1=m
|
|
+CONFIG_DVB_USB_PCTV452E=m
|
|
+CONFIG_DVB_USB_TECHNISAT_USB2=m
|
|
+CONFIG_DVB_USB_TTUSB2=m
|
|
+CONFIG_DVB_USB_UMT_010=m
|
|
+CONFIG_DVB_USB_VP702X=m
|
|
+CONFIG_DVB_USB_VP7045=m
|
|
+# CONFIG_SMS_USB_DRV is not set
|
|
+CONFIG_DVB_TTUSB_BUDGET=m
|
|
+CONFIG_DVB_TTUSB_DEC=m
|
|
+
|
|
+#
|
|
+# Webcam, TV (analog/digital) USB devices
|
|
+#
|
|
+CONFIG_VIDEO_EM28XX=m
|
|
+CONFIG_VIDEO_EM28XX_V4L2=m
|
|
+CONFIG_VIDEO_EM28XX_ALSA=m
|
|
+CONFIG_VIDEO_EM28XX_DVB=m
|
|
+CONFIG_VIDEO_EM28XX_RC=m
|
|
+
|
|
+#
|
|
+# Software defined radio USB devices
|
|
+#
|
|
+CONFIG_USB_AIRSPY=m
|
|
+CONFIG_USB_HACKRF=m
|
|
+CONFIG_USB_MSI2500=m
|
|
+CONFIG_MEDIA_PCI_SUPPORT=y
|
|
+
|
|
+#
|
|
+# Media capture support
|
|
+#
|
|
+# CONFIG_VIDEO_SOLO6X10 is not set
|
|
+# CONFIG_VIDEO_TW5864 is not set
|
|
+# CONFIG_VIDEO_TW68 is not set
|
|
+# CONFIG_VIDEO_TW686X is not set
|
|
+
|
|
+#
|
|
+# Media capture/analog TV support
|
|
+#
|
|
+# CONFIG_VIDEO_DT3155 is not set
|
|
+# CONFIG_VIDEO_IVTV is not set
|
|
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
|
|
+# CONFIG_VIDEO_HEXIUM_ORION is not set
|
|
+# CONFIG_VIDEO_MXB is not set
|
|
+
|
|
+#
|
|
+# Media capture/analog/hybrid TV support
|
|
+#
|
|
+# CONFIG_VIDEO_BT848 is not set
|
|
+# CONFIG_VIDEO_CX18 is not set
|
|
+CONFIG_VIDEO_CX23885=m
|
|
+# CONFIG_MEDIA_ALTERA_CI is not set
|
|
+CONFIG_VIDEO_CX25821=m
|
|
+# CONFIG_VIDEO_CX25821_ALSA is not set
|
|
+# CONFIG_VIDEO_CX88 is not set
|
|
+# CONFIG_VIDEO_SAA7134 is not set
|
|
+# CONFIG_VIDEO_SAA7164 is not set
|
|
+
|
|
+#
|
|
+# Media digital TV PCI Adapters
|
|
+#
|
|
+# CONFIG_DVB_B2C2_FLEXCOP_PCI is not set
|
|
+# CONFIG_DVB_DDBRIDGE is not set
|
|
+# CONFIG_DVB_DM1105 is not set
|
|
+# CONFIG_MANTIS_CORE is not set
|
|
+# CONFIG_DVB_NETUP_UNIDVB is not set
|
|
+# CONFIG_DVB_NGENE is not set
|
|
+# CONFIG_DVB_PLUTO2 is not set
|
|
+# CONFIG_DVB_PT1 is not set
|
|
+# CONFIG_DVB_PT3 is not set
|
|
+# CONFIG_DVB_SMIPCIE is not set
|
|
+# CONFIG_DVB_BUDGET_CORE is not set
|
|
+CONFIG_RADIO_ADAPTERS=y
|
|
+# CONFIG_RADIO_MAXIRADIO is not set
|
|
+# CONFIG_RADIO_SAA7706H is not set
|
|
+# CONFIG_RADIO_SHARK is not set
|
|
+# CONFIG_RADIO_SHARK2 is not set
|
|
+# CONFIG_RADIO_SI4713 is not set
|
|
+# CONFIG_RADIO_TEA5764 is not set
|
|
+# CONFIG_RADIO_TEF6862 is not set
|
|
+# CONFIG_RADIO_WL1273 is not set
|
|
+# CONFIG_USB_DSBR is not set
|
|
+# CONFIG_USB_KEENE is not set
|
|
+# CONFIG_USB_MA901 is not set
|
|
+# CONFIG_USB_MR800 is not set
|
|
+# CONFIG_USB_RAREMONO is not set
|
|
+# CONFIG_RADIO_SI470X is not set
|
|
+CONFIG_MEDIA_PLATFORM_DRIVERS=y
|
|
+CONFIG_V4L_PLATFORM_DRIVERS=y
|
|
+# CONFIG_SDR_PLATFORM_DRIVERS is not set
|
|
+CONFIG_DVB_PLATFORM_DRIVERS=y
|
|
+CONFIG_V4L_MEM2MEM_DRIVERS=y
|
|
+# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
|
|
+# CONFIG_VIDEO_MUX is not set
|
|
+
|
|
+#
|
|
+# Allegro DVT media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Amlogic media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Amphion drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Aspeed media platform drivers
|
|
+#
|
|
+# CONFIG_VIDEO_ASPEED is not set
|
|
+
|
|
+#
|
|
+# Atmel media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Cadence media platform drivers
|
|
+#
|
|
+# CONFIG_VIDEO_CADENCE_CSI2RX is not set
|
|
+# CONFIG_VIDEO_CADENCE_CSI2TX is not set
|
|
+
|
|
+#
|
|
+# Chips&Media media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Intel media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Marvell media platform drivers
|
|
+#
|
|
+# CONFIG_VIDEO_CAFE_CCIC is not set
|
|
+
|
|
+#
|
|
+# Mediatek media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# NVidia media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# NXP media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Qualcomm media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Renesas media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Rockchip media platform drivers
|
|
+#
|
|
+# CONFIG_VIDEO_ROCKCHIP_RGA is not set
|
|
+CONFIG_VIDEO_ROCKCHIP_ISP1=y
|
|
+
|
|
+#
|
|
+# Samsung media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# STMicroelectronics media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Sunxi media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Texas Instruments drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# VIA media platform drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Xilinx media platform drivers
|
|
+#
|
|
+# CONFIG_VIDEO_XILINX is not set
|
|
+
|
|
+#
|
|
+# MMC/SDIO DVB adapters
|
|
+#
|
|
+# CONFIG_SMS_SDIO_DRV is not set
|
|
+# CONFIG_V4L_TEST_DRIVERS is not set
|
|
+# CONFIG_DVB_TEST_DRIVERS is not set
|
|
+CONFIG_CYPRESS_FIRMWARE=y
|
|
+CONFIG_TTPCI_EEPROM=m
|
|
+CONFIG_VIDEO_CX2341X=m
|
|
+CONFIG_VIDEO_TVEEPROM=m
|
|
+CONFIG_DVB_B2C2_FLEXCOP=m
|
|
+CONFIG_VIDEOBUF2_CORE=y
|
|
+CONFIG_VIDEOBUF2_V4L2=y
|
|
+CONFIG_VIDEOBUF2_MEMOPS=y
|
|
+CONFIG_VIDEOBUF2_DMA_CONTIG=y
|
|
+CONFIG_VIDEOBUF2_VMALLOC=y
|
|
+CONFIG_VIDEOBUF2_DMA_SG=m
|
|
+CONFIG_VIDEOBUF2_DVB=m
|
|
+# end of Media drivers
|
|
+
|
|
+#
|
|
+# Media ancillary drivers
|
|
+#
|
|
+CONFIG_MEDIA_ATTACH=y
|
|
+# CONFIG_VIDEO_IR_I2C is not set
|
|
+
|
|
+#
|
|
+# Camera sensor devices
|
|
+#
|
|
+# CONFIG_VIDEO_HI556 is not set
|
|
+# CONFIG_VIDEO_HI846 is not set
|
|
+# CONFIG_VIDEO_HI847 is not set
|
|
+# CONFIG_VIDEO_IMX208 is not set
|
|
+# CONFIG_VIDEO_IMX214 is not set
|
|
+CONFIG_VIDEO_IMX219=y
|
|
+# CONFIG_VIDEO_IMX258 is not set
|
|
+# CONFIG_VIDEO_IMX274 is not set
|
|
+# CONFIG_VIDEO_IMX290 is not set
|
|
+# CONFIG_VIDEO_IMX319 is not set
|
|
+# CONFIG_VIDEO_IMX334 is not set
|
|
+# CONFIG_VIDEO_IMX335 is not set
|
|
+# CONFIG_VIDEO_IMX355 is not set
|
|
+# CONFIG_VIDEO_IMX412 is not set
|
|
+# CONFIG_VIDEO_MT9M001 is not set
|
|
+# CONFIG_VIDEO_MT9M032 is not set
|
|
+# CONFIG_VIDEO_MT9M111 is not set
|
|
+# CONFIG_VIDEO_MT9P031 is not set
|
|
+# CONFIG_VIDEO_MT9T001 is not set
|
|
+# CONFIG_VIDEO_MT9T112 is not set
|
|
+# CONFIG_VIDEO_MT9V011 is not set
|
|
+# CONFIG_VIDEO_MT9V032 is not set
|
|
+# CONFIG_VIDEO_MT9V111 is not set
|
|
+# CONFIG_VIDEO_NOON010PC30 is not set
|
|
+# CONFIG_VIDEO_OG01A1B is not set
|
|
+# CONFIG_VIDEO_OV02A10 is not set
|
|
+# CONFIG_VIDEO_OV08D10 is not set
|
|
+# CONFIG_VIDEO_OV13858 is not set
|
|
+# CONFIG_VIDEO_OV13B10 is not set
|
|
+# CONFIG_VIDEO_OV2640 is not set
|
|
+# CONFIG_VIDEO_OV2659 is not set
|
|
+# CONFIG_VIDEO_OV2680 is not set
|
|
+# CONFIG_VIDEO_OV2685 is not set
|
|
+# CONFIG_VIDEO_OV5640 is not set
|
|
+CONFIG_VIDEO_OV5645=y
|
|
+# CONFIG_VIDEO_OV5647 is not set
|
|
+# CONFIG_VIDEO_OV5648 is not set
|
|
+# CONFIG_VIDEO_OV5670 is not set
|
|
+# CONFIG_VIDEO_OV5675 is not set
|
|
+# CONFIG_VIDEO_OV5693 is not set
|
|
+# CONFIG_VIDEO_OV5695 is not set
|
|
+# CONFIG_VIDEO_OV6650 is not set
|
|
+# CONFIG_VIDEO_OV7251 is not set
|
|
+# CONFIG_VIDEO_OV7640 is not set
|
|
+# CONFIG_VIDEO_OV7670 is not set
|
|
+# CONFIG_VIDEO_OV772X is not set
|
|
+# CONFIG_VIDEO_OV7740 is not set
|
|
+# CONFIG_VIDEO_OV8856 is not set
|
|
+# CONFIG_VIDEO_OV8865 is not set
|
|
+# CONFIG_VIDEO_OV9282 is not set
|
|
+# CONFIG_VIDEO_OV9640 is not set
|
|
+# CONFIG_VIDEO_OV9650 is not set
|
|
+# CONFIG_VIDEO_RDACM20 is not set
|
|
+# CONFIG_VIDEO_RDACM21 is not set
|
|
+# CONFIG_VIDEO_RJ54N1 is not set
|
|
+# CONFIG_VIDEO_S5C73M3 is not set
|
|
+# CONFIG_VIDEO_S5K4ECGX is not set
|
|
+# CONFIG_VIDEO_S5K5BAF is not set
|
|
+# CONFIG_VIDEO_S5K6A3 is not set
|
|
+# CONFIG_VIDEO_S5K6AA is not set
|
|
+# CONFIG_VIDEO_SR030PC30 is not set
|
|
+# CONFIG_VIDEO_VS6624 is not set
|
|
+# CONFIG_VIDEO_CCS is not set
|
|
+# CONFIG_VIDEO_ET8EK8 is not set
|
|
+# CONFIG_VIDEO_M5MOLS is not set
|
|
+# end of Camera sensor devices
|
|
+
|
|
+#
|
|
+# Lens drivers
|
|
+#
|
|
+# CONFIG_VIDEO_AD5820 is not set
|
|
+# CONFIG_VIDEO_AK7375 is not set
|
|
+# CONFIG_VIDEO_DW9714 is not set
|
|
+# CONFIG_VIDEO_DW9768 is not set
|
|
+# CONFIG_VIDEO_DW9807_VCM is not set
|
|
+# end of Lens drivers
|
|
+
|
|
+#
|
|
+# Flash devices
|
|
+#
|
|
+# CONFIG_VIDEO_ADP1653 is not set
|
|
+# CONFIG_VIDEO_LM3560 is not set
|
|
+# CONFIG_VIDEO_LM3646 is not set
|
|
+# end of Flash devices
|
|
+
|
|
+#
|
|
+# Audio decoders, processors and mixers
|
|
+#
|
|
+CONFIG_VIDEO_CS3308=m
|
|
+# CONFIG_VIDEO_CS5345 is not set
|
|
+# CONFIG_VIDEO_CS53L32A is not set
|
|
+# CONFIG_VIDEO_MSP3400 is not set
|
|
+# CONFIG_VIDEO_SONY_BTF_MPX is not set
|
|
+# CONFIG_VIDEO_TDA1997X is not set
|
|
+# CONFIG_VIDEO_TDA7432 is not set
|
|
+# CONFIG_VIDEO_TDA9840 is not set
|
|
+# CONFIG_VIDEO_TEA6415C is not set
|
|
+# CONFIG_VIDEO_TEA6420 is not set
|
|
+# CONFIG_VIDEO_TLV320AIC23B is not set
|
|
+# CONFIG_VIDEO_TVAUDIO is not set
|
|
+# CONFIG_VIDEO_UDA1342 is not set
|
|
+# CONFIG_VIDEO_VP27SMPX is not set
|
|
+# CONFIG_VIDEO_WM8739 is not set
|
|
+# CONFIG_VIDEO_WM8775 is not set
|
|
+# end of Audio decoders, processors and mixers
|
|
+
|
|
+#
|
|
+# RDS decoders
|
|
+#
|
|
+# CONFIG_VIDEO_SAA6588 is not set
|
|
+# end of RDS decoders
|
|
+
|
|
+#
|
|
+# Video decoders
|
|
+#
|
|
+# CONFIG_VIDEO_ADV7180 is not set
|
|
+# CONFIG_VIDEO_ADV7183 is not set
|
|
+# CONFIG_VIDEO_ADV748X is not set
|
|
+# CONFIG_VIDEO_ADV7604 is not set
|
|
+# CONFIG_VIDEO_ADV7842 is not set
|
|
+# CONFIG_VIDEO_BT819 is not set
|
|
+# CONFIG_VIDEO_BT856 is not set
|
|
+# CONFIG_VIDEO_BT866 is not set
|
|
+# CONFIG_VIDEO_ISL7998X is not set
|
|
+# CONFIG_VIDEO_KS0127 is not set
|
|
+# CONFIG_VIDEO_MAX9286 is not set
|
|
+# CONFIG_VIDEO_ML86V7667 is not set
|
|
+# CONFIG_VIDEO_SAA7110 is not set
|
|
+# CONFIG_VIDEO_SAA711X is not set
|
|
+# CONFIG_VIDEO_TC358743 is not set
|
|
+# CONFIG_VIDEO_TVP514X is not set
|
|
+# CONFIG_VIDEO_TVP5150 is not set
|
|
+# CONFIG_VIDEO_TVP7002 is not set
|
|
+# CONFIG_VIDEO_TW2804 is not set
|
|
+# CONFIG_VIDEO_TW9903 is not set
|
|
+# CONFIG_VIDEO_TW9906 is not set
|
|
+# CONFIG_VIDEO_TW9910 is not set
|
|
+# CONFIG_VIDEO_VPX3220 is not set
|
|
+
|
|
+#
|
|
+# Video and audio decoders
|
|
+#
|
|
+# CONFIG_VIDEO_SAA717X is not set
|
|
+CONFIG_VIDEO_CX25840=m
|
|
+# end of Video decoders
|
|
+
|
|
+#
|
|
+# Video encoders
|
|
+#
|
|
+# CONFIG_VIDEO_AD9389B is not set
|
|
+# CONFIG_VIDEO_ADV7170 is not set
|
|
+# CONFIG_VIDEO_ADV7175 is not set
|
|
+# CONFIG_VIDEO_ADV7343 is not set
|
|
+# CONFIG_VIDEO_ADV7393 is not set
|
|
+# CONFIG_VIDEO_ADV7511 is not set
|
|
+# CONFIG_VIDEO_AK881X is not set
|
|
+# CONFIG_VIDEO_SAA7127 is not set
|
|
+# CONFIG_VIDEO_SAA7185 is not set
|
|
+# CONFIG_VIDEO_THS8200 is not set
|
|
+# end of Video encoders
|
|
+
|
|
+#
|
|
+# Video improvement chips
|
|
+#
|
|
+# CONFIG_VIDEO_UPD64031A is not set
|
|
+# CONFIG_VIDEO_UPD64083 is not set
|
|
+# end of Video improvement chips
|
|
+
|
|
+#
|
|
+# Audio/Video compression chips
|
|
+#
|
|
+# CONFIG_VIDEO_SAA6752HS is not set
|
|
+# end of Audio/Video compression chips
|
|
+
|
|
+#
|
|
+# SDR tuner chips
|
|
+#
|
|
+# CONFIG_SDR_MAX2175 is not set
|
|
+# end of SDR tuner chips
|
|
+
|
|
+#
|
|
+# Miscellaneous helper chips
|
|
+#
|
|
+# CONFIG_VIDEO_I2C is not set
|
|
+# CONFIG_VIDEO_M52790 is not set
|
|
+# CONFIG_VIDEO_ST_MIPID02 is not set
|
|
+# CONFIG_VIDEO_THS7303 is not set
|
|
+# end of Miscellaneous helper chips
|
|
+
|
|
+#
|
|
+# Media SPI Adapters
|
|
+#
|
|
+CONFIG_CXD2880_SPI_DRV=m
|
|
+# CONFIG_VIDEO_GS1662 is not set
|
|
+# end of Media SPI Adapters
|
|
+
|
|
+CONFIG_MEDIA_TUNER=y
|
|
+
|
|
+#
|
|
+# Customize TV tuners
|
|
+#
|
|
+CONFIG_MEDIA_TUNER_E4000=m
|
|
+CONFIG_MEDIA_TUNER_FC0011=m
|
|
+CONFIG_MEDIA_TUNER_FC0012=m
|
|
+CONFIG_MEDIA_TUNER_FC0013=m
|
|
+CONFIG_MEDIA_TUNER_FC2580=m
|
|
+CONFIG_MEDIA_TUNER_IT913X=m
|
|
+CONFIG_MEDIA_TUNER_M88RS6000T=m
|
|
+CONFIG_MEDIA_TUNER_MAX2165=m
|
|
+CONFIG_MEDIA_TUNER_MC44S803=m
|
|
+CONFIG_MEDIA_TUNER_MSI001=m
|
|
+CONFIG_MEDIA_TUNER_MT2060=m
|
|
+CONFIG_MEDIA_TUNER_MT2063=m
|
|
+CONFIG_MEDIA_TUNER_MT20XX=m
|
|
+CONFIG_MEDIA_TUNER_MT2131=m
|
|
+CONFIG_MEDIA_TUNER_MT2266=m
|
|
+CONFIG_MEDIA_TUNER_MXL301RF=m
|
|
+CONFIG_MEDIA_TUNER_MXL5005S=m
|
|
+CONFIG_MEDIA_TUNER_MXL5007T=m
|
|
+CONFIG_MEDIA_TUNER_QM1D1B0004=m
|
|
+CONFIG_MEDIA_TUNER_QM1D1C0042=m
|
|
+CONFIG_MEDIA_TUNER_QT1010=m
|
|
+CONFIG_MEDIA_TUNER_R820T=m
|
|
+CONFIG_MEDIA_TUNER_SI2157=m
|
|
+CONFIG_MEDIA_TUNER_SIMPLE=m
|
|
+CONFIG_MEDIA_TUNER_TDA18212=m
|
|
+CONFIG_MEDIA_TUNER_TDA18218=m
|
|
+CONFIG_MEDIA_TUNER_TDA18250=m
|
|
+CONFIG_MEDIA_TUNER_TDA18271=m
|
|
+CONFIG_MEDIA_TUNER_TDA827X=m
|
|
+CONFIG_MEDIA_TUNER_TDA8290=m
|
|
+CONFIG_MEDIA_TUNER_TDA9887=m
|
|
+CONFIG_MEDIA_TUNER_TEA5761=m
|
|
+CONFIG_MEDIA_TUNER_TEA5767=m
|
|
+CONFIG_MEDIA_TUNER_TUA9001=m
|
|
+CONFIG_MEDIA_TUNER_XC2028=m
|
|
+CONFIG_MEDIA_TUNER_XC4000=m
|
|
+CONFIG_MEDIA_TUNER_XC5000=m
|
|
+# end of Customize TV tuners
|
|
+
|
|
+#
|
|
+# Customise DVB Frontends
|
|
+#
|
|
+
|
|
+#
|
|
+# Multistandard (satellite) frontends
|
|
+#
|
|
+CONFIG_DVB_M88DS3103=m
|
|
+CONFIG_DVB_MXL5XX=m
|
|
+CONFIG_DVB_STB0899=m
|
|
+CONFIG_DVB_STB6100=m
|
|
+CONFIG_DVB_STV090x=m
|
|
+CONFIG_DVB_STV0910=m
|
|
+CONFIG_DVB_STV6110x=m
|
|
+CONFIG_DVB_STV6111=m
|
|
+
|
|
+#
|
|
+# Multistandard (cable + terrestrial) frontends
|
|
+#
|
|
+CONFIG_DVB_DRXK=m
|
|
+CONFIG_DVB_MN88472=m
|
|
+CONFIG_DVB_MN88473=m
|
|
+CONFIG_DVB_SI2165=m
|
|
+CONFIG_DVB_TDA18271C2DD=m
|
|
+
|
|
+#
|
|
+# DVB-S (satellite) frontends
|
|
+#
|
|
+CONFIG_DVB_CX24110=m
|
|
+CONFIG_DVB_CX24116=m
|
|
+CONFIG_DVB_CX24117=m
|
|
+CONFIG_DVB_CX24120=m
|
|
+CONFIG_DVB_CX24123=m
|
|
+CONFIG_DVB_DS3000=m
|
|
+CONFIG_DVB_MB86A16=m
|
|
+CONFIG_DVB_MT312=m
|
|
+CONFIG_DVB_S5H1420=m
|
|
+CONFIG_DVB_SI21XX=m
|
|
+CONFIG_DVB_STB6000=m
|
|
+CONFIG_DVB_STV0288=m
|
|
+CONFIG_DVB_STV0299=m
|
|
+CONFIG_DVB_STV0900=m
|
|
+CONFIG_DVB_STV6110=m
|
|
+CONFIG_DVB_TDA10071=m
|
|
+CONFIG_DVB_TDA10086=m
|
|
+CONFIG_DVB_TDA8083=m
|
|
+CONFIG_DVB_TDA8261=m
|
|
+CONFIG_DVB_TDA826X=m
|
|
+CONFIG_DVB_TS2020=m
|
|
+CONFIG_DVB_TUA6100=m
|
|
+CONFIG_DVB_TUNER_CX24113=m
|
|
+CONFIG_DVB_TUNER_ITD1000=m
|
|
+CONFIG_DVB_VES1X93=m
|
|
+CONFIG_DVB_ZL10036=m
|
|
+CONFIG_DVB_ZL10039=m
|
|
+
|
|
+#
|
|
+# DVB-T (terrestrial) frontends
|
|
+#
|
|
+CONFIG_DVB_AF9013=m
|
|
+CONFIG_DVB_AS102_FE=m
|
|
+CONFIG_DVB_CX22700=m
|
|
+CONFIG_DVB_CX22702=m
|
|
+CONFIG_DVB_CXD2820R=m
|
|
+CONFIG_DVB_CXD2841ER=m
|
|
+CONFIG_DVB_DIB3000MB=m
|
|
+CONFIG_DVB_DIB3000MC=m
|
|
+CONFIG_DVB_DIB7000M=m
|
|
+CONFIG_DVB_DIB7000P=m
|
|
+CONFIG_DVB_DIB9000=m
|
|
+CONFIG_DVB_DRXD=m
|
|
+CONFIG_DVB_EC100=m
|
|
+CONFIG_DVB_GP8PSK_FE=m
|
|
+CONFIG_DVB_L64781=m
|
|
+CONFIG_DVB_MT352=m
|
|
+CONFIG_DVB_NXT6000=m
|
|
+CONFIG_DVB_RTL2830=m
|
|
+CONFIG_DVB_RTL2832=m
|
|
+CONFIG_DVB_RTL2832_SDR=m
|
|
+CONFIG_DVB_S5H1432=m
|
|
+CONFIG_DVB_SI2168=m
|
|
+CONFIG_DVB_SP887X=m
|
|
+CONFIG_DVB_STV0367=m
|
|
+CONFIG_DVB_TDA10048=m
|
|
+CONFIG_DVB_TDA1004X=m
|
|
+CONFIG_DVB_ZD1301_DEMOD=m
|
|
+CONFIG_DVB_ZL10353=m
|
|
+CONFIG_DVB_CXD2880=m
|
|
+
|
|
+#
|
|
+# DVB-C (cable) frontends
|
|
+#
|
|
+CONFIG_DVB_STV0297=m
|
|
+CONFIG_DVB_TDA10021=m
|
|
+CONFIG_DVB_TDA10023=m
|
|
+CONFIG_DVB_VES1820=m
|
|
+
|
|
+#
|
|
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
|
|
+#
|
|
+CONFIG_DVB_AU8522=m
|
|
+CONFIG_DVB_AU8522_DTV=m
|
|
+# CONFIG_DVB_AU8522_V4L is not set
|
|
+CONFIG_DVB_BCM3510=m
|
|
+CONFIG_DVB_LG2160=m
|
|
+CONFIG_DVB_LGDT3305=m
|
|
+CONFIG_DVB_LGDT3306A=m
|
|
+CONFIG_DVB_LGDT330X=m
|
|
+CONFIG_DVB_MXL692=m
|
|
+CONFIG_DVB_NXT200X=m
|
|
+CONFIG_DVB_OR51132=m
|
|
+CONFIG_DVB_OR51211=m
|
|
+CONFIG_DVB_S5H1409=m
|
|
+CONFIG_DVB_S5H1411=m
|
|
+
|
|
+#
|
|
+# ISDB-T (terrestrial) frontends
|
|
+#
|
|
+CONFIG_DVB_DIB8000=m
|
|
+CONFIG_DVB_MB86A20S=m
|
|
+CONFIG_DVB_S921=m
|
|
+
|
|
+#
|
|
+# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
|
|
+#
|
|
+CONFIG_DVB_MN88443X=m
|
|
+CONFIG_DVB_TC90522=m
|
|
+
|
|
+#
|
|
+# Digital terrestrial only tuners/PLL
|
|
+#
|
|
+CONFIG_DVB_PLL=m
|
|
+# CONFIG_DVB_TUNER_DIB0070 is not set
|
|
+# CONFIG_DVB_TUNER_DIB0090 is not set
|
|
+
|
|
+#
|
|
+# SEC control devices for DVB-S
|
|
+#
|
|
+CONFIG_DVB_A8293=m
|
|
+CONFIG_DVB_AF9033=m
|
|
+CONFIG_DVB_ASCOT2E=m
|
|
+CONFIG_DVB_ATBM8830=m
|
|
+CONFIG_DVB_HELENE=m
|
|
+CONFIG_DVB_HORUS3A=m
|
|
+CONFIG_DVB_ISL6405=m
|
|
+CONFIG_DVB_ISL6421=m
|
|
+CONFIG_DVB_ISL6423=m
|
|
+CONFIG_DVB_IX2505V=m
|
|
+CONFIG_DVB_LGS8GL5=m
|
|
+CONFIG_DVB_LGS8GXX=m
|
|
+CONFIG_DVB_LNBH25=m
|
|
+CONFIG_DVB_LNBH29=m
|
|
+CONFIG_DVB_LNBP21=m
|
|
+CONFIG_DVB_LNBP22=m
|
|
+CONFIG_DVB_M88RS2000=m
|
|
+CONFIG_DVB_TDA665x=m
|
|
+CONFIG_DVB_DRX39XYJ=m
|
|
+
|
|
+#
|
|
+# Common Interface (EN50221) controller drivers
|
|
+#
|
|
+CONFIG_DVB_CXD2099=m
|
|
+CONFIG_DVB_SP2=m
|
|
+# end of Customise DVB Frontends
|
|
+
|
|
+#
|
|
+# Tools to develop new frontends
|
|
+#
|
|
+# CONFIG_DVB_DUMMY_FE is not set
|
|
+# end of Media ancillary drivers
|
|
+
|
|
+#
|
|
+# Graphics support
|
|
+#
|
|
+CONFIG_DRM=y
|
|
+CONFIG_DRM_MIPI_DSI=y
|
|
+# CONFIG_DRM_DP_AUX_CHARDEV is not set
|
|
+# CONFIG_DRM_DEBUG_MM is not set
|
|
+# CONFIG_DRM_DEBUG_SELFTEST is not set
|
|
+CONFIG_DRM_DP_HELPER=y
|
|
+CONFIG_DRM_KMS_HELPER=y
|
|
+# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
|
|
+# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
|
|
+CONFIG_DRM_FBDEV_EMULATION=y
|
|
+CONFIG_DRM_FBDEV_OVERALLOC=100
|
|
+# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
|
|
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
|
|
+# CONFIG_DRM_DP_CEC is not set
|
|
+CONFIG_DRM_TTM=m
|
|
+CONFIG_DRM_VRAM_HELPER=m
|
|
+CONFIG_DRM_TTM_HELPER=m
|
|
+CONFIG_DRM_GEM_CMA_HELPER=y
|
|
+CONFIG_DRM_GEM_SHMEM_HELPER=y
|
|
+CONFIG_DRM_SCHED=y
|
|
+
|
|
+#
|
|
+# I2C encoder or helper chips
|
|
+#
|
|
+# CONFIG_DRM_I2C_CH7006 is not set
|
|
+# CONFIG_DRM_I2C_SIL164 is not set
|
|
+# CONFIG_DRM_I2C_NXP_TDA998X is not set
|
|
+# CONFIG_DRM_I2C_NXP_TDA9950 is not set
|
|
+# end of I2C encoder or helper chips
|
|
+
|
|
+#
|
|
+# ARM devices
|
|
+#
|
|
+# CONFIG_DRM_HDLCD is not set
|
|
+# CONFIG_DRM_MALI_DISPLAY is not set
|
|
+# CONFIG_DRM_KOMEDA is not set
|
|
+# end of ARM devices
|
|
+
|
|
+# CONFIG_DRM_RADEON is not set
|
|
+# CONFIG_DRM_AMDGPU is not set
|
|
+# CONFIG_DRM_NOUVEAU is not set
|
|
+# CONFIG_DRM_VGEM is not set
|
|
+# CONFIG_DRM_VKMS is not set
|
|
+CONFIG_DRM_ROCKCHIP=y
|
|
+CONFIG_ROCKCHIP_ANALOGIX_DP=y
|
|
+CONFIG_ROCKCHIP_CDN_DP=y
|
|
+CONFIG_ROCKCHIP_DW_HDMI=y
|
|
+CONFIG_ROCKCHIP_DW_MIPI_DSI=y
|
|
+CONFIG_ROCKCHIP_INNO_HDMI=y
|
|
+CONFIG_ROCKCHIP_LVDS=y
|
|
+CONFIG_ROCKCHIP_RGB=y
|
|
+CONFIG_ROCKCHIP_RK3066_HDMI=y
|
|
+# CONFIG_DRM_VMWGFX is not set
|
|
+CONFIG_DRM_UDL=y
|
|
+CONFIG_DRM_AST=m
|
|
+# CONFIG_DRM_MGAG200 is not set
|
|
+# CONFIG_DRM_RCAR_DW_HDMI is not set
|
|
+# CONFIG_DRM_RCAR_USE_LVDS is not set
|
|
+# CONFIG_DRM_RCAR_MIPI_DSI is not set
|
|
+# CONFIG_DRM_QXL is not set
|
|
+CONFIG_DRM_PANEL=y
|
|
+
|
|
+#
|
|
+# Display Panels
|
|
+#
|
|
+# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
|
|
+# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
|
|
+# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
|
|
+# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set
|
|
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
|
|
+# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
|
|
+# CONFIG_DRM_PANEL_DSI_CM is not set
|
|
+# CONFIG_DRM_PANEL_LVDS is not set
|
|
+CONFIG_DRM_PANEL_SIMPLE=y
|
|
+# CONFIG_DRM_PANEL_EDP is not set
|
|
+CONFIG_DRM_PANEL_ELIDA_KD35T133=y
|
|
+# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
|
|
+# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
|
|
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
|
|
+# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
|
|
+# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
|
|
+# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
|
|
+# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
|
|
+# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
|
|
+# CONFIG_DRM_PANEL_JDI_R63452 is not set
|
|
+# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
|
|
+# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
|
|
+# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
|
|
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
|
|
+# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
|
|
+# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
|
|
+# CONFIG_DRM_PANEL_LG_LG4573 is not set
|
|
+# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
|
|
+# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
|
|
+# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
|
|
+# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
|
|
+# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
|
|
+# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
|
|
+# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
|
|
+# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
|
|
+# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
|
|
+# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
|
|
+# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
|
|
+# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
|
|
+# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
|
|
+# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
|
|
+# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
|
|
+# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
|
|
+# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
|
|
+# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
|
|
+# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
|
|
+# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
|
|
+# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
|
|
+# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
|
|
+# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
|
|
+# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
|
|
+# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
|
|
+# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
|
|
+# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
|
|
+# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
|
|
+# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
|
|
+CONFIG_DRM_PANEL_SHARP_LS054B3SX01=y
|
|
+# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
|
|
+CONFIG_DRM_PANEL_SITRONIX_ST7701=y
|
|
+# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
|
|
+# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
|
|
+# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
|
|
+# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set
|
|
+# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
|
|
+# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
|
|
+# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
|
|
+# CONFIG_DRM_PANEL_TPO_TPG110 is not set
|
|
+# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
|
|
+# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
|
|
+# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
|
|
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
|
|
+# end of Display Panels
|
|
+
|
|
+CONFIG_DRM_BRIDGE=y
|
|
+CONFIG_DRM_PANEL_BRIDGE=y
|
|
+
|
|
+#
|
|
+# Display Interface Bridges
|
|
+#
|
|
+# CONFIG_DRM_CDNS_DSI is not set
|
|
+# CONFIG_DRM_CHIPONE_ICN6211 is not set
|
|
+# CONFIG_DRM_CHRONTEL_CH7033 is not set
|
|
+CONFIG_DRM_DISPLAY_CONNECTOR=y
|
|
+# CONFIG_DRM_ITE_IT6505 is not set
|
|
+# CONFIG_DRM_LONTIUM_LT8912B is not set
|
|
+# CONFIG_DRM_LONTIUM_LT9611 is not set
|
|
+# CONFIG_DRM_LONTIUM_LT9611UXC is not set
|
|
+# CONFIG_DRM_ITE_IT66121 is not set
|
|
+# CONFIG_DRM_LVDS_CODEC is not set
|
|
+# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
|
|
+# CONFIG_DRM_NWL_MIPI_DSI is not set
|
|
+# CONFIG_DRM_NXP_PTN3460 is not set
|
|
+# CONFIG_DRM_PARADE_PS8622 is not set
|
|
+# CONFIG_DRM_PARADE_PS8640 is not set
|
|
+# CONFIG_DRM_SIL_SII8620 is not set
|
|
+# CONFIG_DRM_SII902X is not set
|
|
+# CONFIG_DRM_SII9234 is not set
|
|
+# CONFIG_DRM_SIMPLE_BRIDGE is not set
|
|
+# CONFIG_DRM_THINE_THC63LVD1024 is not set
|
|
+# CONFIG_DRM_TOSHIBA_TC358762 is not set
|
|
+# CONFIG_DRM_TOSHIBA_TC358764 is not set
|
|
+# CONFIG_DRM_TOSHIBA_TC358767 is not set
|
|
+# CONFIG_DRM_TOSHIBA_TC358768 is not set
|
|
+# CONFIG_DRM_TOSHIBA_TC358775 is not set
|
|
+# CONFIG_DRM_TI_TFP410 is not set
|
|
+# CONFIG_DRM_TI_SN65DSI83 is not set
|
|
+# CONFIG_DRM_TI_SN65DSI86 is not set
|
|
+# CONFIG_DRM_TI_TPD12S015 is not set
|
|
+# CONFIG_DRM_ANALOGIX_ANX6345 is not set
|
|
+# CONFIG_DRM_ANALOGIX_ANX78XX is not set
|
|
+CONFIG_DRM_ANALOGIX_DP=y
|
|
+# CONFIG_DRM_ANALOGIX_ANX7625 is not set
|
|
+# CONFIG_DRM_I2C_ADV7511 is not set
|
|
+# CONFIG_DRM_CDNS_MHDP8546 is not set
|
|
+CONFIG_DRM_DW_HDMI=y
|
|
+# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
|
|
+CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
|
|
+CONFIG_DRM_DW_HDMI_CEC=y
|
|
+CONFIG_DRM_DW_MIPI_DSI=y
|
|
+# end of Display Interface Bridges
|
|
+
|
|
+# CONFIG_DRM_ETNAVIV is not set
|
|
+# CONFIG_DRM_HISI_HIBMC is not set
|
|
+# CONFIG_DRM_HISI_KIRIN is not set
|
|
+# CONFIG_DRM_MXSFB is not set
|
|
+# CONFIG_DRM_ARCPGU is not set
|
|
+# CONFIG_DRM_BOCHS is not set
|
|
+# CONFIG_DRM_CIRRUS_QEMU is not set
|
|
+# CONFIG_DRM_GM12U320 is not set
|
|
+# CONFIG_DRM_PANEL_MIPI_DBI is not set
|
|
+# CONFIG_DRM_SIMPLEDRM is not set
|
|
+# CONFIG_TINYDRM_HX8357D is not set
|
|
+# CONFIG_TINYDRM_ILI9163 is not set
|
|
+# CONFIG_TINYDRM_ILI9225 is not set
|
|
+# CONFIG_TINYDRM_ILI9341 is not set
|
|
+# CONFIG_TINYDRM_ILI9486 is not set
|
|
+# CONFIG_TINYDRM_MI0283QT is not set
|
|
+# CONFIG_TINYDRM_REPAPER is not set
|
|
+# CONFIG_TINYDRM_ST7586 is not set
|
|
+# CONFIG_TINYDRM_ST7735R is not set
|
|
+# CONFIG_DRM_PL111 is not set
|
|
+# CONFIG_DRM_LIMA is not set
|
|
+CONFIG_DRM_PANFROST=y
|
|
+# CONFIG_DRM_TIDSS is not set
|
|
+# CONFIG_DRM_GUD is not set
|
|
+# CONFIG_DRM_SSD130X is not set
|
|
+# CONFIG_DRM_LEGACY is not set
|
|
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
|
|
+CONFIG_DRM_NOMODESET=y
|
|
+
|
|
+#
|
|
+# Frame buffer Devices
|
|
+#
|
|
+CONFIG_FB_CMDLINE=y
|
|
+CONFIG_FB_NOTIFY=y
|
|
+CONFIG_FB=y
|
|
+# CONFIG_FIRMWARE_EDID is not set
|
|
+CONFIG_FB_CFB_FILLRECT=y
|
|
+CONFIG_FB_CFB_COPYAREA=y
|
|
+CONFIG_FB_CFB_IMAGEBLIT=y
|
|
+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_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_UVESA 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_SIMPLE is not set
|
|
+# CONFIG_FB_SSD1307 is not set
|
|
+# CONFIG_FB_SM712 is not set
|
|
+# end of Frame buffer Devices
|
|
+
|
|
+#
|
|
+# Backlight & LCD device support
|
|
+#
|
|
+# CONFIG_LCD_CLASS_DEVICE is not set
|
|
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
|
+# CONFIG_BACKLIGHT_KTD253 is not set
|
|
+CONFIG_BACKLIGHT_PWM=y
|
|
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
|
|
+# CONFIG_BACKLIGHT_ADP8860 is not set
|
|
+# CONFIG_BACKLIGHT_ADP8870 is not set
|
|
+# CONFIG_BACKLIGHT_LM3630A is not set
|
|
+# CONFIG_BACKLIGHT_LM3639 is not set
|
|
+# CONFIG_BACKLIGHT_LP855X is not set
|
|
+# CONFIG_BACKLIGHT_GPIO is not set
|
|
+# CONFIG_BACKLIGHT_LV5207LP is not set
|
|
+# CONFIG_BACKLIGHT_BD6107 is not set
|
|
+# CONFIG_BACKLIGHT_ARCXCNN is not set
|
|
+# CONFIG_BACKLIGHT_LED is not set
|
|
+# end of Backlight & LCD device support
|
|
+
|
|
+CONFIG_VIDEOMODE_HELPERS=y
|
|
+CONFIG_HDMI=y
|
|
+
|
|
+#
|
|
+# Console display driver support
|
|
+#
|
|
+CONFIG_DUMMY_CONSOLE=y
|
|
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
|
|
+CONFIG_DUMMY_CONSOLE_ROWS=25
|
|
+CONFIG_FRAMEBUFFER_CONSOLE=y
|
|
+# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
|
|
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
|
|
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
|
|
+# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
|
|
+# end of Console display driver support
|
|
+
|
|
+CONFIG_LOGO=y
|
|
+CONFIG_LOGO_LINUX_MONO=y
|
|
+CONFIG_LOGO_LINUX_VGA16=y
|
|
+CONFIG_LOGO_LINUX_CLUT224=y
|
|
+# end of Graphics support
|
|
+
|
|
+CONFIG_SOUND=y
|
|
+CONFIG_SND=y
|
|
+CONFIG_SND_TIMER=y
|
|
+CONFIG_SND_PCM=y
|
|
+CONFIG_SND_PCM_ELD=y
|
|
+CONFIG_SND_PCM_IEC958=y
|
|
+CONFIG_SND_DMAENGINE_PCM=y
|
|
+CONFIG_SND_SEQ_DEVICE=y
|
|
+CONFIG_SND_RAWMIDI=y
|
|
+CONFIG_SND_JACK=y
|
|
+CONFIG_SND_JACK_INPUT_DEV=y
|
|
+# CONFIG_SND_OSSEMUL is not set
|
|
+CONFIG_SND_PCM_TIMER=y
|
|
+CONFIG_SND_HRTIMER=y
|
|
+CONFIG_SND_DYNAMIC_MINORS=y
|
|
+CONFIG_SND_MAX_CARDS=32
|
|
+# CONFIG_SND_SUPPORT_OLD_API is not set
|
|
+CONFIG_SND_PROC_FS=y
|
|
+# CONFIG_SND_VERBOSE_PROCFS is not set
|
|
+CONFIG_SND_VERBOSE_PRINTK=y
|
|
+# CONFIG_SND_DEBUG is not set
|
|
+CONFIG_SND_SEQUENCER=y
|
|
+CONFIG_SND_SEQ_DUMMY=y
|
|
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
|
|
+CONFIG_SND_SEQ_MIDI_EVENT=y
|
|
+CONFIG_SND_SEQ_MIDI=y
|
|
+# CONFIG_SND_DRIVERS is not set
|
|
+# CONFIG_SND_PCI is not set
|
|
+
|
|
+#
|
|
+# HD-Audio
|
|
+#
|
|
+# end of HD-Audio
|
|
+
|
|
+CONFIG_SND_HDA_PREALLOC_SIZE=64
|
|
+# CONFIG_SND_SPI is not set
|
|
+# CONFIG_SND_USB is not set
|
|
+CONFIG_SND_PCMCIA=y
|
|
+# CONFIG_SND_VXPOCKET is not set
|
|
+# CONFIG_SND_PDAUDIOCF is not set
|
|
+CONFIG_SND_SOC=y
|
|
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
|
|
+# CONFIG_SND_SOC_ADI is not set
|
|
+# CONFIG_SND_SOC_AMD_ACP is not set
|
|
+# CONFIG_SND_AMD_ACP_CONFIG is not set
|
|
+# CONFIG_SND_ATMEL_SOC is not set
|
|
+# CONFIG_SND_BCM63XX_I2S_WHISTLER 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=y
|
|
+# CONFIG_SND_SOC_FSL_MQS is not set
|
|
+# CONFIG_SND_SOC_FSL_AUDMIX is not set
|
|
+# CONFIG_SND_SOC_FSL_SSI is not set
|
|
+# CONFIG_SND_SOC_FSL_SPDIF is not set
|
|
+# CONFIG_SND_SOC_FSL_ESAI is not set
|
|
+# CONFIG_SND_SOC_FSL_MICFIL is not set
|
|
+# CONFIG_SND_SOC_FSL_XCVR is not set
|
|
+# CONFIG_SND_SOC_IMX_AUDMUX is not set
|
|
+# end of SoC Audio for Freescale CPUs
|
|
+
|
|
+# CONFIG_SND_I2S_HI6210_I2S is not set
|
|
+# CONFIG_SND_SOC_IMG is not set
|
|
+# CONFIG_SND_SOC_MTK_BTCVSD is not set
|
|
+CONFIG_SND_SOC_ROCKCHIP=y
|
|
+CONFIG_SND_SOC_ROCKCHIP_I2S=y
|
|
+CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=y
|
|
+CONFIG_SND_SOC_ROCKCHIP_PDM=y
|
|
+CONFIG_SND_SOC_ROCKCHIP_SPDIF=y
|
|
+CONFIG_SND_SOC_ROCKCHIP_MAX98090=y
|
|
+CONFIG_SND_SOC_ROCKCHIP_RT5645=y
|
|
+# CONFIG_SND_SOC_RK3288_HDMI_ANALOG is not set
|
|
+# CONFIG_SND_SOC_RK3399_GRU_SOUND is not set
|
|
+# CONFIG_SND_SOC_SOF_TOPLEVEL is not set
|
|
+
|
|
+#
|
|
+# STMicroelectronics STM32 SOC audio support
|
|
+#
|
|
+# end of STMicroelectronics STM32 SOC audio support
|
|
+
|
|
+# CONFIG_SND_SOC_XILINX_I2S is not set
|
|
+# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
|
|
+# CONFIG_SND_SOC_XILINX_SPDIF is not set
|
|
+# CONFIG_SND_SOC_XTFPGA_I2S is not set
|
|
+CONFIG_SND_SOC_I2C_AND_SPI=y
|
|
+
|
|
+#
|
|
+# CODEC drivers
|
|
+#
|
|
+# CONFIG_SND_SOC_AC97_CODEC is not set
|
|
+# CONFIG_SND_SOC_ADAU1372_I2C is not set
|
|
+# CONFIG_SND_SOC_ADAU1372_SPI is not set
|
|
+# CONFIG_SND_SOC_ADAU1701 is not set
|
|
+# CONFIG_SND_SOC_ADAU1761_I2C is not set
|
|
+# CONFIG_SND_SOC_ADAU1761_SPI is not set
|
|
+# CONFIG_SND_SOC_ADAU7002 is not set
|
|
+# CONFIG_SND_SOC_ADAU7118_HW is not set
|
|
+# CONFIG_SND_SOC_ADAU7118_I2C is not set
|
|
+# CONFIG_SND_SOC_AK4104 is not set
|
|
+# CONFIG_SND_SOC_AK4118 is not set
|
|
+# CONFIG_SND_SOC_AK4375 is not set
|
|
+# CONFIG_SND_SOC_AK4458 is not set
|
|
+# CONFIG_SND_SOC_AK4554 is not set
|
|
+# CONFIG_SND_SOC_AK4613 is not set
|
|
+# CONFIG_SND_SOC_AK4642 is not set
|
|
+# CONFIG_SND_SOC_AK5386 is not set
|
|
+# CONFIG_SND_SOC_AK5558 is not set
|
|
+# CONFIG_SND_SOC_ALC5623 is not set
|
|
+# CONFIG_SND_SOC_AW8738 is not set
|
|
+# CONFIG_SND_SOC_BD28623 is not set
|
|
+# CONFIG_SND_SOC_BT_SCO is not set
|
|
+# CONFIG_SND_SOC_CS35L32 is not set
|
|
+# CONFIG_SND_SOC_CS35L33 is not set
|
|
+# CONFIG_SND_SOC_CS35L34 is not set
|
|
+# CONFIG_SND_SOC_CS35L35 is not set
|
|
+# CONFIG_SND_SOC_CS35L36 is not set
|
|
+# CONFIG_SND_SOC_CS35L41_SPI is not set
|
|
+# CONFIG_SND_SOC_CS35L41_I2C is not set
|
|
+# CONFIG_SND_SOC_CS42L42 is not set
|
|
+# CONFIG_SND_SOC_CS42L51_I2C is not set
|
|
+# CONFIG_SND_SOC_CS42L52 is not set
|
|
+# CONFIG_SND_SOC_CS42L56 is not set
|
|
+# CONFIG_SND_SOC_CS42L73 is not set
|
|
+# CONFIG_SND_SOC_CS4234 is not set
|
|
+# CONFIG_SND_SOC_CS4265 is not set
|
|
+# CONFIG_SND_SOC_CS4270 is not set
|
|
+# CONFIG_SND_SOC_CS4271_I2C is not set
|
|
+# CONFIG_SND_SOC_CS4271_SPI is not set
|
|
+# CONFIG_SND_SOC_CS42XX8_I2C is not set
|
|
+# CONFIG_SND_SOC_CS43130 is not set
|
|
+# CONFIG_SND_SOC_CS4341 is not set
|
|
+# CONFIG_SND_SOC_CS4349 is not set
|
|
+# CONFIG_SND_SOC_CS53L30 is not set
|
|
+# CONFIG_SND_SOC_CX2072X is not set
|
|
+# CONFIG_SND_SOC_DA7213 is not set
|
|
+# CONFIG_SND_SOC_DMIC is not set
|
|
+CONFIG_SND_SOC_HDMI_CODEC=y
|
|
+# CONFIG_SND_SOC_ES7134 is not set
|
|
+# CONFIG_SND_SOC_ES7241 is not set
|
|
+CONFIG_SND_SOC_ES8316=y
|
|
+# CONFIG_SND_SOC_ES8328_I2C is not set
|
|
+# CONFIG_SND_SOC_ES8328_SPI is not set
|
|
+# CONFIG_SND_SOC_GTM601 is not set
|
|
+# CONFIG_SND_SOC_ICS43432 is not set
|
|
+# CONFIG_SND_SOC_INNO_RK3036 is not set
|
|
+# CONFIG_SND_SOC_MAX98088 is not set
|
|
+CONFIG_SND_SOC_MAX98090=y
|
|
+# CONFIG_SND_SOC_MAX98357A is not set
|
|
+# CONFIG_SND_SOC_MAX98504 is not set
|
|
+# CONFIG_SND_SOC_MAX9867 is not set
|
|
+# CONFIG_SND_SOC_MAX98927 is not set
|
|
+# CONFIG_SND_SOC_MAX98520 is not set
|
|
+# CONFIG_SND_SOC_MAX98373_I2C is not set
|
|
+# CONFIG_SND_SOC_MAX98390 is not set
|
|
+# CONFIG_SND_SOC_MAX9860 is not set
|
|
+# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
|
|
+# CONFIG_SND_SOC_PCM1681 is not set
|
|
+# CONFIG_SND_SOC_PCM1789_I2C is not set
|
|
+# CONFIG_SND_SOC_PCM179X_I2C is not set
|
|
+# CONFIG_SND_SOC_PCM179X_SPI is not set
|
|
+# CONFIG_SND_SOC_PCM186X_I2C is not set
|
|
+# CONFIG_SND_SOC_PCM186X_SPI is not set
|
|
+# CONFIG_SND_SOC_PCM3060_I2C is not set
|
|
+# CONFIG_SND_SOC_PCM3060_SPI is not set
|
|
+# CONFIG_SND_SOC_PCM3168A_I2C is not set
|
|
+# CONFIG_SND_SOC_PCM3168A_SPI is not set
|
|
+# CONFIG_SND_SOC_PCM5102A is not set
|
|
+# CONFIG_SND_SOC_PCM512x_I2C is not set
|
|
+# CONFIG_SND_SOC_PCM512x_SPI is not set
|
|
+# CONFIG_SND_SOC_RK3328 is not set
|
|
+CONFIG_SND_SOC_RK817=y
|
|
+CONFIG_SND_SOC_RL6231=y
|
|
+# CONFIG_SND_SOC_RT5616 is not set
|
|
+# CONFIG_SND_SOC_RT5631 is not set
|
|
+# CONFIG_SND_SOC_RT5640 is not set
|
|
+CONFIG_SND_SOC_RT5645=y
|
|
+# CONFIG_SND_SOC_RT5659 is not set
|
|
+# CONFIG_SND_SOC_RT9120 is not set
|
|
+# CONFIG_SND_SOC_SGTL5000 is not set
|
|
+CONFIG_SND_SOC_SIMPLE_AMPLIFIER=y
|
|
+# CONFIG_SND_SOC_SIMPLE_MUX is not set
|
|
+CONFIG_SND_SOC_SPDIF=y
|
|
+# CONFIG_SND_SOC_SSM2305 is not set
|
|
+# CONFIG_SND_SOC_SSM2518 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_TAS2562 is not set
|
|
+# CONFIG_SND_SOC_TAS2764 is not set
|
|
+# CONFIG_SND_SOC_TAS2770 is not set
|
|
+# CONFIG_SND_SOC_TAS5086 is not set
|
|
+# CONFIG_SND_SOC_TAS571X is not set
|
|
+# CONFIG_SND_SOC_TAS5720 is not set
|
|
+# CONFIG_SND_SOC_TAS5805M is not set
|
|
+# CONFIG_SND_SOC_TAS6424 is not set
|
|
+# CONFIG_SND_SOC_TDA7419 is not set
|
|
+# CONFIG_SND_SOC_TFA9879 is not set
|
|
+# CONFIG_SND_SOC_TFA989X is not set
|
|
+# CONFIG_SND_SOC_TLV320ADC3XXX is not set
|
|
+# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
|
|
+# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
|
|
+# CONFIG_SND_SOC_TLV320AIC31XX is not set
|
|
+# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
|
|
+# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
|
|
+# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
|
|
+# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
|
|
+# CONFIG_SND_SOC_TLV320ADCX140 is not set
|
|
+CONFIG_SND_SOC_TS3A227E=y
|
|
+# CONFIG_SND_SOC_TSCS42XX is not set
|
|
+# CONFIG_SND_SOC_TSCS454 is not set
|
|
+# CONFIG_SND_SOC_UDA1334 is not set
|
|
+# CONFIG_SND_SOC_WM8510 is not set
|
|
+# CONFIG_SND_SOC_WM8523 is not set
|
|
+# CONFIG_SND_SOC_WM8524 is not set
|
|
+# CONFIG_SND_SOC_WM8580 is not set
|
|
+# CONFIG_SND_SOC_WM8711 is not set
|
|
+# CONFIG_SND_SOC_WM8728 is not set
|
|
+# CONFIG_SND_SOC_WM8731 is not set
|
|
+# CONFIG_SND_SOC_WM8737 is not set
|
|
+# CONFIG_SND_SOC_WM8741 is not set
|
|
+# CONFIG_SND_SOC_WM8750 is not set
|
|
+# CONFIG_SND_SOC_WM8753 is not set
|
|
+# CONFIG_SND_SOC_WM8770 is not set
|
|
+# CONFIG_SND_SOC_WM8776 is not set
|
|
+# CONFIG_SND_SOC_WM8782 is not set
|
|
+# CONFIG_SND_SOC_WM8804_I2C is not set
|
|
+# CONFIG_SND_SOC_WM8804_SPI is not set
|
|
+# CONFIG_SND_SOC_WM8903 is not set
|
|
+# CONFIG_SND_SOC_WM8904 is not set
|
|
+# CONFIG_SND_SOC_WM8960 is not set
|
|
+# CONFIG_SND_SOC_WM8962 is not set
|
|
+# CONFIG_SND_SOC_WM8974 is not set
|
|
+# CONFIG_SND_SOC_WM8978 is not set
|
|
+# CONFIG_SND_SOC_WM8985 is not set
|
|
+# CONFIG_SND_SOC_ZL38060 is not set
|
|
+# CONFIG_SND_SOC_MAX9759 is not set
|
|
+# CONFIG_SND_SOC_MT6351 is not set
|
|
+# CONFIG_SND_SOC_MT6358 is not set
|
|
+# CONFIG_SND_SOC_MT6660 is not set
|
|
+# CONFIG_SND_SOC_NAU8315 is not set
|
|
+# CONFIG_SND_SOC_NAU8540 is not set
|
|
+# CONFIG_SND_SOC_NAU8810 is not set
|
|
+# CONFIG_SND_SOC_NAU8821 is not set
|
|
+# CONFIG_SND_SOC_NAU8822 is not set
|
|
+# CONFIG_SND_SOC_NAU8824 is not set
|
|
+# CONFIG_SND_SOC_TPA6130A2 is not set
|
|
+# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set
|
|
+# CONFIG_SND_SOC_LPASS_VA_MACRO is not set
|
|
+# CONFIG_SND_SOC_LPASS_RX_MACRO is not set
|
|
+# CONFIG_SND_SOC_LPASS_TX_MACRO is not set
|
|
+# end of CODEC drivers
|
|
+
|
|
+CONFIG_SND_SIMPLE_CARD_UTILS=y
|
|
+CONFIG_SND_SIMPLE_CARD=y
|
|
+CONFIG_SND_AUDIO_GRAPH_CARD=y
|
|
+CONFIG_SND_AUDIO_GRAPH_CARD2=y
|
|
+CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE=y
|
|
+CONFIG_SND_TEST_COMPONENT=y
|
|
+
|
|
+#
|
|
+# HID support
|
|
+#
|
|
+CONFIG_HID=y
|
|
+CONFIG_HID_BATTERY_STRENGTH=y
|
|
+CONFIG_HIDRAW=y
|
|
+CONFIG_UHID=y
|
|
+CONFIG_HID_GENERIC=y
|
|
+
|
|
+#
|
|
+# Special HID drivers
|
|
+#
|
|
+CONFIG_HID_A4TECH=y
|
|
+# CONFIG_HID_ACCUTOUCH is not set
|
|
+CONFIG_HID_ACRUX=y
|
|
+# CONFIG_HID_ACRUX_FF is not set
|
|
+CONFIG_HID_APPLE=y
|
|
+CONFIG_HID_APPLEIR=y
|
|
+# CONFIG_HID_ASUS is not set
|
|
+CONFIG_HID_AUREAL=y
|
|
+CONFIG_HID_BELKIN=y
|
|
+CONFIG_HID_BETOP_FF=y
|
|
+# CONFIG_HID_BIGBEN_FF is not set
|
|
+CONFIG_HID_CHERRY=y
|
|
+CONFIG_HID_CHICONY=y
|
|
+CONFIG_HID_CORSAIR=y
|
|
+# CONFIG_HID_COUGAR is not set
|
|
+# CONFIG_HID_MACALLY is not set
|
|
+CONFIG_HID_PRODIKEYS=y
|
|
+# CONFIG_HID_CMEDIA is not set
|
|
+CONFIG_HID_CP2112=y
|
|
+# CONFIG_HID_CREATIVE_SB0540 is not set
|
|
+CONFIG_HID_CYPRESS=y
|
|
+CONFIG_HID_DRAGONRISE=y
|
|
+CONFIG_DRAGONRISE_FF=y
|
|
+CONFIG_HID_EMS_FF=y
|
|
+# CONFIG_HID_ELAN is not set
|
|
+CONFIG_HID_ELECOM=y
|
|
+CONFIG_HID_ELO=y
|
|
+CONFIG_HID_EZKEY=y
|
|
+# CONFIG_HID_FT260 is not set
|
|
+CONFIG_HID_GEMBIRD=y
|
|
+CONFIG_HID_GFRM=y
|
|
+# CONFIG_HID_GLORIOUS is not set
|
|
+CONFIG_HID_HOLTEK=y
|
|
+CONFIG_HOLTEK_FF=y
|
|
+# CONFIG_HID_VIVALDI is not set
|
|
+CONFIG_HID_GT683R=y
|
|
+CONFIG_HID_KEYTOUCH=y
|
|
+CONFIG_HID_KYE=y
|
|
+CONFIG_HID_UCLOGIC=y
|
|
+CONFIG_HID_WALTOP=y
|
|
+# CONFIG_HID_VIEWSONIC is not set
|
|
+# CONFIG_HID_XIAOMI is not set
|
|
+CONFIG_HID_GYRATION=y
|
|
+CONFIG_HID_ICADE=y
|
|
+# CONFIG_HID_ITE is not set
|
|
+# CONFIG_HID_JABRA is not set
|
|
+CONFIG_HID_TWINHAN=y
|
|
+CONFIG_HID_KENSINGTON=y
|
|
+CONFIG_HID_LCPOWER=y
|
|
+CONFIG_HID_LED=y
|
|
+CONFIG_HID_LENOVO=y
|
|
+# CONFIG_HID_LETSKETCH 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_MALTRON is not set
|
|
+# CONFIG_HID_MAYFLASH is not set
|
|
+# CONFIG_HID_REDRAGON is not set
|
|
+CONFIG_HID_MICROSOFT=y
|
|
+CONFIG_HID_MONTEREY=y
|
|
+CONFIG_HID_MULTITOUCH=y
|
|
+# CONFIG_HID_NINTENDO is not set
|
|
+# CONFIG_HID_NTI is not set
|
|
+CONFIG_HID_NTRIG=y
|
|
+CONFIG_HID_ORTEK=y
|
|
+CONFIG_HID_PANTHERLORD=y
|
|
+CONFIG_PANTHERLORD_FF=y
|
|
+CONFIG_HID_PENMOUNT=y
|
|
+CONFIG_HID_PETALYNX=y
|
|
+# CONFIG_HID_PICOLCD is not set
|
|
+CONFIG_HID_PLANTRONICS=y
|
|
+# CONFIG_HID_RAZER is not set
|
|
+CONFIG_HID_PRIMAX=y
|
|
+# CONFIG_HID_RETRODE is not set
|
|
+CONFIG_HID_ROCCAT=y
|
|
+CONFIG_HID_SAITEK=y
|
|
+CONFIG_HID_SAMSUNG=y
|
|
+# CONFIG_HID_SEMITEK is not set
|
|
+# CONFIG_HID_SIGMAMICRO is not set
|
|
+CONFIG_HID_SONY=y
|
|
+# CONFIG_SONY_FF is not set
|
|
+CONFIG_HID_SPEEDLINK=y
|
|
+# CONFIG_HID_STEAM is not set
|
|
+CONFIG_HID_STEELSERIES=y
|
|
+CONFIG_HID_SUNPLUS=y
|
|
+CONFIG_HID_RMI=y
|
|
+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_UDRAW_PS3 is not set
|
|
+# CONFIG_HID_U2FZERO is not set
|
|
+CONFIG_HID_WACOM=y
|
|
+CONFIG_HID_WIIMOTE=y
|
|
+CONFIG_HID_XINMO=y
|
|
+CONFIG_HID_ZEROPLUS=y
|
|
+CONFIG_ZEROPLUS_FF=y
|
|
+CONFIG_HID_ZYDACRON=y
|
|
+CONFIG_HID_SENSOR_HUB=y
|
|
+CONFIG_HID_SENSOR_CUSTOM_SENSOR=y
|
|
+CONFIG_HID_ALPS=y
|
|
+# CONFIG_HID_MCP2221 is not set
|
|
+# end of Special HID drivers
|
|
+
|
|
+#
|
|
+# USB HID support
|
|
+#
|
|
+CONFIG_USB_HID=y
|
|
+# CONFIG_HID_PID is not set
|
|
+CONFIG_USB_HIDDEV=y
|
|
+# end of USB HID support
|
|
+
|
|
+#
|
|
+# I2C HID support
|
|
+#
|
|
+# CONFIG_I2C_HID_OF is not set
|
|
+CONFIG_I2C_HID_OF_GOODIX=y
|
|
+# end of I2C HID support
|
|
+
|
|
+CONFIG_I2C_HID_CORE=y
|
|
+# end of HID support
|
|
+
|
|
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
|
|
+CONFIG_USB_SUPPORT=y
|
|
+CONFIG_USB_COMMON=y
|
|
+# CONFIG_USB_LED_TRIG is not set
|
|
+# CONFIG_USB_ULPI_BUS is not set
|
|
+# CONFIG_USB_CONN_GPIO is not set
|
|
+CONFIG_USB_ARCH_HAS_HCD=y
|
|
+CONFIG_USB=y
|
|
+CONFIG_USB_PCI=y
|
|
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
|
+
|
|
+#
|
|
+# Miscellaneous USB options
|
|
+#
|
|
+# CONFIG_USB_DEFAULT_PERSIST is not set
|
|
+# CONFIG_USB_FEW_INIT_RETRIES is not set
|
|
+# CONFIG_USB_DYNAMIC_MINORS is not set
|
|
+CONFIG_USB_OTG=y
|
|
+# CONFIG_USB_OTG_PRODUCTLIST is not set
|
|
+# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
|
|
+# CONFIG_USB_OTG_FSM is not set
|
|
+# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
|
|
+CONFIG_USB_AUTOSUSPEND_DELAY=2
|
|
+CONFIG_USB_MON=y
|
|
+
|
|
+#
|
|
+# USB Host Controller Drivers
|
|
+#
|
|
+# CONFIG_USB_C67X00_HCD is not set
|
|
+CONFIG_USB_XHCI_HCD=y
|
|
+# CONFIG_USB_XHCI_DBGCAP is not set
|
|
+CONFIG_USB_XHCI_PCI=y
|
|
+# CONFIG_USB_XHCI_PCI_RENESAS is not set
|
|
+CONFIG_USB_XHCI_PLATFORM=y
|
|
+CONFIG_USB_EHCI_HCD=y
|
|
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
|
|
+CONFIG_USB_EHCI_TT_NEWSCHED=y
|
|
+CONFIG_USB_EHCI_PCI=y
|
|
+# CONFIG_USB_EHCI_FSL is not set
|
|
+CONFIG_USB_EHCI_HCD_PLATFORM=y
|
|
+# CONFIG_USB_OXU210HP_HCD is not set
|
|
+# CONFIG_USB_ISP116X_HCD is not set
|
|
+# CONFIG_USB_FOTG210_HCD is not set
|
|
+# CONFIG_USB_MAX3421_HCD is not set
|
|
+CONFIG_USB_OHCI_HCD=y
|
|
+# CONFIG_USB_OHCI_HCD_PCI is not set
|
|
+# CONFIG_USB_OHCI_HCD_SSB is not set
|
|
+CONFIG_USB_OHCI_HCD_PLATFORM=y
|
|
+# CONFIG_USB_UHCI_HCD is not set
|
|
+# CONFIG_USB_SL811_HCD is not set
|
|
+# CONFIG_USB_R8A66597_HCD is not set
|
|
+# CONFIG_USB_HCD_BCMA is not set
|
|
+# CONFIG_USB_HCD_SSB is not set
|
|
+# CONFIG_USB_HCD_TEST_MODE is not set
|
|
+
|
|
+#
|
|
+# USB Device Class drivers
|
|
+#
|
|
+CONFIG_USB_ACM=m
|
|
+# CONFIG_USB_PRINTER 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=y
|
|
+CONFIG_REALTEK_AUTOPM=y
|
|
+CONFIG_USB_STORAGE_DATAFAB=y
|
|
+CONFIG_USB_STORAGE_FREECOM=y
|
|
+CONFIG_USB_STORAGE_ISD200=y
|
|
+CONFIG_USB_STORAGE_USBAT=y
|
|
+CONFIG_USB_STORAGE_SDDR09=y
|
|
+CONFIG_USB_STORAGE_SDDR55=y
|
|
+CONFIG_USB_STORAGE_JUMPSHOT=y
|
|
+CONFIG_USB_STORAGE_ALAUDA=y
|
|
+CONFIG_USB_STORAGE_ONETOUCH=y
|
|
+CONFIG_USB_STORAGE_KARMA=y
|
|
+CONFIG_USB_STORAGE_CYPRESS_ATACB=y
|
|
+CONFIG_USB_STORAGE_ENE_UB6250=y
|
|
+CONFIG_USB_UAS=y
|
|
+
|
|
+#
|
|
+# USB Imaging devices
|
|
+#
|
|
+# CONFIG_USB_MDC800 is not set
|
|
+# CONFIG_USB_MICROTEK is not set
|
|
+# CONFIG_USBIP_CORE is not set
|
|
+# CONFIG_USB_CDNS_SUPPORT is not set
|
|
+# CONFIG_USB_MUSB_HDRC is not set
|
|
+CONFIG_USB_DWC3=y
|
|
+# CONFIG_USB_DWC3_HOST is not set
|
|
+# CONFIG_USB_DWC3_GADGET is not set
|
|
+CONFIG_USB_DWC3_DUAL_ROLE=y
|
|
+
|
|
+#
|
|
+# Platform Glue Driver Support
|
|
+#
|
|
+CONFIG_USB_DWC3_HAPS=y
|
|
+CONFIG_USB_DWC3_OF_SIMPLE=y
|
|
+CONFIG_USB_DWC2=y
|
|
+# CONFIG_USB_DWC2_HOST is not set
|
|
+
|
|
+#
|
|
+# Gadget/Dual-role mode requires USB Gadget support to be enabled
|
|
+#
|
|
+# CONFIG_USB_DWC2_PERIPHERAL is not set
|
|
+CONFIG_USB_DWC2_DUAL_ROLE=y
|
|
+# CONFIG_USB_DWC2_PCI is not set
|
|
+# CONFIG_USB_DWC2_DEBUG is not set
|
|
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS 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=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=y
|
|
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
|
|
+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
|
|
+CONFIG_USB_SERIAL_CP210X=y
|
|
+# 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_F8153X 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=y
|
|
+# 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=y
|
|
+# CONFIG_USB_SERIAL_QCAUX is not set
|
|
+CONFIG_USB_SERIAL_QUALCOMM=y
|
|
+# CONFIG_USB_SERIAL_SPCP8X5 is not set
|
|
+# CONFIG_USB_SERIAL_SAFE is not set
|
|
+CONFIG_USB_SERIAL_SIERRAWIRELESS=y
|
|
+# CONFIG_USB_SERIAL_SYMBOL is not set
|
|
+# CONFIG_USB_SERIAL_TI is not set
|
|
+# CONFIG_USB_SERIAL_CYBERJACK 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_UPD78F0730 is not set
|
|
+# CONFIG_USB_SERIAL_XR 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_LEGOTOWER is not set
|
|
+# CONFIG_USB_LCD is not set
|
|
+# CONFIG_USB_CYPRESS_CY7C63 is not set
|
|
+# CONFIG_USB_CYTHERM is not set
|
|
+# CONFIG_USB_IDMOUSE is not set
|
|
+# CONFIG_USB_FTDI_ELAN is not set
|
|
+# CONFIG_USB_APPLEDISPLAY is not set
|
|
+# CONFIG_APPLE_MFI_FASTCHARGE 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=y
|
|
+# CONFIG_USB_HUB_USB251XB is not set
|
|
+# CONFIG_USB_HSIC_USB3503 is not set
|
|
+# CONFIG_USB_HSIC_USB4604 is not set
|
|
+# CONFIG_USB_LINK_LAYER_TEST is not set
|
|
+# CONFIG_USB_CHAOSKEY is not set
|
|
+
|
|
+#
|
|
+# USB Physical Layer drivers
|
|
+#
|
|
+CONFIG_USB_PHY=y
|
|
+CONFIG_NOP_USB_XCEIV=y
|
|
+# CONFIG_USB_GPIO_VBUS is not set
|
|
+# CONFIG_USB_ISP1301 is not set
|
|
+# CONFIG_USB_ULPI is not set
|
|
+# end of USB Physical Layer drivers
|
|
+
|
|
+CONFIG_USB_GADGET=y
|
|
+# CONFIG_USB_GADGET_DEBUG is not set
|
|
+CONFIG_USB_GADGET_DEBUG_FILES=y
|
|
+# CONFIG_USB_GADGET_DEBUG_FS is not set
|
|
+CONFIG_USB_GADGET_VBUS_DRAW=500
|
|
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
|
|
+CONFIG_U_SERIAL_CONSOLE=y
|
|
+
|
|
+#
|
|
+# USB Peripheral Controller
|
|
+#
|
|
+# CONFIG_USB_FOTG210_UDC is not set
|
|
+# CONFIG_USB_GR_UDC is not set
|
|
+# CONFIG_USB_R8A66597 is not set
|
|
+# CONFIG_USB_PXA27X is not set
|
|
+# CONFIG_USB_MV_UDC is not set
|
|
+# CONFIG_USB_MV_U3D is not set
|
|
+# CONFIG_USB_SNP_UDC_PLAT is not set
|
|
+# CONFIG_USB_M66592 is not set
|
|
+# CONFIG_USB_BDC_UDC is not set
|
|
+# CONFIG_USB_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_MAX3420_UDC is not set
|
|
+# CONFIG_USB_DUMMY_HCD is not set
|
|
+# end of USB Peripheral Controller
|
|
+
|
|
+CONFIG_USB_LIBCOMPOSITE=y
|
|
+CONFIG_USB_F_ACM=y
|
|
+CONFIG_USB_U_SERIAL=y
|
|
+CONFIG_USB_F_SERIAL=y
|
|
+CONFIG_USB_F_OBEX=y
|
|
+CONFIG_USB_F_MASS_STORAGE=y
|
|
+CONFIG_USB_F_FS=y
|
|
+CONFIG_USB_CONFIGFS=y
|
|
+# CONFIG_USB_CONFIGFS_SERIAL is not set
|
|
+CONFIG_USB_CONFIGFS_ACM=y
|
|
+# CONFIG_USB_CONFIGFS_OBEX is not set
|
|
+# CONFIG_USB_CONFIGFS_NCM is not set
|
|
+# CONFIG_USB_CONFIGFS_ECM is not set
|
|
+# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set
|
|
+# CONFIG_USB_CONFIGFS_RNDIS is not set
|
|
+# CONFIG_USB_CONFIGFS_EEM is not set
|
|
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
|
|
+# CONFIG_USB_CONFIGFS_F_LB_SS is not set
|
|
+CONFIG_USB_CONFIGFS_F_FS=y
|
|
+# CONFIG_USB_CONFIGFS_F_UAC1 is not set
|
|
+# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set
|
|
+# CONFIG_USB_CONFIGFS_F_UAC2 is not set
|
|
+# CONFIG_USB_CONFIGFS_F_MIDI is not set
|
|
+# CONFIG_USB_CONFIGFS_F_HID is not set
|
|
+# CONFIG_USB_CONFIGFS_F_UVC is not set
|
|
+# CONFIG_USB_CONFIGFS_F_PRINTER is not set
|
|
+
|
|
+#
|
|
+# USB Gadget precomposed configurations
|
|
+#
|
|
+# 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 is not set
|
|
+# CONFIG_USB_MASS_STORAGE is not set
|
|
+CONFIG_USB_G_SERIAL=y
|
|
+# 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_USB_RAW_GADGET is not set
|
|
+# end of USB Gadget precomposed configurations
|
|
+
|
|
+CONFIG_TYPEC=y
|
|
+CONFIG_TYPEC_TCPM=y
|
|
+# CONFIG_TYPEC_TCPCI is not set
|
|
+CONFIG_TYPEC_FUSB302=y
|
|
+# CONFIG_TYPEC_UCSI is not set
|
|
+# CONFIG_TYPEC_TPS6598X is not set
|
|
+# CONFIG_TYPEC_RT1719 is not set
|
|
+# CONFIG_TYPEC_HD3SS3220 is not set
|
|
+# CONFIG_TYPEC_STUSB160X is not set
|
|
+# CONFIG_TYPEC_WUSB3801 is not set
|
|
+
|
|
+#
|
|
+# USB Type-C Multiplexer/DeMultiplexer Switch support
|
|
+#
|
|
+# CONFIG_TYPEC_MUX_PI3USB30532 is not set
|
|
+# end of USB Type-C Multiplexer/DeMultiplexer Switch support
|
|
+
|
|
+#
|
|
+# USB Type-C Alternate Mode drivers
|
|
+#
|
|
+CONFIG_TYPEC_DP_ALTMODE=y
|
|
+# CONFIG_TYPEC_NVIDIA_ALTMODE is not set
|
|
+# end of USB Type-C Alternate Mode drivers
|
|
+
|
|
+CONFIG_USB_ROLE_SWITCH=y
|
|
+CONFIG_MMC=y
|
|
+CONFIG_PWRSEQ_EMMC=y
|
|
+# CONFIG_PWRSEQ_SD8787 is not set
|
|
+CONFIG_PWRSEQ_SIMPLE=y
|
|
+CONFIG_MMC_BLOCK=y
|
|
+CONFIG_MMC_BLOCK_MINORS=32
|
|
+# CONFIG_SDIO_UART is not set
|
|
+CONFIG_MMC_TEST=y
|
|
+
|
|
+#
|
|
+# MMC/SD/SDIO Host Controller Drivers
|
|
+#
|
|
+# CONFIG_MMC_DEBUG is not set
|
|
+# CONFIG_MMC_ARMMMCI is not set
|
|
+CONFIG_MMC_SDHCI=y
|
|
+# CONFIG_MMC_SDHCI_PCI is not set
|
|
+CONFIG_MMC_SDHCI_PLTFM=y
|
|
+CONFIG_MMC_SDHCI_OF_ARASAN=y
|
|
+# CONFIG_MMC_SDHCI_OF_ASPEED is not set
|
|
+# CONFIG_MMC_SDHCI_OF_AT91 is not set
|
|
+# CONFIG_MMC_SDHCI_OF_DWCMSHC is not set
|
|
+# CONFIG_MMC_SDHCI_CADENCE is not set
|
|
+# CONFIG_MMC_SDHCI_F_SDH30 is not set
|
|
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
|
|
+# CONFIG_MMC_TIFM_SD is not set
|
|
+# CONFIG_MMC_SPI is not set
|
|
+# CONFIG_MMC_SDRICOH_CS is not set
|
|
+# CONFIG_MMC_CB710 is not set
|
|
+# CONFIG_MMC_VIA_SDMMC is not set
|
|
+CONFIG_MMC_DW=y
|
|
+CONFIG_MMC_DW_PLTFM=y
|
|
+# CONFIG_MMC_DW_BLUEFIELD is not set
|
|
+# CONFIG_MMC_DW_EXYNOS is not set
|
|
+# CONFIG_MMC_DW_HI3798CV200 is not set
|
|
+# CONFIG_MMC_DW_K3 is not set
|
|
+# CONFIG_MMC_DW_PCI is not set
|
|
+CONFIG_MMC_DW_ROCKCHIP=y
|
|
+# CONFIG_MMC_VUB300 is not set
|
|
+# CONFIG_MMC_USHC is not set
|
|
+# CONFIG_MMC_USDHI6ROL0 is not set
|
|
+CONFIG_MMC_CQHCI=y
|
|
+# CONFIG_MMC_HSQ is not set
|
|
+# CONFIG_MMC_TOSHIBA_PCI is not set
|
|
+# CONFIG_MMC_MTK is not set
|
|
+# CONFIG_MMC_SDHCI_XENON is not set
|
|
+# CONFIG_MMC_SDHCI_OMAP is not set
|
|
+# CONFIG_MMC_SDHCI_AM654 is not set
|
|
+# CONFIG_MEMSTICK is not set
|
|
+CONFIG_NEW_LEDS=y
|
|
+CONFIG_LEDS_CLASS=y
|
|
+# CONFIG_LEDS_CLASS_FLASH is not set
|
|
+# CONFIG_LEDS_CLASS_MULTICOLOR is not set
|
|
+# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
|
|
+
|
|
+#
|
|
+# LED drivers
|
|
+#
|
|
+# CONFIG_LEDS_AN30259A is not set
|
|
+# CONFIG_LEDS_AW2013 is not set
|
|
+# CONFIG_LEDS_BCM6328 is not set
|
|
+# CONFIG_LEDS_BCM6358 is not set
|
|
+# CONFIG_LEDS_CR0014114 is not set
|
|
+# CONFIG_LEDS_EL15203000 is not set
|
|
+# CONFIG_LEDS_LM3530 is not set
|
|
+# CONFIG_LEDS_LM3532 is not set
|
|
+# CONFIG_LEDS_LM3642 is not set
|
|
+# CONFIG_LEDS_LM3692X is not set
|
|
+# CONFIG_LEDS_PCA9532 is not set
|
|
+CONFIG_LEDS_GPIO=y
|
|
+# CONFIG_LEDS_LP3944 is not set
|
|
+# CONFIG_LEDS_LP3952 is not set
|
|
+# CONFIG_LEDS_LP50XX is not set
|
|
+# CONFIG_LEDS_LP55XX_COMMON is not set
|
|
+# CONFIG_LEDS_LP8860 is not set
|
|
+# CONFIG_LEDS_PCA955X is not set
|
|
+# CONFIG_LEDS_PCA963X is not set
|
|
+# CONFIG_LEDS_DAC124S085 is not set
|
|
+CONFIG_LEDS_PWM=y
|
|
+# CONFIG_LEDS_REGULATOR is not set
|
|
+# CONFIG_LEDS_BD2802 is not set
|
|
+# CONFIG_LEDS_LT3593 is not set
|
|
+# CONFIG_LEDS_TCA6507 is not set
|
|
+# CONFIG_LEDS_TLC591XX is not set
|
|
+# CONFIG_LEDS_LM355x is not set
|
|
+# CONFIG_LEDS_IS31FL319X is not set
|
|
+CONFIG_LEDS_IS31FL32XX=y
|
|
+
|
|
+#
|
|
+# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
|
|
+#
|
|
+# CONFIG_LEDS_BLINKM is not set
|
|
+CONFIG_LEDS_SYSCON=y
|
|
+# CONFIG_LEDS_MLXREG is not set
|
|
+# CONFIG_LEDS_USER is not set
|
|
+# CONFIG_LEDS_SPI_BYTE is not set
|
|
+# CONFIG_LEDS_TI_LMU_COMMON is not set
|
|
+
|
|
+#
|
|
+# Flash and Torch LED drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# LED Triggers
|
|
+#
|
|
+CONFIG_LEDS_TRIGGERS=y
|
|
+CONFIG_LEDS_TRIGGER_TIMER=y
|
|
+CONFIG_LEDS_TRIGGER_ONESHOT=y
|
|
+CONFIG_LEDS_TRIGGER_DISK=y
|
|
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
|
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
|
|
+CONFIG_LEDS_TRIGGER_CPU=y
|
|
+# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
|
|
+CONFIG_LEDS_TRIGGER_GPIO=y
|
|
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
|
+
|
|
+#
|
|
+# iptables trigger is under Netfilter config (LED target)
|
|
+#
|
|
+# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
|
|
+# CONFIG_LEDS_TRIGGER_CAMERA is not set
|
|
+# CONFIG_LEDS_TRIGGER_PANIC is not set
|
|
+# CONFIG_LEDS_TRIGGER_NETDEV is not set
|
|
+# CONFIG_LEDS_TRIGGER_PATTERN is not set
|
|
+# CONFIG_LEDS_TRIGGER_AUDIO is not set
|
|
+# CONFIG_LEDS_TRIGGER_TTY is not set
|
|
+
|
|
+#
|
|
+# Simple LED drivers
|
|
+#
|
|
+# CONFIG_ACCESSIBILITY is not set
|
|
+# CONFIG_INFINIBAND is not set
|
|
+CONFIG_EDAC_SUPPORT=y
|
|
+# CONFIG_EDAC is not set
|
|
+CONFIG_RTC_LIB=y
|
|
+CONFIG_RTC_CLASS=y
|
|
+CONFIG_RTC_HCTOSYS=y
|
|
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
|
|
+# CONFIG_RTC_SYSTOHC is not set
|
|
+# CONFIG_RTC_DEBUG is not set
|
|
+CONFIG_RTC_NVMEM=y
|
|
+
|
|
+#
|
|
+# RTC interfaces
|
|
+#
|
|
+CONFIG_RTC_INTF_SYSFS=y
|
|
+# CONFIG_RTC_INTF_PROC is not set
|
|
+# CONFIG_RTC_INTF_DEV is not set
|
|
+# CONFIG_RTC_DRV_TEST is not set
|
|
+
|
|
+#
|
|
+# I2C RTC drivers
|
|
+#
|
|
+# CONFIG_RTC_DRV_ABB5ZES3 is not set
|
|
+# CONFIG_RTC_DRV_ABEOZ9 is not set
|
|
+# CONFIG_RTC_DRV_ABX80X is not set
|
|
+# CONFIG_RTC_DRV_DS1307 is not set
|
|
+# CONFIG_RTC_DRV_DS1374 is not set
|
|
+# CONFIG_RTC_DRV_DS1672 is not set
|
|
+CONFIG_RTC_DRV_HYM8563=y
|
|
+# CONFIG_RTC_DRV_MAX6900 is not set
|
|
+CONFIG_RTC_DRV_RK808=y
|
|
+# CONFIG_RTC_DRV_RS5C372 is not set
|
|
+# CONFIG_RTC_DRV_ISL1208 is not set
|
|
+# CONFIG_RTC_DRV_ISL12022 is not set
|
|
+# CONFIG_RTC_DRV_ISL12026 is not set
|
|
+# CONFIG_RTC_DRV_X1205 is not set
|
|
+# CONFIG_RTC_DRV_PCF8523 is not set
|
|
+# CONFIG_RTC_DRV_PCF85063 is not set
|
|
+# CONFIG_RTC_DRV_PCF85363 is not set
|
|
+# CONFIG_RTC_DRV_PCF8563 is not set
|
|
+# CONFIG_RTC_DRV_PCF8583 is not set
|
|
+# CONFIG_RTC_DRV_M41T80 is not set
|
|
+# CONFIG_RTC_DRV_BQ32K is not set
|
|
+# CONFIG_RTC_DRV_TPS6586X is not set
|
|
+# CONFIG_RTC_DRV_S35390A is not set
|
|
+# CONFIG_RTC_DRV_FM3130 is not set
|
|
+# CONFIG_RTC_DRV_RX8010 is not set
|
|
+# CONFIG_RTC_DRV_RX8581 is not set
|
|
+# CONFIG_RTC_DRV_RX8025 is not set
|
|
+# CONFIG_RTC_DRV_EM3027 is not set
|
|
+# CONFIG_RTC_DRV_RV3028 is not set
|
|
+# CONFIG_RTC_DRV_RV3032 is not set
|
|
+# CONFIG_RTC_DRV_RV8803 is not set
|
|
+# CONFIG_RTC_DRV_SD3078 is not set
|
|
+
|
|
+#
|
|
+# SPI RTC drivers
|
|
+#
|
|
+# CONFIG_RTC_DRV_M41T93 is not set
|
|
+# CONFIG_RTC_DRV_M41T94 is not set
|
|
+# CONFIG_RTC_DRV_DS1302 is not set
|
|
+# CONFIG_RTC_DRV_DS1305 is not set
|
|
+# CONFIG_RTC_DRV_DS1343 is not set
|
|
+# CONFIG_RTC_DRV_DS1347 is not set
|
|
+# CONFIG_RTC_DRV_DS1390 is not set
|
|
+# CONFIG_RTC_DRV_MAX6916 is not set
|
|
+# CONFIG_RTC_DRV_R9701 is not set
|
|
+# CONFIG_RTC_DRV_RX4581 is not set
|
|
+# CONFIG_RTC_DRV_RS5C348 is not set
|
|
+# CONFIG_RTC_DRV_MAX6902 is not set
|
|
+# CONFIG_RTC_DRV_PCF2123 is not set
|
|
+# CONFIG_RTC_DRV_MCP795 is not set
|
|
+CONFIG_RTC_I2C_AND_SPI=y
|
|
+
|
|
+#
|
|
+# SPI and I2C RTC drivers
|
|
+#
|
|
+# CONFIG_RTC_DRV_DS3232 is not set
|
|
+# CONFIG_RTC_DRV_PCF2127 is not set
|
|
+# CONFIG_RTC_DRV_RV3029C2 is not set
|
|
+# CONFIG_RTC_DRV_RX6110 is not set
|
|
+
|
|
+#
|
|
+# Platform RTC drivers
|
|
+#
|
|
+# CONFIG_RTC_DRV_DS1286 is not set
|
|
+# CONFIG_RTC_DRV_DS1511 is not set
|
|
+# CONFIG_RTC_DRV_DS1553 is not set
|
|
+# CONFIG_RTC_DRV_DS1685_FAMILY is not set
|
|
+# CONFIG_RTC_DRV_DS1742 is not set
|
|
+# CONFIG_RTC_DRV_DS2404 is not set
|
|
+# CONFIG_RTC_DRV_STK17TA8 is not set
|
|
+# CONFIG_RTC_DRV_M48T86 is not set
|
|
+# CONFIG_RTC_DRV_M48T35 is not set
|
|
+# CONFIG_RTC_DRV_M48T59 is not set
|
|
+# CONFIG_RTC_DRV_MSM6242 is not set
|
|
+# CONFIG_RTC_DRV_BQ4802 is not set
|
|
+# CONFIG_RTC_DRV_RP5C01 is not set
|
|
+# CONFIG_RTC_DRV_V3020 is not set
|
|
+# CONFIG_RTC_DRV_ZYNQMP is not set
|
|
+
|
|
+#
|
|
+# on-CPU RTC drivers
|
|
+#
|
|
+# CONFIG_RTC_DRV_PL030 is not set
|
|
+# CONFIG_RTC_DRV_PL031 is not set
|
|
+# CONFIG_RTC_DRV_CADENCE is not set
|
|
+# CONFIG_RTC_DRV_FTRTC010 is not set
|
|
+# CONFIG_RTC_DRV_R7301 is not set
|
|
+
|
|
+#
|
|
+# HID Sensor RTC drivers
|
|
+#
|
|
+# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
|
|
+# CONFIG_RTC_DRV_GOLDFISH is not set
|
|
+CONFIG_DMADEVICES=y
|
|
+# CONFIG_DMADEVICES_DEBUG is not set
|
|
+
|
|
+#
|
|
+# DMA Devices
|
|
+#
|
|
+CONFIG_DMA_ENGINE=y
|
|
+CONFIG_DMA_OF=y
|
|
+# CONFIG_ALTERA_MSGDMA is not set
|
|
+# CONFIG_AMBA_PL08X is not set
|
|
+# CONFIG_BCM_SBA_RAID is not set
|
|
+# CONFIG_DW_AXI_DMAC is not set
|
|
+# CONFIG_FSL_EDMA is not set
|
|
+# CONFIG_FSL_QDMA is not set
|
|
+# CONFIG_HISI_DMA is not set
|
|
+# CONFIG_INTEL_IDMA64 is not set
|
|
+# CONFIG_MV_XOR_V2 is not set
|
|
+CONFIG_PL330_DMA=y
|
|
+# CONFIG_PLX_DMA is not set
|
|
+# CONFIG_XILINX_DMA is not set
|
|
+# CONFIG_XILINX_ZYNQMP_DMA is not set
|
|
+# CONFIG_XILINX_ZYNQMP_DPDMA is not set
|
|
+# CONFIG_QCOM_HIDMA_MGMT is not set
|
|
+# CONFIG_QCOM_HIDMA is not set
|
|
+# CONFIG_DW_DMAC is not set
|
|
+# CONFIG_DW_DMAC_PCI is not set
|
|
+# CONFIG_DW_EDMA is not set
|
|
+# CONFIG_DW_EDMA_PCIE is not set
|
|
+# CONFIG_SF_PDMA is not set
|
|
+
|
|
+#
|
|
+# DMA Clients
|
|
+#
|
|
+# CONFIG_ASYNC_TX_DMA is not set
|
|
+# CONFIG_DMATEST is not set
|
|
+
|
|
+#
|
|
+# DMABUF options
|
|
+#
|
|
+CONFIG_SYNC_FILE=y
|
|
+# CONFIG_SW_SYNC is not set
|
|
+# CONFIG_UDMABUF is not set
|
|
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
|
|
+# CONFIG_DMABUF_DEBUG is not set
|
|
+# CONFIG_DMABUF_SELFTESTS is not set
|
|
+# CONFIG_DMABUF_HEAPS is not set
|
|
+# CONFIG_DMABUF_SYSFS_STATS is not set
|
|
+# end of DMABUF options
|
|
+
|
|
+# CONFIG_AUXDISPLAY is not set
|
|
+# CONFIG_UIO is not set
|
|
+# CONFIG_VFIO is not set
|
|
+# CONFIG_VIRT_DRIVERS is not set
|
|
+# CONFIG_VIRTIO_MENU is not set
|
|
+# CONFIG_VDPA is not set
|
|
+# CONFIG_VHOST_MENU is not set
|
|
+
|
|
+#
|
|
+# Microsoft Hyper-V guest support
|
|
+#
|
|
+# end of Microsoft Hyper-V guest support
|
|
+
|
|
+# CONFIG_GREYBUS is not set
|
|
+# CONFIG_COMEDI is not set
|
|
+CONFIG_STAGING=y
|
|
+# CONFIG_PRISM2_USB is not set
|
|
+# CONFIG_RTL8192U is not set
|
|
+# CONFIG_RTLLIB is not set
|
|
+CONFIG_RTL8723BS=m
|
|
+# CONFIG_R8712U is not set
|
|
+# CONFIG_R8188EU is not set
|
|
+# CONFIG_RTS5208 is not set
|
|
+# CONFIG_VT6655 is not set
|
|
+# CONFIG_VT6656 is not set
|
|
+
|
|
+#
|
|
+# IIO staging drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Accelerometers
|
|
+#
|
|
+# CONFIG_ADIS16203 is not set
|
|
+# CONFIG_ADIS16240 is not set
|
|
+# end of Accelerometers
|
|
+
|
|
+#
|
|
+# Analog to digital converters
|
|
+#
|
|
+# CONFIG_AD7816 is not set
|
|
+# end of Analog to digital converters
|
|
+
|
|
+#
|
|
+# Analog digital bi-direction converters
|
|
+#
|
|
+# CONFIG_ADT7316 is not set
|
|
+# end of Analog digital bi-direction converters
|
|
+
|
|
+#
|
|
+# Capacitance to digital converters
|
|
+#
|
|
+# CONFIG_AD7746 is not set
|
|
+# end of Capacitance to digital converters
|
|
+
|
|
+#
|
|
+# Direct Digital Synthesis
|
|
+#
|
|
+# CONFIG_AD9832 is not set
|
|
+# CONFIG_AD9834 is not set
|
|
+# end of Direct Digital Synthesis
|
|
+
|
|
+#
|
|
+# Network Analyzer, Impedance Converters
|
|
+#
|
|
+# CONFIG_AD5933 is not set
|
|
+# end of Network Analyzer, Impedance Converters
|
|
+
|
|
+#
|
|
+# Active energy metering IC
|
|
+#
|
|
+# CONFIG_ADE7854 is not set
|
|
+# end of Active energy metering IC
|
|
+
|
|
+#
|
|
+# Resolver to digital converters
|
|
+#
|
|
+# CONFIG_AD2S1210 is not set
|
|
+# end of Resolver to digital converters
|
|
+# end of IIO staging drivers
|
|
+
|
|
+# CONFIG_FB_SM750 is not set
|
|
+# CONFIG_STAGING_MEDIA is not set
|
|
+# CONFIG_STAGING_BOARD is not set
|
|
+# CONFIG_LTE_GDM724X is not set
|
|
+# CONFIG_UNISYSSPAR is not set
|
|
+# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
|
|
+# CONFIG_FB_TFT is not set
|
|
+# CONFIG_KS7010 is not set
|
|
+# CONFIG_PI433 is not set
|
|
+# CONFIG_XIL_AXIS_FIFO is not set
|
|
+# CONFIG_FIELDBUS_DEV is not set
|
|
+# CONFIG_QLGE is not set
|
|
+# CONFIG_WFX is not set
|
|
+# CONFIG_GOLDFISH is not set
|
|
+CONFIG_CHROME_PLATFORMS=y
|
|
+# CONFIG_CROS_EC is not set
|
|
+# CONFIG_MELLANOX_PLATFORM is not set
|
|
+# CONFIG_SURFACE_PLATFORMS is not set
|
|
+CONFIG_HAVE_CLK=y
|
|
+CONFIG_HAVE_CLK_PREPARE=y
|
|
+CONFIG_COMMON_CLK=y
|
|
+
|
|
+#
|
|
+# Clock driver for ARM Reference designs
|
|
+#
|
|
+# CONFIG_CLK_ICST is not set
|
|
+# CONFIG_CLK_SP810 is not set
|
|
+# end of Clock driver for ARM Reference designs
|
|
+
|
|
+# CONFIG_LMK04832 is not set
|
|
+# CONFIG_COMMON_CLK_MAX9485 is not set
|
|
+CONFIG_COMMON_CLK_RK808=y
|
|
+# CONFIG_COMMON_CLK_SCMI is not set
|
|
+# CONFIG_COMMON_CLK_SCPI is not set
|
|
+# CONFIG_COMMON_CLK_SI5341 is not set
|
|
+# CONFIG_COMMON_CLK_SI5351 is not set
|
|
+# CONFIG_COMMON_CLK_SI514 is not set
|
|
+# CONFIG_COMMON_CLK_SI544 is not set
|
|
+# CONFIG_COMMON_CLK_SI570 is not set
|
|
+# CONFIG_COMMON_CLK_CDCE706 is not set
|
|
+# CONFIG_COMMON_CLK_CDCE925 is not set
|
|
+# CONFIG_COMMON_CLK_CS2000_CP is not set
|
|
+# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
|
|
+CONFIG_COMMON_CLK_XGENE=y
|
|
+# CONFIG_COMMON_CLK_PWM is not set
|
|
+# CONFIG_COMMON_CLK_RS9_PCIE is not set
|
|
+# CONFIG_COMMON_CLK_VC5 is not set
|
|
+# CONFIG_COMMON_CLK_FIXED_MMIO is not set
|
|
+CONFIG_COMMON_CLK_ROCKCHIP=y
|
|
+CONFIG_CLK_PX30=y
|
|
+# CONFIG_CLK_RK3308 is not set
|
|
+# CONFIG_CLK_RK3328 is not set
|
|
+# CONFIG_CLK_RK3368 is not set
|
|
+CONFIG_CLK_RK3399=y
|
|
+# CONFIG_CLK_RK3568 is not set
|
|
+# CONFIG_XILINX_VCU is not set
|
|
+# CONFIG_HWSPINLOCK is not set
|
|
+
|
|
+#
|
|
+# Clock Source drivers
|
|
+#
|
|
+CONFIG_TIMER_OF=y
|
|
+CONFIG_TIMER_PROBE=y
|
|
+CONFIG_CLKSRC_MMIO=y
|
|
+CONFIG_ROCKCHIP_TIMER=y
|
|
+CONFIG_ARM_ARCH_TIMER=y
|
|
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
|
|
+# CONFIG_FSL_ERRATUM_A008585 is not set
|
|
+# CONFIG_HISILICON_ERRATUM_161010101 is not set
|
|
+# CONFIG_ARM64_ERRATUM_858921 is not set
|
|
+# CONFIG_MICROCHIP_PIT64B is not set
|
|
+# end of Clock Source drivers
|
|
+
|
|
+CONFIG_MAILBOX=y
|
|
+CONFIG_ARM_MHU=y
|
|
+# CONFIG_ARM_MHU_V2 is not set
|
|
+CONFIG_PLATFORM_MHU=y
|
|
+# CONFIG_PL320_MBOX is not set
|
|
+CONFIG_ROCKCHIP_MBOX=y
|
|
+# CONFIG_ALTERA_MBOX is not set
|
|
+# CONFIG_MAILBOX_TEST is not set
|
|
+CONFIG_IOMMU_IOVA=y
|
|
+CONFIG_IOMMU_API=y
|
|
+CONFIG_IOMMU_SUPPORT=y
|
|
+
|
|
+#
|
|
+# Generic IOMMU Pagetable Support
|
|
+#
|
|
+CONFIG_IOMMU_IO_PGTABLE=y
|
|
+CONFIG_IOMMU_IO_PGTABLE_LPAE=y
|
|
+# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
|
|
+# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
|
|
+# end of Generic IOMMU Pagetable Support
|
|
+
|
|
+# CONFIG_IOMMU_DEBUGFS is not set
|
|
+CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
|
|
+# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set
|
|
+# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
|
|
+CONFIG_OF_IOMMU=y
|
|
+CONFIG_IOMMU_DMA=y
|
|
+CONFIG_ROCKCHIP_IOMMU=y
|
|
+CONFIG_ARM_SMMU=y
|
|
+# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set
|
|
+CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
|
|
+CONFIG_ARM_SMMU_V3=y
|
|
+# CONFIG_ARM_SMMU_V3_SVA is not set
|
|
+
|
|
+#
|
|
+# Remoteproc drivers
|
|
+#
|
|
+# CONFIG_REMOTEPROC is not set
|
|
+# end of Remoteproc drivers
|
|
+
|
|
+#
|
|
+# Rpmsg drivers
|
|
+#
|
|
+# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
|
|
+# CONFIG_RPMSG_VIRTIO is not set
|
|
+# end of Rpmsg drivers
|
|
+
|
|
+# CONFIG_SOUNDWIRE is not set
|
|
+
|
|
+#
|
|
+# SOC (System On Chip) specific Drivers
|
|
+#
|
|
+
|
|
+#
|
|
+# Amlogic SoC drivers
|
|
+#
|
|
+# end of Amlogic SoC drivers
|
|
+
|
|
+#
|
|
+# Broadcom SoC drivers
|
|
+#
|
|
+# CONFIG_SOC_BRCMSTB is not set
|
|
+# end of Broadcom SoC drivers
|
|
+
|
|
+#
|
|
+# NXP/Freescale QorIQ SoC drivers
|
|
+#
|
|
+# CONFIG_QUICC_ENGINE is not set
|
|
+# CONFIG_FSL_RCPM is not set
|
|
+# end of NXP/Freescale QorIQ SoC drivers
|
|
+
|
|
+#
|
|
+# i.MX SoC drivers
|
|
+#
|
|
+# end of i.MX SoC drivers
|
|
+
|
|
+#
|
|
+# Enable LiteX SoC Builder specific drivers
|
|
+#
|
|
+# CONFIG_LITEX_SOC_CONTROLLER is not set
|
|
+# end of Enable LiteX SoC Builder specific drivers
|
|
+
|
|
+#
|
|
+# Qualcomm SoC drivers
|
|
+#
|
|
+# end of Qualcomm SoC drivers
|
|
+
|
|
+CONFIG_ROCKCHIP_GRF=y
|
|
+CONFIG_ROCKCHIP_IODOMAIN=y
|
|
+CONFIG_ROCKCHIP_PM_DOMAINS=y
|
|
+# CONFIG_SOC_TI is not set
|
|
+
|
|
+#
|
|
+# Xilinx SoC drivers
|
|
+#
|
|
+# end of Xilinx SoC drivers
|
|
+# end of SOC (System On Chip) specific Drivers
|
|
+
|
|
+CONFIG_PM_DEVFREQ=y
|
|
+
|
|
+#
|
|
+# DEVFREQ Governors
|
|
+#
|
|
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
|
|
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
|
|
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
|
|
+CONFIG_DEVFREQ_GOV_USERSPACE=y
|
|
+# CONFIG_DEVFREQ_GOV_PASSIVE is not set
|
|
+
|
|
+#
|
|
+# DEVFREQ Drivers
|
|
+#
|
|
+# CONFIG_ARM_RK3399_DMC_DEVFREQ is not set
|
|
+CONFIG_PM_DEVFREQ_EVENT=y
|
|
+CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=y
|
|
+CONFIG_EXTCON=y
|
|
+
|
|
+#
|
|
+# Extcon Device Drivers
|
|
+#
|
|
+# CONFIG_EXTCON_ADC_JACK is not set
|
|
+# CONFIG_EXTCON_FSA9480 is not set
|
|
+# CONFIG_EXTCON_GPIO is not set
|
|
+# CONFIG_EXTCON_MAX3355 is not set
|
|
+# CONFIG_EXTCON_PTN5150 is not set
|
|
+# CONFIG_EXTCON_RT8973A is not set
|
|
+# CONFIG_EXTCON_SM5502 is not set
|
|
+# CONFIG_EXTCON_USB_GPIO is not set
|
|
+# CONFIG_EXTCON_USBC_TUSB320 is not set
|
|
+CONFIG_MEMORY=y
|
|
+# CONFIG_ARM_PL172_MPMC is not set
|
|
+CONFIG_IIO=y
|
|
+CONFIG_IIO_BUFFER=y
|
|
+CONFIG_IIO_BUFFER_CB=y
|
|
+# CONFIG_IIO_BUFFER_DMA is not set
|
|
+# CONFIG_IIO_BUFFER_DMAENGINE is not set
|
|
+# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
|
|
+CONFIG_IIO_KFIFO_BUF=y
|
|
+CONFIG_IIO_TRIGGERED_BUFFER=y
|
|
+CONFIG_IIO_CONFIGFS=y
|
|
+CONFIG_IIO_TRIGGER=y
|
|
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
|
|
+# CONFIG_IIO_SW_DEVICE is not set
|
|
+CONFIG_IIO_SW_TRIGGER=y
|
|
+CONFIG_IIO_TRIGGERED_EVENT=y
|
|
+
|
|
+#
|
|
+# Accelerometers
|
|
+#
|
|
+# CONFIG_ADIS16201 is not set
|
|
+# CONFIG_ADIS16209 is not set
|
|
+# CONFIG_ADXL313_I2C is not set
|
|
+# CONFIG_ADXL313_SPI is not set
|
|
+# CONFIG_ADXL345_I2C is not set
|
|
+# CONFIG_ADXL345_SPI is not set
|
|
+# CONFIG_ADXL355_I2C is not set
|
|
+# CONFIG_ADXL355_SPI is not set
|
|
+# CONFIG_ADXL367_SPI is not set
|
|
+# CONFIG_ADXL367_I2C is not set
|
|
+# CONFIG_ADXL372_SPI is not set
|
|
+# CONFIG_ADXL372_I2C is not set
|
|
+# CONFIG_BMA180 is not set
|
|
+# CONFIG_BMA220 is not set
|
|
+# CONFIG_BMA400 is not set
|
|
+# CONFIG_BMC150_ACCEL is not set
|
|
+# CONFIG_BMI088_ACCEL is not set
|
|
+# CONFIG_DA280 is not set
|
|
+# CONFIG_DA311 is not set
|
|
+# CONFIG_DMARD06 is not set
|
|
+# CONFIG_DMARD09 is not set
|
|
+# CONFIG_DMARD10 is not set
|
|
+# CONFIG_FXLS8962AF_I2C is not set
|
|
+# CONFIG_FXLS8962AF_SPI is not set
|
|
+# CONFIG_HID_SENSOR_ACCEL_3D is not set
|
|
+# CONFIG_IIO_ST_ACCEL_3AXIS is not set
|
|
+# CONFIG_KXSD9 is not set
|
|
+# CONFIG_KXCJK1013 is not set
|
|
+# CONFIG_MC3230 is not set
|
|
+# CONFIG_MMA7455_I2C is not set
|
|
+# CONFIG_MMA7455_SPI is not set
|
|
+# CONFIG_MMA7660 is not set
|
|
+# CONFIG_MMA8452 is not set
|
|
+# CONFIG_MMA9551 is not set
|
|
+# CONFIG_MMA9553 is not set
|
|
+# CONFIG_MXC4005 is not set
|
|
+# CONFIG_MXC6255 is not set
|
|
+# CONFIG_SCA3000 is not set
|
|
+# CONFIG_SCA3300 is not set
|
|
+# CONFIG_STK8312 is not set
|
|
+# CONFIG_STK8BA50 is not set
|
|
+# end of Accelerometers
|
|
+
|
|
+#
|
|
+# Analog to digital converters
|
|
+#
|
|
+# CONFIG_AD7091R5 is not set
|
|
+# CONFIG_AD7124 is not set
|
|
+# CONFIG_AD7192 is not set
|
|
+# CONFIG_AD7266 is not set
|
|
+# CONFIG_AD7280 is not set
|
|
+# CONFIG_AD7291 is not set
|
|
+# CONFIG_AD7292 is not set
|
|
+# CONFIG_AD7298 is not set
|
|
+# CONFIG_AD7476 is not set
|
|
+# CONFIG_AD7606_IFACE_PARALLEL is not set
|
|
+# CONFIG_AD7606_IFACE_SPI is not set
|
|
+# CONFIG_AD7766 is not set
|
|
+# CONFIG_AD7768_1 is not set
|
|
+# CONFIG_AD7780 is not set
|
|
+# CONFIG_AD7791 is not set
|
|
+# CONFIG_AD7793 is not set
|
|
+# CONFIG_AD7887 is not set
|
|
+# CONFIG_AD7923 is not set
|
|
+# CONFIG_AD7949 is not set
|
|
+# CONFIG_AD799X is not set
|
|
+# CONFIG_ADI_AXI_ADC is not set
|
|
+# CONFIG_CC10001_ADC is not set
|
|
+# CONFIG_ENVELOPE_DETECTOR is not set
|
|
+# CONFIG_HI8435 is not set
|
|
+# CONFIG_HX711 is not set
|
|
+# CONFIG_INA2XX_ADC is not set
|
|
+# CONFIG_LTC2471 is not set
|
|
+# CONFIG_LTC2485 is not set
|
|
+# CONFIG_LTC2496 is not set
|
|
+# CONFIG_LTC2497 is not set
|
|
+# CONFIG_MAX1027 is not set
|
|
+# CONFIG_MAX11100 is not set
|
|
+# CONFIG_MAX1118 is not set
|
|
+# CONFIG_MAX1241 is not set
|
|
+# CONFIG_MAX1363 is not set
|
|
+# CONFIG_MAX9611 is not set
|
|
+# CONFIG_MCP320X is not set
|
|
+# CONFIG_MCP3422 is not set
|
|
+# CONFIG_MCP3911 is not set
|
|
+# CONFIG_NAU7802 is not set
|
|
+CONFIG_ROCKCHIP_SARADC=y
|
|
+# CONFIG_SD_ADC_MODULATOR is not set
|
|
+# CONFIG_TI_ADC081C is not set
|
|
+# CONFIG_TI_ADC0832 is not set
|
|
+# CONFIG_TI_ADC084S021 is not set
|
|
+# CONFIG_TI_ADC12138 is not set
|
|
+# CONFIG_TI_ADC108S102 is not set
|
|
+# CONFIG_TI_ADC128S052 is not set
|
|
+# CONFIG_TI_ADC161S626 is not set
|
|
+# CONFIG_TI_ADS1015 is not set
|
|
+# CONFIG_TI_ADS7950 is not set
|
|
+# CONFIG_TI_ADS8344 is not set
|
|
+# CONFIG_TI_ADS8688 is not set
|
|
+# CONFIG_TI_ADS124S08 is not set
|
|
+# CONFIG_TI_ADS131E08 is not set
|
|
+# CONFIG_TI_TLC4541 is not set
|
|
+# CONFIG_TI_TSC2046 is not set
|
|
+# CONFIG_VF610_ADC is not set
|
|
+# CONFIG_XILINX_XADC is not set
|
|
+# end of Analog to digital converters
|
|
+
|
|
+#
|
|
+# Analog to digital and digital to analog converters
|
|
+#
|
|
+# CONFIG_AD74413R is not set
|
|
+# end of Analog to digital and digital to analog converters
|
|
+
|
|
+#
|
|
+# Analog Front Ends
|
|
+#
|
|
+# CONFIG_IIO_RESCALE is not set
|
|
+# end of Analog Front Ends
|
|
+
|
|
+#
|
|
+# Amplifiers
|
|
+#
|
|
+# CONFIG_AD8366 is not set
|
|
+# CONFIG_ADA4250 is not set
|
|
+# CONFIG_HMC425 is not set
|
|
+# end of Amplifiers
|
|
+
|
|
+#
|
|
+# Capacitance to digital converters
|
|
+#
|
|
+# CONFIG_AD7150 is not set
|
|
+# end of Capacitance to digital converters
|
|
+
|
|
+#
|
|
+# Chemical Sensors
|
|
+#
|
|
+# CONFIG_ATLAS_PH_SENSOR is not set
|
|
+# CONFIG_ATLAS_EZO_SENSOR is not set
|
|
+# CONFIG_BME680 is not set
|
|
+# CONFIG_CCS811 is not set
|
|
+# CONFIG_IAQCORE is not set
|
|
+# CONFIG_PMS7003 is not set
|
|
+# CONFIG_SCD30_CORE is not set
|
|
+# CONFIG_SCD4X is not set
|
|
+# CONFIG_SENSIRION_SGP30 is not set
|
|
+# CONFIG_SENSIRION_SGP40 is not set
|
|
+# CONFIG_SPS30_I2C is not set
|
|
+# CONFIG_SPS30_SERIAL is not set
|
|
+# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
|
|
+# CONFIG_VZ89X is not set
|
|
+# end of Chemical Sensors
|
|
+
|
|
+#
|
|
+# Hid Sensor IIO Common
|
|
+#
|
|
+# CONFIG_HID_SENSOR_IIO_COMMON is not set
|
|
+# end of Hid Sensor IIO Common
|
|
+
|
|
+#
|
|
+# IIO SCMI Sensors
|
|
+#
|
|
+# CONFIG_IIO_SCMI is not set
|
|
+# end of IIO SCMI Sensors
|
|
+
|
|
+#
|
|
+# SSP Sensor Common
|
|
+#
|
|
+# CONFIG_IIO_SSP_SENSORHUB is not set
|
|
+# end of SSP Sensor Common
|
|
+
|
|
+#
|
|
+# Digital to analog converters
|
|
+#
|
|
+# CONFIG_AD3552R is not set
|
|
+# CONFIG_AD5064 is not set
|
|
+# CONFIG_AD5360 is not set
|
|
+# CONFIG_AD5380 is not set
|
|
+# CONFIG_AD5421 is not set
|
|
+# CONFIG_AD5446 is not set
|
|
+# CONFIG_AD5449 is not set
|
|
+# CONFIG_AD5592R is not set
|
|
+# CONFIG_AD5593R is not set
|
|
+# CONFIG_AD5504 is not set
|
|
+# CONFIG_AD5624R_SPI is not set
|
|
+# CONFIG_LTC2688 is not set
|
|
+# CONFIG_AD5686_SPI is not set
|
|
+# CONFIG_AD5696_I2C is not set
|
|
+# CONFIG_AD5755 is not set
|
|
+# CONFIG_AD5758 is not set
|
|
+# CONFIG_AD5761 is not set
|
|
+# CONFIG_AD5764 is not set
|
|
+# CONFIG_AD5766 is not set
|
|
+# CONFIG_AD5770R is not set
|
|
+# CONFIG_AD5791 is not set
|
|
+# CONFIG_AD7293 is not set
|
|
+# CONFIG_AD7303 is not set
|
|
+# CONFIG_AD8801 is not set
|
|
+# CONFIG_DPOT_DAC is not set
|
|
+# CONFIG_DS4424 is not set
|
|
+# CONFIG_LTC1660 is not set
|
|
+# CONFIG_LTC2632 is not set
|
|
+# CONFIG_M62332 is not set
|
|
+# CONFIG_MAX517 is not set
|
|
+# CONFIG_MAX5821 is not set
|
|
+# CONFIG_MCP4725 is not set
|
|
+# CONFIG_MCP4922 is not set
|
|
+# CONFIG_TI_DAC082S085 is not set
|
|
+# CONFIG_TI_DAC5571 is not set
|
|
+# CONFIG_TI_DAC7311 is not set
|
|
+# CONFIG_TI_DAC7612 is not set
|
|
+# CONFIG_VF610_DAC is not set
|
|
+# end of Digital to analog converters
|
|
+
|
|
+#
|
|
+# IIO dummy driver
|
|
+#
|
|
+# end of IIO dummy driver
|
|
+
|
|
+#
|
|
+# Filters
|
|
+#
|
|
+# CONFIG_ADMV8818 is not set
|
|
+# end of Filters
|
|
+
|
|
+#
|
|
+# Frequency Synthesizers DDS/PLL
|
|
+#
|
|
+
|
|
+#
|
|
+# Clock Generator/Distribution
|
|
+#
|
|
+# CONFIG_AD9523 is not set
|
|
+# end of Clock Generator/Distribution
|
|
+
|
|
+#
|
|
+# Phase-Locked Loop (PLL) frequency synthesizers
|
|
+#
|
|
+# CONFIG_ADF4350 is not set
|
|
+# CONFIG_ADF4371 is not set
|
|
+# CONFIG_ADMV1013 is not set
|
|
+# CONFIG_ADMV1014 is not set
|
|
+# CONFIG_ADMV4420 is not set
|
|
+# CONFIG_ADRF6780 is not set
|
|
+# end of Phase-Locked Loop (PLL) frequency synthesizers
|
|
+# end of Frequency Synthesizers DDS/PLL
|
|
+
|
|
+#
|
|
+# Digital gyroscope sensors
|
|
+#
|
|
+# CONFIG_ADIS16080 is not set
|
|
+# CONFIG_ADIS16130 is not set
|
|
+# CONFIG_ADIS16136 is not set
|
|
+# CONFIG_ADIS16260 is not set
|
|
+# CONFIG_ADXRS290 is not set
|
|
+# CONFIG_ADXRS450 is not set
|
|
+# CONFIG_BMG160 is not set
|
|
+# CONFIG_FXAS21002C is not set
|
|
+# CONFIG_HID_SENSOR_GYRO_3D is not set
|
|
+# CONFIG_MPU3050_I2C is not set
|
|
+# CONFIG_IIO_ST_GYRO_3AXIS is not set
|
|
+# CONFIG_ITG3200 is not set
|
|
+# end of Digital gyroscope sensors
|
|
+
|
|
+#
|
|
+# Health Sensors
|
|
+#
|
|
+
|
|
+#
|
|
+# Heart Rate Monitors
|
|
+#
|
|
+# CONFIG_AFE4403 is not set
|
|
+# CONFIG_AFE4404 is not set
|
|
+# CONFIG_MAX30100 is not set
|
|
+# CONFIG_MAX30102 is not set
|
|
+# end of Heart Rate Monitors
|
|
+# end of Health Sensors
|
|
+
|
|
+#
|
|
+# Humidity sensors
|
|
+#
|
|
+# CONFIG_AM2315 is not set
|
|
+# CONFIG_DHT11 is not set
|
|
+# CONFIG_HDC100X is not set
|
|
+# CONFIG_HDC2010 is not set
|
|
+# CONFIG_HID_SENSOR_HUMIDITY is not set
|
|
+# CONFIG_HTS221 is not set
|
|
+# CONFIG_HTU21 is not set
|
|
+# CONFIG_SI7005 is not set
|
|
+# CONFIG_SI7020 is not set
|
|
+# end of Humidity sensors
|
|
+
|
|
+#
|
|
+# Inertial measurement units
|
|
+#
|
|
+# CONFIG_ADIS16400 is not set
|
|
+# CONFIG_ADIS16460 is not set
|
|
+# CONFIG_ADIS16475 is not set
|
|
+# CONFIG_ADIS16480 is not set
|
|
+# CONFIG_BMI160_I2C is not set
|
|
+# CONFIG_BMI160_SPI is not set
|
|
+# CONFIG_FXOS8700_I2C is not set
|
|
+# CONFIG_FXOS8700_SPI is not set
|
|
+# CONFIG_KMX61 is not set
|
|
+# CONFIG_INV_ICM42600_I2C is not set
|
|
+# CONFIG_INV_ICM42600_SPI is not set
|
|
+# CONFIG_INV_MPU6050_I2C is not set
|
|
+# CONFIG_INV_MPU6050_SPI is not set
|
|
+# CONFIG_IIO_ST_LSM6DSX is not set
|
|
+# CONFIG_IIO_ST_LSM9DS0 is not set
|
|
+# end of Inertial measurement units
|
|
+
|
|
+#
|
|
+# Light sensors
|
|
+#
|
|
+# CONFIG_ADJD_S311 is not set
|
|
+# CONFIG_ADUX1020 is not set
|
|
+# CONFIG_AL3010 is not set
|
|
+# CONFIG_AL3320A is not set
|
|
+# CONFIG_APDS9300 is not set
|
|
+# CONFIG_APDS9960 is not set
|
|
+# CONFIG_AS73211 is not set
|
|
+# CONFIG_BH1750 is not set
|
|
+# CONFIG_BH1780 is not set
|
|
+# CONFIG_CM32181 is not set
|
|
+# CONFIG_CM3232 is not set
|
|
+# CONFIG_CM3323 is not set
|
|
+# CONFIG_CM3605 is not set
|
|
+# CONFIG_CM36651 is not set
|
|
+# CONFIG_GP2AP002 is not set
|
|
+# CONFIG_GP2AP020A00F is not set
|
|
+CONFIG_SENSORS_ISL29018=y
|
|
+# CONFIG_SENSORS_ISL29028 is not set
|
|
+# CONFIG_ISL29125 is not set
|
|
+# CONFIG_HID_SENSOR_ALS is not set
|
|
+# CONFIG_HID_SENSOR_PROX is not set
|
|
+# CONFIG_JSA1212 is not set
|
|
+# CONFIG_RPR0521 is not set
|
|
+# CONFIG_LTR501 is not set
|
|
+# CONFIG_LV0104CS is not set
|
|
+# CONFIG_MAX44000 is not set
|
|
+# CONFIG_MAX44009 is not set
|
|
+# CONFIG_NOA1305 is not set
|
|
+# CONFIG_OPT3001 is not set
|
|
+# CONFIG_PA12203001 is not set
|
|
+# CONFIG_SI1133 is not set
|
|
+# CONFIG_SI1145 is not set
|
|
+# CONFIG_STK3310 is not set
|
|
+# CONFIG_ST_UVIS25 is not set
|
|
+# CONFIG_TCS3414 is not set
|
|
+# CONFIG_TCS3472 is not set
|
|
+CONFIG_SENSORS_TSL2563=y
|
|
+CONFIG_TSL2583=y
|
|
+# CONFIG_TSL2591 is not set
|
|
+# CONFIG_TSL2772 is not set
|
|
+# CONFIG_TSL4531 is not set
|
|
+# CONFIG_US5182D is not set
|
|
+# CONFIG_VCNL4000 is not set
|
|
+# CONFIG_VCNL4035 is not set
|
|
+# CONFIG_VEML6030 is not set
|
|
+# CONFIG_VEML6070 is not set
|
|
+# CONFIG_VL6180 is not set
|
|
+# CONFIG_ZOPT2201 is not set
|
|
+# end of Light sensors
|
|
+
|
|
+#
|
|
+# Magnetometer sensors
|
|
+#
|
|
+# CONFIG_AK8974 is not set
|
|
+# CONFIG_AK8975 is not set
|
|
+# CONFIG_AK09911 is not set
|
|
+# CONFIG_BMC150_MAGN_I2C is not set
|
|
+# CONFIG_BMC150_MAGN_SPI is not set
|
|
+# CONFIG_MAG3110 is not set
|
|
+# CONFIG_HID_SENSOR_MAGNETOMETER_3D is not set
|
|
+# CONFIG_MMC35240 is not set
|
|
+# CONFIG_IIO_ST_MAGN_3AXIS is not set
|
|
+# CONFIG_SENSORS_HMC5843_I2C is not set
|
|
+# CONFIG_SENSORS_HMC5843_SPI is not set
|
|
+# CONFIG_SENSORS_RM3100_I2C is not set
|
|
+# CONFIG_SENSORS_RM3100_SPI is not set
|
|
+# CONFIG_YAMAHA_YAS530 is not set
|
|
+# end of Magnetometer sensors
|
|
+
|
|
+#
|
|
+# Multiplexers
|
|
+#
|
|
+CONFIG_IIO_MUX=y
|
|
+# end of Multiplexers
|
|
+
|
|
+#
|
|
+# Inclinometer sensors
|
|
+#
|
|
+# CONFIG_HID_SENSOR_INCLINOMETER_3D is not set
|
|
+# CONFIG_HID_SENSOR_DEVICE_ROTATION is not set
|
|
+# end of Inclinometer sensors
|
|
+
|
|
+#
|
|
+# Triggers - standalone
|
|
+#
|
|
+CONFIG_IIO_HRTIMER_TRIGGER=y
|
|
+# CONFIG_IIO_INTERRUPT_TRIGGER is not set
|
|
+# CONFIG_IIO_TIGHTLOOP_TRIGGER is not set
|
|
+CONFIG_IIO_SYSFS_TRIGGER=y
|
|
+# end of Triggers - standalone
|
|
+
|
|
+#
|
|
+# Linear and angular position sensors
|
|
+#
|
|
+# CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE is not set
|
|
+# end of Linear and angular position sensors
|
|
+
|
|
+#
|
|
+# Digital potentiometers
|
|
+#
|
|
+# CONFIG_AD5110 is not set
|
|
+# CONFIG_AD5272 is not set
|
|
+# CONFIG_DS1803 is not set
|
|
+# CONFIG_MAX5432 is not set
|
|
+# CONFIG_MAX5481 is not set
|
|
+# CONFIG_MAX5487 is not set
|
|
+# CONFIG_MCP4018 is not set
|
|
+# CONFIG_MCP4131 is not set
|
|
+# CONFIG_MCP4531 is not set
|
|
+# CONFIG_MCP41010 is not set
|
|
+# CONFIG_TPL0102 is not set
|
|
+# end of Digital potentiometers
|
|
+
|
|
+#
|
|
+# Digital potentiostats
|
|
+#
|
|
+# CONFIG_LMP91000 is not set
|
|
+# end of Digital potentiostats
|
|
+
|
|
+#
|
|
+# Pressure sensors
|
|
+#
|
|
+# CONFIG_ABP060MG is not set
|
|
+# CONFIG_BMP280 is not set
|
|
+# CONFIG_DLHL60D is not set
|
|
+# CONFIG_DPS310 is not set
|
|
+# CONFIG_HID_SENSOR_PRESS is not set
|
|
+# CONFIG_HP03 is not set
|
|
+# CONFIG_ICP10100 is not set
|
|
+# CONFIG_MPL115_I2C is not set
|
|
+# CONFIG_MPL115_SPI is not set
|
|
+# CONFIG_MPL3115 is not set
|
|
+# CONFIG_MS5611 is not set
|
|
+# CONFIG_MS5637 is not set
|
|
+# CONFIG_IIO_ST_PRESS is not set
|
|
+# CONFIG_T5403 is not set
|
|
+# CONFIG_HP206C is not set
|
|
+# CONFIG_ZPA2326 is not set
|
|
+# end of Pressure sensors
|
|
+
|
|
+#
|
|
+# Lightning sensors
|
|
+#
|
|
+# CONFIG_AS3935 is not set
|
|
+# end of Lightning sensors
|
|
+
|
|
+#
|
|
+# Proximity and distance sensors
|
|
+#
|
|
+# CONFIG_ISL29501 is not set
|
|
+# CONFIG_LIDAR_LITE_V2 is not set
|
|
+# CONFIG_MB1232 is not set
|
|
+# CONFIG_PING is not set
|
|
+# CONFIG_RFD77402 is not set
|
|
+# CONFIG_SRF04 is not set
|
|
+# CONFIG_SX9310 is not set
|
|
+# CONFIG_SX9324 is not set
|
|
+# CONFIG_SX9360 is not set
|
|
+# CONFIG_SX9500 is not set
|
|
+# CONFIG_SRF08 is not set
|
|
+# CONFIG_VCNL3020 is not set
|
|
+# CONFIG_VL53L0X_I2C is not set
|
|
+# end of Proximity and distance sensors
|
|
+
|
|
+#
|
|
+# Resolver to digital converters
|
|
+#
|
|
+# CONFIG_AD2S90 is not set
|
|
+# CONFIG_AD2S1200 is not set
|
|
+# end of Resolver to digital converters
|
|
+
|
|
+#
|
|
+# Temperature sensors
|
|
+#
|
|
+# CONFIG_LTC2983 is not set
|
|
+# CONFIG_MAXIM_THERMOCOUPLE is not set
|
|
+# CONFIG_HID_SENSOR_TEMP is not set
|
|
+# CONFIG_MLX90614 is not set
|
|
+# CONFIG_MLX90632 is not set
|
|
+# CONFIG_TMP006 is not set
|
|
+# CONFIG_TMP007 is not set
|
|
+# CONFIG_TMP117 is not set
|
|
+# CONFIG_TSYS01 is not set
|
|
+# CONFIG_TSYS02D is not set
|
|
+# CONFIG_MAX31856 is not set
|
|
+# CONFIG_MAX31865 is not set
|
|
+# end of Temperature sensors
|
|
+
|
|
+# CONFIG_NTB is not set
|
|
+# CONFIG_VME_BUS is not set
|
|
+CONFIG_PWM=y
|
|
+CONFIG_PWM_SYSFS=y
|
|
+# CONFIG_PWM_DEBUG is not set
|
|
+# CONFIG_PWM_ATMEL_TCB is not set
|
|
+# CONFIG_PWM_DWC is not set
|
|
+# CONFIG_PWM_FSL_FTM is not set
|
|
+# CONFIG_PWM_PCA9685 is not set
|
|
+CONFIG_PWM_ROCKCHIP=y
|
|
+
|
|
+#
|
|
+# IRQ chip support
|
|
+#
|
|
+CONFIG_IRQCHIP=y
|
|
+CONFIG_ARM_GIC=y
|
|
+CONFIG_ARM_GIC_MAX_NR=1
|
|
+CONFIG_ARM_GIC_V2M=y
|
|
+CONFIG_ARM_GIC_V3=y
|
|
+CONFIG_ARM_GIC_V3_ITS=y
|
|
+CONFIG_ARM_GIC_V3_ITS_PCI=y
|
|
+# CONFIG_AL_FIC is not set
|
|
+CONFIG_PARTITION_PERCPU=y
|
|
+# end of IRQ chip support
|
|
+
|
|
+# CONFIG_IPACK_BUS is not set
|
|
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
|
|
+CONFIG_RESET_CONTROLLER=y
|
|
+CONFIG_RESET_SCMI=y
|
|
+# CONFIG_RESET_TI_SYSCON is not set
|
|
+
|
|
+#
|
|
+# PHY Subsystem
|
|
+#
|
|
+CONFIG_GENERIC_PHY=y
|
|
+CONFIG_GENERIC_PHY_MIPI_DPHY=y
|
|
+# CONFIG_PHY_XGENE is not set
|
|
+# CONFIG_PHY_CAN_TRANSCEIVER is not set
|
|
+
|
|
+#
|
|
+# PHY drivers for Broadcom platforms
|
|
+#
|
|
+# CONFIG_BCM_KONA_USB2_PHY is not set
|
|
+# end of PHY drivers for Broadcom platforms
|
|
+
|
|
+# CONFIG_PHY_CADENCE_TORRENT is not set
|
|
+# CONFIG_PHY_CADENCE_DPHY is not set
|
|
+# CONFIG_PHY_CADENCE_DPHY_RX is not set
|
|
+# CONFIG_PHY_CADENCE_SIERRA is not set
|
|
+# CONFIG_PHY_CADENCE_SALVO is not set
|
|
+# CONFIG_PHY_PXA_28NM_HSIC is not set
|
|
+# CONFIG_PHY_PXA_28NM_USB2 is not set
|
|
+# CONFIG_PHY_LAN966X_SERDES is not set
|
|
+# CONFIG_PHY_CPCAP_USB is not set
|
|
+# CONFIG_PHY_MAPPHONE_MDM6600 is not set
|
|
+# CONFIG_PHY_OCELOT_SERDES is not set
|
|
+CONFIG_PHY_ROCKCHIP_DP=y
|
|
+CONFIG_PHY_ROCKCHIP_DPHY_RX0=y
|
|
+CONFIG_PHY_ROCKCHIP_EMMC=y
|
|
+CONFIG_PHY_ROCKCHIP_INNO_HDMI=y
|
|
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
|
+CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=y
|
|
+CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=y
|
|
+# CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY is not set
|
|
+CONFIG_PHY_ROCKCHIP_PCIE=y
|
|
+CONFIG_PHY_ROCKCHIP_TYPEC=y
|
|
+CONFIG_PHY_ROCKCHIP_USB=y
|
|
+# CONFIG_PHY_SAMSUNG_USB2 is not set
|
|
+# end of PHY Subsystem
|
|
+
|
|
+# CONFIG_POWERCAP is not set
|
|
+# CONFIG_MCB is not set
|
|
+CONFIG_RAS=y
|
|
+# CONFIG_USB4 is not set
|
|
+
|
|
+#
|
|
+# Android
|
|
+#
|
|
+CONFIG_ANDROID=y
|
|
+# CONFIG_ANDROID_BINDER_IPC is not set
|
|
+# end of Android
|
|
+
|
|
+# CONFIG_LIBNVDIMM is not set
|
|
+# CONFIG_DAX is not set
|
|
+CONFIG_NVMEM=y
|
|
+CONFIG_NVMEM_SYSFS=y
|
|
+CONFIG_ROCKCHIP_EFUSE=y
|
|
+CONFIG_ROCKCHIP_OTP=y
|
|
+# CONFIG_NVMEM_RMEM is not set
|
|
+
|
|
+#
|
|
+# HW tracing support
|
|
+#
|
|
+# CONFIG_STM is not set
|
|
+# CONFIG_INTEL_TH is not set
|
|
+# end of HW tracing support
|
|
+
|
|
+# CONFIG_FPGA is not set
|
|
+# CONFIG_FSI is not set
|
|
+# CONFIG_TEE is not set
|
|
+CONFIG_MULTIPLEXER=y
|
|
+
|
|
+#
|
|
+# Multiplexer drivers
|
|
+#
|
|
+# CONFIG_MUX_ADG792A is not set
|
|
+# CONFIG_MUX_ADGS1408 is not set
|
|
+CONFIG_MUX_GPIO=y
|
|
+CONFIG_MUX_MMIO=y
|
|
+# end of Multiplexer drivers
|
|
+
|
|
+CONFIG_PM_OPP=y
|
|
+# CONFIG_SIOX is not set
|
|
+# CONFIG_SLIMBUS is not set
|
|
+# CONFIG_INTERCONNECT is not set
|
|
+# CONFIG_COUNTER is not set
|
|
+# CONFIG_MOST is not set
|
|
+# CONFIG_PECI is not set
|
|
+# end of Device Drivers
|
|
+
|
|
+#
|
|
+# File systems
|
|
+#
|
|
+CONFIG_DCACHE_WORD_ACCESS=y
|
|
+# CONFIG_VALIDATE_FS_PARSER is not set
|
|
+CONFIG_FS_IOMAP=y
|
|
+# CONFIG_EXT2_FS is not set
|
|
+# CONFIG_EXT3_FS is not set
|
|
+CONFIG_EXT4_FS=y
|
|
+# CONFIG_EXT4_USE_FOR_EXT2 is not set
|
|
+CONFIG_EXT4_FS_POSIX_ACL=y
|
|
+CONFIG_EXT4_FS_SECURITY=y
|
|
+# 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=y
|
|
+CONFIG_XFS_SUPPORT_V4=y
|
|
+# CONFIG_XFS_QUOTA is not set
|
|
+# CONFIG_XFS_POSIX_ACL is not set
|
|
+# CONFIG_XFS_RT is not set
|
|
+# CONFIG_XFS_ONLINE_SCRUB is not set
|
|
+# 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=y
|
|
+# CONFIG_EXPORTFS_BLOCK_OPS is not set
|
|
+CONFIG_FILE_LOCKING=y
|
|
+# CONFIG_FS_ENCRYPTION is not set
|
|
+# CONFIG_FS_VERITY is not set
|
|
+CONFIG_FSNOTIFY=y
|
|
+# CONFIG_DNOTIFY is not set
|
|
+CONFIG_INOTIFY_USER=y
|
|
+# CONFIG_FANOTIFY is not set
|
|
+# CONFIG_QUOTA is not set
|
|
+# CONFIG_AUTOFS4_FS is not set
|
|
+# CONFIG_AUTOFS_FS is not set
|
|
+CONFIG_FUSE_FS=y
|
|
+# CONFIG_CUSE is not set
|
|
+# CONFIG_VIRTIO_FS is not set
|
|
+CONFIG_OVERLAY_FS=y
|
|
+# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
|
|
+CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
|
|
+# CONFIG_OVERLAY_FS_INDEX is not set
|
|
+# CONFIG_OVERLAY_FS_XINO_AUTO is not set
|
|
+# CONFIG_OVERLAY_FS_METACOPY is not set
|
|
+
|
|
+#
|
|
+# Caches
|
|
+#
|
|
+CONFIG_NETFS_SUPPORT=y
|
|
+# CONFIG_NETFS_STATS is not set
|
|
+CONFIG_FSCACHE=y
|
|
+# CONFIG_FSCACHE_STATS is not set
|
|
+# CONFIG_FSCACHE_DEBUG is not set
|
|
+# CONFIG_CACHEFILES is not set
|
|
+# end of Caches
|
|
+
|
|
+#
|
|
+# CD-ROM/DVD Filesystems
|
|
+#
|
|
+CONFIG_ISO9660_FS=y
|
|
+CONFIG_JOLIET=y
|
|
+CONFIG_ZISOFS=y
|
|
+# CONFIG_UDF_FS is not set
|
|
+# end of CD-ROM/DVD Filesystems
|
|
+
|
|
+#
|
|
+# DOS/FAT/EXFAT/NT Filesystems
|
|
+#
|
|
+CONFIG_FAT_FS=y
|
|
+# CONFIG_MSDOS_FS is not set
|
|
+CONFIG_VFAT_FS=y
|
|
+CONFIG_FAT_DEFAULT_CODEPAGE=936
|
|
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
|
|
+# CONFIG_FAT_DEFAULT_UTF8 is not set
|
|
+CONFIG_EXFAT_FS=y
|
|
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
|
|
+# CONFIG_NTFS_FS is not set
|
|
+# CONFIG_NTFS3_FS is not set
|
|
+# end of DOS/FAT/EXFAT/NT Filesystems
|
|
+
|
|
+#
|
|
+# Pseudo filesystems
|
|
+#
|
|
+CONFIG_PROC_FS=y
|
|
+# CONFIG_PROC_KCORE is not set
|
|
+CONFIG_PROC_SYSCTL=y
|
|
+CONFIG_PROC_PAGE_MONITOR=y
|
|
+# CONFIG_PROC_CHILDREN is not set
|
|
+CONFIG_KERNFS=y
|
|
+CONFIG_SYSFS=y
|
|
+CONFIG_TMPFS=y
|
|
+CONFIG_TMPFS_POSIX_ACL=y
|
|
+CONFIG_TMPFS_XATTR=y
|
|
+# CONFIG_TMPFS_INODE64 is not set
|
|
+CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
|
|
+# CONFIG_HUGETLBFS is not set
|
|
+CONFIG_MEMFD_CREATE=y
|
|
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
|
|
+CONFIG_CONFIGFS_FS=y
|
|
+# end of Pseudo filesystems
|
|
+
|
|
+CONFIG_MISC_FILESYSTEMS=y
|
|
+# CONFIG_ORANGEFS_FS is not set
|
|
+# CONFIG_ADFS_FS is not set
|
|
+# CONFIG_AFFS_FS is not set
|
|
+# CONFIG_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_CRAMFS is not set
|
|
+CONFIG_SQUASHFS=y
|
|
+CONFIG_SQUASHFS_FILE_CACHE=y
|
|
+# CONFIG_SQUASHFS_FILE_DIRECT is not set
|
|
+# CONFIG_SQUASHFS_DECOMP_SINGLE is not set
|
|
+# CONFIG_SQUASHFS_DECOMP_MULTI is not set
|
|
+CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
|
|
+# CONFIG_SQUASHFS_XATTR is not set
|
|
+CONFIG_SQUASHFS_ZLIB=y
|
|
+CONFIG_SQUASHFS_LZ4=y
|
|
+CONFIG_SQUASHFS_LZO=y
|
|
+CONFIG_SQUASHFS_XZ=y
|
|
+CONFIG_SQUASHFS_ZSTD=y
|
|
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
|
|
+# CONFIG_SQUASHFS_EMBEDDED is not set
|
|
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
|
|
+# CONFIG_VXFS_FS is not set
|
|
+# CONFIG_MINIX_FS is not set
|
|
+# CONFIG_OMFS_FS is not set
|
|
+# CONFIG_HPFS_FS is not set
|
|
+# CONFIG_QNX4FS_FS is not set
|
|
+# CONFIG_QNX6FS_FS is not set
|
|
+# CONFIG_ROMFS_FS is not set
|
|
+CONFIG_PSTORE=y
|
|
+CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
|
|
+CONFIG_PSTORE_DEFLATE_COMPRESS=y
|
|
+# CONFIG_PSTORE_LZO_COMPRESS is not set
|
|
+# CONFIG_PSTORE_LZ4_COMPRESS is not set
|
|
+# CONFIG_PSTORE_LZ4HC_COMPRESS is not set
|
|
+# CONFIG_PSTORE_842_COMPRESS is not set
|
|
+# CONFIG_PSTORE_ZSTD_COMPRESS is not set
|
|
+CONFIG_PSTORE_COMPRESS=y
|
|
+CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
|
|
+CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
|
|
+# CONFIG_PSTORE_CONSOLE is not set
|
|
+# CONFIG_PSTORE_PMSG is not set
|
|
+# CONFIG_PSTORE_RAM is not set
|
|
+# CONFIG_PSTORE_BLK is not set
|
|
+# CONFIG_SYSV_FS is not set
|
|
+# CONFIG_UFS_FS is not set
|
|
+# CONFIG_EROFS_FS is not set
|
|
+CONFIG_NETWORK_FILESYSTEMS=y
|
|
+# CONFIG_NFS_FS is not set
|
|
+# CONFIG_NFSD is not set
|
|
+# CONFIG_CEPH_FS is not set
|
|
+# CONFIG_CIFS is not set
|
|
+# CONFIG_SMB_SERVER 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=y
|
|
+CONFIG_NLS_CODEPAGE_775=y
|
|
+CONFIG_NLS_CODEPAGE_850=y
|
|
+CONFIG_NLS_CODEPAGE_852=y
|
|
+CONFIG_NLS_CODEPAGE_855=y
|
|
+CONFIG_NLS_CODEPAGE_857=y
|
|
+CONFIG_NLS_CODEPAGE_860=y
|
|
+CONFIG_NLS_CODEPAGE_861=y
|
|
+CONFIG_NLS_CODEPAGE_862=y
|
|
+CONFIG_NLS_CODEPAGE_863=y
|
|
+CONFIG_NLS_CODEPAGE_864=y
|
|
+CONFIG_NLS_CODEPAGE_865=y
|
|
+CONFIG_NLS_CODEPAGE_866=y
|
|
+CONFIG_NLS_CODEPAGE_869=y
|
|
+CONFIG_NLS_CODEPAGE_936=y
|
|
+CONFIG_NLS_CODEPAGE_950=y
|
|
+CONFIG_NLS_CODEPAGE_932=y
|
|
+CONFIG_NLS_CODEPAGE_949=y
|
|
+CONFIG_NLS_CODEPAGE_874=y
|
|
+CONFIG_NLS_ISO8859_8=y
|
|
+CONFIG_NLS_CODEPAGE_1250=y
|
|
+CONFIG_NLS_CODEPAGE_1251=y
|
|
+CONFIG_NLS_ASCII=y
|
|
+CONFIG_NLS_ISO8859_1=y
|
|
+CONFIG_NLS_ISO8859_2=y
|
|
+CONFIG_NLS_ISO8859_3=y
|
|
+CONFIG_NLS_ISO8859_4=y
|
|
+CONFIG_NLS_ISO8859_5=y
|
|
+CONFIG_NLS_ISO8859_6=y
|
|
+CONFIG_NLS_ISO8859_7=y
|
|
+CONFIG_NLS_ISO8859_9=y
|
|
+CONFIG_NLS_ISO8859_13=y
|
|
+CONFIG_NLS_ISO8859_14=y
|
|
+CONFIG_NLS_ISO8859_15=y
|
|
+CONFIG_NLS_KOI8_R=y
|
|
+CONFIG_NLS_KOI8_U=y
|
|
+# 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
|
|
+# CONFIG_UNICODE is not set
|
|
+CONFIG_IO_WQ=y
|
|
+# end of File systems
|
|
+
|
|
+#
|
|
+# Security options
|
|
+#
|
|
+CONFIG_KEYS=y
|
|
+# CONFIG_KEYS_REQUEST_CACHE is not set
|
|
+# CONFIG_PERSISTENT_KEYRINGS is not set
|
|
+# CONFIG_TRUSTED_KEYS is not set
|
|
+CONFIG_ENCRYPTED_KEYS=y
|
|
+# CONFIG_USER_DECRYPTED_DATA is not set
|
|
+# CONFIG_KEY_DH_OPERATIONS is not set
|
|
+# CONFIG_KEY_NOTIFICATIONS is not set
|
|
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
|
|
+# CONFIG_SECURITY is not set
|
|
+CONFIG_SECURITYFS=y
|
|
+CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
|
|
+# CONFIG_HARDENED_USERCOPY is not set
|
|
+# CONFIG_FORTIFY_SOURCE is not set
|
|
+# CONFIG_STATIC_USERMODEHELPER is not set
|
|
+CONFIG_DEFAULT_SECURITY_DAC=y
|
|
+CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf"
|
|
+
|
|
+#
|
|
+# Kernel hardening options
|
|
+#
|
|
+
|
|
+#
|
|
+# Memory initialization
|
|
+#
|
|
+CONFIG_INIT_STACK_NONE=y
|
|
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
|
|
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set
|
|
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL is not set
|
|
+# CONFIG_GCC_PLUGIN_STACKLEAK is not set
|
|
+# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
|
|
+# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
|
|
+# end of Memory initialization
|
|
+# end of Kernel hardening options
|
|
+# end of Security options
|
|
+
|
|
+CONFIG_XOR_BLOCKS=y
|
|
+CONFIG_ASYNC_CORE=y
|
|
+CONFIG_ASYNC_MEMCPY=y
|
|
+CONFIG_ASYNC_XOR=y
|
|
+CONFIG_ASYNC_PQ=y
|
|
+CONFIG_ASYNC_RAID6_RECOV=y
|
|
+CONFIG_CRYPTO=y
|
|
+
|
|
+#
|
|
+# Crypto core or helper
|
|
+#
|
|
+CONFIG_CRYPTO_ALGAPI=y
|
|
+CONFIG_CRYPTO_ALGAPI2=y
|
|
+CONFIG_CRYPTO_AEAD=y
|
|
+CONFIG_CRYPTO_AEAD2=y
|
|
+CONFIG_CRYPTO_SKCIPHER=y
|
|
+CONFIG_CRYPTO_SKCIPHER2=y
|
|
+CONFIG_CRYPTO_HASH=y
|
|
+CONFIG_CRYPTO_HASH2=y
|
|
+CONFIG_CRYPTO_RNG=y
|
|
+CONFIG_CRYPTO_RNG2=y
|
|
+CONFIG_CRYPTO_RNG_DEFAULT=y
|
|
+CONFIG_CRYPTO_AKCIPHER2=y
|
|
+CONFIG_CRYPTO_AKCIPHER=y
|
|
+CONFIG_CRYPTO_KPP2=y
|
|
+CONFIG_CRYPTO_KPP=y
|
|
+CONFIG_CRYPTO_ACOMP2=y
|
|
+CONFIG_CRYPTO_MANAGER=y
|
|
+CONFIG_CRYPTO_MANAGER2=y
|
|
+# CONFIG_CRYPTO_USER is not set
|
|
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
|
|
+# CONFIG_CRYPTO_MANAGER_EXTRA_TESTS is not set
|
|
+CONFIG_CRYPTO_GF128MUL=y
|
|
+CONFIG_CRYPTO_NULL=y
|
|
+CONFIG_CRYPTO_NULL2=y
|
|
+# CONFIG_CRYPTO_PCRYPT is not set
|
|
+CONFIG_CRYPTO_CRYPTD=y
|
|
+CONFIG_CRYPTO_AUTHENC=y
|
|
+# CONFIG_CRYPTO_TEST is not set
|
|
+
|
|
+#
|
|
+# Public-key cryptography
|
|
+#
|
|
+CONFIG_CRYPTO_RSA=y
|
|
+# CONFIG_CRYPTO_DH is not set
|
|
+CONFIG_CRYPTO_ECC=y
|
|
+CONFIG_CRYPTO_ECDH=y
|
|
+# CONFIG_CRYPTO_ECDSA is not set
|
|
+# CONFIG_CRYPTO_ECRDSA is not set
|
|
+# CONFIG_CRYPTO_SM2 is not set
|
|
+# CONFIG_CRYPTO_CURVE25519 is not set
|
|
+
|
|
+#
|
|
+# Authenticated Encryption with Associated Data
|
|
+#
|
|
+CONFIG_CRYPTO_CCM=y
|
|
+CONFIG_CRYPTO_GCM=y
|
|
+# CONFIG_CRYPTO_CHACHA20POLY1305 is not set
|
|
+# CONFIG_CRYPTO_AEGIS128 is not set
|
|
+CONFIG_CRYPTO_SEQIV=y
|
|
+CONFIG_CRYPTO_ECHAINIV=y
|
|
+
|
|
+#
|
|
+# Block modes
|
|
+#
|
|
+CONFIG_CRYPTO_CBC=y
|
|
+# CONFIG_CRYPTO_CFB is not set
|
|
+CONFIG_CRYPTO_CTR=y
|
|
+# CONFIG_CRYPTO_CTS is not set
|
|
+CONFIG_CRYPTO_ECB=y
|
|
+# CONFIG_CRYPTO_LRW is not set
|
|
+# CONFIG_CRYPTO_OFB is not set
|
|
+# CONFIG_CRYPTO_PCBC is not set
|
|
+# CONFIG_CRYPTO_XTS is not set
|
|
+# CONFIG_CRYPTO_KEYWRAP is not set
|
|
+# CONFIG_CRYPTO_ADIANTUM is not set
|
|
+CONFIG_CRYPTO_ESSIV=m
|
|
+
|
|
+#
|
|
+# 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=y
|
|
+# CONFIG_CRYPTO_XXHASH is not set
|
|
+# CONFIG_CRYPTO_BLAKE2B is not set
|
|
+# CONFIG_CRYPTO_BLAKE2S is not set
|
|
+CONFIG_CRYPTO_CRCT10DIF=y
|
|
+# CONFIG_CRYPTO_CRC64_ROCKSOFT is not set
|
|
+CONFIG_CRYPTO_GHASH=y
|
|
+# CONFIG_CRYPTO_POLY1305 is not set
|
|
+CONFIG_CRYPTO_MD4=y
|
|
+CONFIG_CRYPTO_MD5=y
|
|
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
|
|
+# CONFIG_CRYPTO_RMD160 is not set
|
|
+CONFIG_CRYPTO_SHA1=y
|
|
+CONFIG_CRYPTO_SHA256=y
|
|
+CONFIG_CRYPTO_SHA512=y
|
|
+# CONFIG_CRYPTO_SHA3 is not set
|
|
+# CONFIG_CRYPTO_SM3 is not set
|
|
+# CONFIG_CRYPTO_STREEBOG is not set
|
|
+# CONFIG_CRYPTO_WP512 is not set
|
|
+
|
|
+#
|
|
+# Ciphers
|
|
+#
|
|
+CONFIG_CRYPTO_AES=y
|
|
+# CONFIG_CRYPTO_AES_TI is not set
|
|
+# 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_CHACHA20 is not set
|
|
+# CONFIG_CRYPTO_SEED is not set
|
|
+# CONFIG_CRYPTO_SERPENT is not set
|
|
+# CONFIG_CRYPTO_SM4 is not set
|
|
+# CONFIG_CRYPTO_TEA is not set
|
|
+CONFIG_CRYPTO_TWOFISH=y
|
|
+CONFIG_CRYPTO_TWOFISH_COMMON=y
|
|
+
|
|
+#
|
|
+# Compression
|
|
+#
|
|
+CONFIG_CRYPTO_DEFLATE=y
|
|
+CONFIG_CRYPTO_LZO=y
|
|
+# CONFIG_CRYPTO_842 is not set
|
|
+CONFIG_CRYPTO_LZ4=y
|
|
+# CONFIG_CRYPTO_LZ4HC is not set
|
|
+# CONFIG_CRYPTO_ZSTD is not set
|
|
+
|
|
+#
|
|
+# Random Number Generation
|
|
+#
|
|
+CONFIG_CRYPTO_ANSI_CPRNG=y
|
|
+CONFIG_CRYPTO_DRBG_MENU=y
|
|
+CONFIG_CRYPTO_DRBG_HMAC=y
|
|
+# CONFIG_CRYPTO_DRBG_HASH is not set
|
|
+# CONFIG_CRYPTO_DRBG_CTR is not set
|
|
+CONFIG_CRYPTO_DRBG=y
|
|
+CONFIG_CRYPTO_JITTERENTROPY=y
|
|
+CONFIG_CRYPTO_USER_API=y
|
|
+CONFIG_CRYPTO_USER_API_HASH=y
|
|
+CONFIG_CRYPTO_USER_API_SKCIPHER=y
|
|
+# CONFIG_CRYPTO_USER_API_RNG is not set
|
|
+# CONFIG_CRYPTO_USER_API_AEAD is not set
|
|
+CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
|
|
+CONFIG_CRYPTO_HASH_INFO=y
|
|
+# CONFIG_CRYPTO_HW is not set
|
|
+CONFIG_ASYMMETRIC_KEY_TYPE=y
|
|
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
|
|
+CONFIG_X509_CERTIFICATE_PARSER=y
|
|
+# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set
|
|
+CONFIG_PKCS7_MESSAGE_PARSER=y
|
|
+# CONFIG_PKCS7_TEST_KEY is not set
|
|
+# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
|
|
+
|
|
+#
|
|
+# Certificates for signature checking
|
|
+#
|
|
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
|
|
+CONFIG_SYSTEM_TRUSTED_KEYS=""
|
|
+# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
|
|
+# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
|
|
+# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
|
|
+# end of Certificates for signature checking
|
|
+
|
|
+#
|
|
+# Library routines
|
|
+#
|
|
+CONFIG_RAID6_PQ=y
|
|
+CONFIG_RAID6_PQ_BENCHMARK=y
|
|
+CONFIG_LINEAR_RANGES=y
|
|
+# CONFIG_PACKING is not set
|
|
+CONFIG_BITREVERSE=y
|
|
+CONFIG_HAVE_ARCH_BITREVERSE=y
|
|
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
|
|
+CONFIG_GENERIC_STRNLEN_USER=y
|
|
+CONFIG_GENERIC_NET_UTILS=y
|
|
+CONFIG_CORDIC=y
|
|
+# CONFIG_PRIME_NUMBERS is not set
|
|
+CONFIG_RATIONAL=y
|
|
+CONFIG_GENERIC_PCI_IOMAP=y
|
|
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
|
|
+CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
|
|
+CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
|
|
+# CONFIG_INDIRECT_PIO is not set
|
|
+
|
|
+#
|
|
+# Crypto library routines
|
|
+#
|
|
+CONFIG_CRYPTO_LIB_AES=y
|
|
+CONFIG_CRYPTO_LIB_ARC4=y
|
|
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
|
|
+# CONFIG_CRYPTO_LIB_CHACHA is not set
|
|
+# CONFIG_CRYPTO_LIB_CURVE25519 is not set
|
|
+CONFIG_CRYPTO_LIB_DES=y
|
|
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
|
|
+# CONFIG_CRYPTO_LIB_POLY1305 is not set
|
|
+# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set
|
|
+CONFIG_CRYPTO_LIB_SHA256=y
|
|
+# end of Crypto library routines
|
|
+
|
|
+CONFIG_CRC_CCITT=y
|
|
+CONFIG_CRC16=y
|
|
+CONFIG_CRC_T10DIF=y
|
|
+# CONFIG_CRC64_ROCKSOFT 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_CRC64=m
|
|
+# CONFIG_CRC4 is not set
|
|
+CONFIG_CRC7=y
|
|
+CONFIG_LIBCRC32C=y
|
|
+# CONFIG_CRC8 is not set
|
|
+CONFIG_XXHASH=y
|
|
+CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
|
|
+# CONFIG_RANDOM32_SELFTEST is not set
|
|
+CONFIG_ZLIB_INFLATE=y
|
|
+CONFIG_ZLIB_DEFLATE=y
|
|
+CONFIG_LZO_COMPRESS=y
|
|
+CONFIG_LZO_DECOMPRESS=y
|
|
+CONFIG_LZ4_COMPRESS=y
|
|
+CONFIG_LZ4_DECOMPRESS=y
|
|
+CONFIG_ZSTD_DECOMPRESS=y
|
|
+CONFIG_XZ_DEC=y
|
|
+# CONFIG_XZ_DEC_X86 is not set
|
|
+# CONFIG_XZ_DEC_POWERPC is not set
|
|
+# CONFIG_XZ_DEC_IA64 is not set
|
|
+CONFIG_XZ_DEC_ARM=y
|
|
+CONFIG_XZ_DEC_ARMTHUMB=y
|
|
+# CONFIG_XZ_DEC_SPARC is not set
|
|
+# CONFIG_XZ_DEC_MICROLZMA is not set
|
|
+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_DECOMPRESS_ZSTD=y
|
|
+CONFIG_GENERIC_ALLOCATOR=y
|
|
+CONFIG_TEXTSEARCH=y
|
|
+CONFIG_TEXTSEARCH_KMP=m
|
|
+CONFIG_TEXTSEARCH_BM=m
|
|
+CONFIG_TEXTSEARCH_FSM=m
|
|
+CONFIG_INTERVAL_TREE=y
|
|
+CONFIG_ASSOCIATIVE_ARRAY=y
|
|
+CONFIG_HAS_IOMEM=y
|
|
+CONFIG_HAS_IOPORT_MAP=y
|
|
+CONFIG_HAS_DMA=y
|
|
+CONFIG_DMA_OPS=y
|
|
+CONFIG_NEED_SG_DMA_LENGTH=y
|
|
+CONFIG_NEED_DMA_MAP_STATE=y
|
|
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
|
|
+CONFIG_DMA_DECLARE_COHERENT=y
|
|
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
|
|
+CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
|
|
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
|
|
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
|
|
+CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
|
|
+CONFIG_SWIOTLB=y
|
|
+# CONFIG_DMA_RESTRICTED_POOL is not set
|
|
+CONFIG_DMA_NONCOHERENT_MMAP=y
|
|
+CONFIG_DMA_COHERENT_POOL=y
|
|
+CONFIG_DMA_DIRECT_REMAP=y
|
|
+# CONFIG_DMA_API_DEBUG is not set
|
|
+# CONFIG_DMA_MAP_BENCHMARK is not set
|
|
+CONFIG_SGL_ALLOC=y
|
|
+CONFIG_CPU_RMAP=y
|
|
+CONFIG_DQL=y
|
|
+CONFIG_GLOB=y
|
|
+# CONFIG_GLOB_SELFTEST is not set
|
|
+CONFIG_NLATTR=y
|
|
+CONFIG_LRU_CACHE=m
|
|
+CONFIG_CLZ_TAB=y
|
|
+CONFIG_IRQ_POLL=y
|
|
+CONFIG_MPILIB=y
|
|
+CONFIG_LIBFDT=y
|
|
+CONFIG_OID_REGISTRY=y
|
|
+CONFIG_HAVE_GENERIC_VDSO=y
|
|
+CONFIG_GENERIC_GETTIMEOFDAY=y
|
|
+CONFIG_GENERIC_VDSO_TIME_NS=y
|
|
+CONFIG_FONT_SUPPORT=y
|
|
+# CONFIG_FONTS is not set
|
|
+CONFIG_FONT_8x8=y
|
|
+CONFIG_FONT_8x16=y
|
|
+CONFIG_SG_POOL=y
|
|
+CONFIG_ARCH_STACKWALK=y
|
|
+CONFIG_SBITMAP=y
|
|
+# end of Library routines
|
|
+
|
|
+CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
|
|
+
|
|
+#
|
|
+# Kernel hacking
|
|
+#
|
|
+
|
|
+#
|
|
+# printk and dmesg options
|
|
+#
|
|
+CONFIG_PRINTK_TIME=y
|
|
+# CONFIG_PRINTK_CALLER is not set
|
|
+# CONFIG_STACKTRACE_BUILD_ID is not set
|
|
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
|
|
+CONFIG_CONSOLE_LOGLEVEL_QUIET=4
|
|
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
|
|
+# CONFIG_BOOT_PRINTK_DELAY is not set
|
|
+CONFIG_DYNAMIC_DEBUG=y
|
|
+CONFIG_DYNAMIC_DEBUG_CORE=y
|
|
+# CONFIG_SYMBOLIC_ERRNAME is not set
|
|
+# end of printk and dmesg options
|
|
+
|
|
+CONFIG_DEBUG_KERNEL=y
|
|
+# CONFIG_DEBUG_MISC is not set
|
|
+
|
|
+#
|
|
+# Compile-time checks and compiler options
|
|
+#
|
|
+CONFIG_DEBUG_INFO_NONE=y
|
|
+# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
|
|
+# CONFIG_DEBUG_INFO_DWARF4 is not set
|
|
+# CONFIG_DEBUG_INFO_DWARF5 is not set
|
|
+CONFIG_FRAME_WARN=2048
|
|
+# CONFIG_STRIP_ASM_SYMS is not set
|
|
+# CONFIG_READABLE_ASM is not set
|
|
+# CONFIG_HEADERS_INSTALL is not set
|
|
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
|
|
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
|
|
+# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
|
|
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
|
|
+CONFIG_FRAME_POINTER=y
|
|
+# CONFIG_VMLINUX_MAP is not set
|
|
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
|
+# end of Compile-time checks and compiler options
|
|
+
|
|
+#
|
|
+# Generic Kernel Debugging Instruments
|
|
+#
|
|
+CONFIG_MAGIC_SYSRQ=y
|
|
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0
|
|
+CONFIG_MAGIC_SYSRQ_SERIAL=y
|
|
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
|
|
+CONFIG_DEBUG_FS=y
|
|
+CONFIG_DEBUG_FS_ALLOW_ALL=y
|
|
+# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
|
|
+# CONFIG_DEBUG_FS_ALLOW_NONE is not set
|
|
+CONFIG_HAVE_ARCH_KGDB=y
|
|
+# CONFIG_KGDB is not set
|
|
+CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
|
|
+# CONFIG_UBSAN is not set
|
|
+CONFIG_HAVE_ARCH_KCSAN=y
|
|
+# end of Generic Kernel Debugging Instruments
|
|
+
|
|
+#
|
|
+# Networking Debugging
|
|
+#
|
|
+# CONFIG_NET_DEV_REFCNT_TRACKER is not set
|
|
+# CONFIG_NET_NS_REFCNT_TRACKER is not set
|
|
+# end of Networking Debugging
|
|
+
|
|
+#
|
|
+# Memory Debugging
|
|
+#
|
|
+# CONFIG_PAGE_EXTENSION is not set
|
|
+# CONFIG_DEBUG_PAGEALLOC is not set
|
|
+# CONFIG_PAGE_OWNER is not set
|
|
+# CONFIG_PAGE_POISONING is not set
|
|
+# CONFIG_DEBUG_RODATA_TEST is not set
|
|
+CONFIG_ARCH_HAS_DEBUG_WX=y
|
|
+# CONFIG_DEBUG_WX is not set
|
|
+CONFIG_GENERIC_PTDUMP=y
|
|
+# CONFIG_PTDUMP_DEBUGFS 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_SCHED_STACK_END_CHECK is not set
|
|
+CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
|
|
+# CONFIG_DEBUG_VM is not set
|
|
+# CONFIG_DEBUG_VM_PGTABLE is not set
|
|
+CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
|
|
+# CONFIG_DEBUG_VIRTUAL is not set
|
|
+# CONFIG_DEBUG_MEMORY_INIT is not set
|
|
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
|
|
+CONFIG_HAVE_ARCH_KASAN=y
|
|
+CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y
|
|
+CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
|
|
+CONFIG_CC_HAS_KASAN_GENERIC=y
|
|
+CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
|
|
+# CONFIG_KASAN is not set
|
|
+CONFIG_HAVE_ARCH_KFENCE=y
|
|
+# CONFIG_KFENCE is not set
|
|
+# end of Memory Debugging
|
|
+
|
|
+# CONFIG_DEBUG_SHIRQ is not set
|
|
+
|
|
+#
|
|
+# Debug Oops, Lockups and Hangs
|
|
+#
|
|
+# CONFIG_PANIC_ON_OOPS is not set
|
|
+CONFIG_PANIC_ON_OOPS_VALUE=0
|
|
+CONFIG_PANIC_TIMEOUT=1
|
|
+# CONFIG_SOFTLOCKUP_DETECTOR is not set
|
|
+CONFIG_DETECT_HUNG_TASK=y
|
|
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
|
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
|
|
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1
|
|
+# CONFIG_WQ_WATCHDOG is not set
|
|
+# CONFIG_TEST_LOCKUP is not set
|
|
+# end of Debug Oops, Lockups and Hangs
|
|
+
|
|
+#
|
|
+# Scheduler Debugging
|
|
+#
|
|
+# CONFIG_SCHED_DEBUG is not set
|
|
+CONFIG_SCHED_INFO=y
|
|
+CONFIG_SCHEDSTATS=y
|
|
+# end of Scheduler Debugging
|
|
+
|
|
+# CONFIG_DEBUG_TIMEKEEPING is not set
|
|
+# CONFIG_DEBUG_PREEMPT is not set
|
|
+
|
|
+#
|
|
+# Lock Debugging (spinlocks, mutexes, etc...)
|
|
+#
|
|
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
|
|
+# CONFIG_PROVE_LOCKING is not set
|
|
+# CONFIG_LOCK_STAT is not set
|
|
+# CONFIG_DEBUG_RT_MUTEXES is not set
|
|
+CONFIG_DEBUG_SPINLOCK=y
|
|
+# CONFIG_DEBUG_MUTEXES is not set
|
|
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
|
|
+# CONFIG_DEBUG_RWSEMS is not set
|
|
+# CONFIG_DEBUG_LOCK_ALLOC is not set
|
|
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
|
|
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
|
+# CONFIG_LOCK_TORTURE_TEST is not set
|
|
+# CONFIG_WW_MUTEX_SELFTEST is not set
|
|
+# CONFIG_SCF_TORTURE_TEST is not set
|
|
+# CONFIG_CSD_LOCK_WAIT_DEBUG is not set
|
|
+# end of Lock Debugging (spinlocks, mutexes, etc...)
|
|
+
|
|
+# CONFIG_DEBUG_IRQFLAGS is not set
|
|
+CONFIG_STACKTRACE=y
|
|
+# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
|
|
+# CONFIG_DEBUG_KOBJECT is not set
|
|
+
|
|
+#
|
|
+# Debug kernel data structures
|
|
+#
|
|
+# CONFIG_DEBUG_LIST is not set
|
|
+# CONFIG_DEBUG_PLIST is not set
|
|
+# CONFIG_DEBUG_SG is not set
|
|
+# CONFIG_DEBUG_NOTIFIERS is not set
|
|
+# CONFIG_BUG_ON_DATA_CORRUPTION is not set
|
|
+# end of Debug kernel data structures
|
|
+
|
|
+CONFIG_DEBUG_CREDENTIALS=y
|
|
+
|
|
+#
|
|
+# RCU Debugging
|
|
+#
|
|
+# CONFIG_RCU_SCALE_TEST is not set
|
|
+# CONFIG_RCU_TORTURE_TEST is not set
|
|
+# CONFIG_RCU_REF_SCALE_TEST is not set
|
|
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
|
+# CONFIG_RCU_TRACE is not set
|
|
+# CONFIG_RCU_EQS_DEBUG is not set
|
|
+# end of RCU Debugging
|
|
+
|
|
+# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
|
|
+# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
|
|
+# CONFIG_LATENCYTOP is not set
|
|
+CONFIG_HAVE_FUNCTION_TRACER=y
|
|
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
|
|
+CONFIG_HAVE_DYNAMIC_FTRACE=y
|
|
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
|
|
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
|
|
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
|
|
+CONFIG_HAVE_C_RECORDMCOUNT=y
|
|
+CONFIG_TRACING_SUPPORT=y
|
|
+# CONFIG_FTRACE is not set
|
|
+# CONFIG_SAMPLES is not set
|
|
+# CONFIG_STRICT_DEVMEM is not set
|
|
+
|
|
+#
|
|
+# arm64 Debugging
|
|
+#
|
|
+# CONFIG_PID_IN_CONTEXTIDR is not set
|
|
+# CONFIG_ARM64_RELOC_TEST is not set
|
|
+# CONFIG_CORESIGHT is not set
|
|
+# end of arm64 Debugging
|
|
+
|
|
+#
|
|
+# Kernel Testing and Coverage
|
|
+#
|
|
+# CONFIG_KUNIT is not set
|
|
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
|
|
+# CONFIG_FAULT_INJECTION is not set
|
|
+CONFIG_ARCH_HAS_KCOV=y
|
|
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
|
|
+# CONFIG_RUNTIME_TESTING_MENU is not set
|
|
+CONFIG_ARCH_USE_MEMTEST=y
|
|
+# CONFIG_MEMTEST is not set
|
|
+# end of Kernel Testing and Coverage
|
|
+# end of Kernel hacking
|
|
diff -rupN linux.orig/drivers/gpu/drm/panel/Kconfig linux/drivers/gpu/drm/panel/Kconfig
|
|
--- linux.orig/drivers/gpu/drm/panel/Kconfig 2022-11-01 17:55:26.614499464 -0400
|
|
+++ linux/drivers/gpu/drm/panel/Kconfig 2022-11-01 17:56:17.136793634 -0400
|
|
@@ -588,6 +588,15 @@ config DRM_PANEL_SHARP_LS043T1LE01
|
|
Say Y here if you want to enable support for Sharp LS043T1LE01 qHD
|
|
(540x960) DSI panel as found on the Qualcomm APQ8074 Dragonboard
|
|
|
|
+config DRM_PANEL_SHARP_LS054B3SX01
|
|
+ bool "Sharp LS054B3SX01 1152x1080 video mode panel"
|
|
+ depends on OF
|
|
+ depends on DRM_MIPI_DSI
|
|
+ depends on BACKLIGHT_CLASS_DEVICE
|
|
+ help
|
|
+ say Y here if you want to enable support for Sharp LS054B3SX01
|
|
+ 1152x1080 panel as found in Anbernic RG552.
|
|
+
|
|
config DRM_PANEL_SHARP_LS060T1SX01
|
|
tristate "Sharp LS060T1SX01 FullHD video mode panel"
|
|
depends on OF
|
|
diff -rupN linux.orig/drivers/gpu/drm/panel/Makefile linux/drivers/gpu/drm/panel/Makefile
|
|
--- linux.orig/drivers/gpu/drm/panel/Makefile 2022-11-01 17:55:26.614499464 -0400
|
|
+++ linux/drivers/gpu/drm/panel/Makefile 2022-11-01 17:56:17.136793634 -0400
|
|
@@ -59,6 +59,7 @@ obj-$(CONFIG_DRM_PANEL_SEIKO_43WVF1G) +=
|
|
obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) += panel-sharp-lq101r1sx01.o
|
|
obj-$(CONFIG_DRM_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
|
|
obj-$(CONFIG_DRM_PANEL_SHARP_LS043T1LE01) += panel-sharp-ls043t1le01.o
|
|
+obj-$(CONFIG_DRM_PANEL_SHARP_LS054B3SX01) += panel-sharp-ls054b3sx01.o
|
|
obj-$(CONFIG_DRM_PANEL_SHARP_LS060T1SX01) += panel-sharp-ls060t1sx01.o
|
|
obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7701) += panel-sitronix-st7701.o
|
|
obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7703) += panel-sitronix-st7703.o
|
|
diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sharp-ls054b3sx01.c linux/drivers/gpu/drm/panel/panel-sharp-ls054b3sx01.c
|
|
--- linux.orig/drivers/gpu/drm/panel/panel-sharp-ls054b3sx01.c 1969-12-31 19:00:00.000000000 -0500
|
|
+++ linux/drivers/gpu/drm/panel/panel-sharp-ls054b3sx01.c 2022-11-01 17:58:24.801136793 -0400
|
|
@@ -0,0 +1,368 @@
|
|
+// SPDX-License-Identifier: GPL-2.0-only
|
|
+/*
|
|
+ * Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
|
|
+ */
|
|
+
|
|
+#include <linux/delay.h>
|
|
+#include <linux/gpio/consumer.h>
|
|
+#include <linux/module.h>
|
|
+#include <linux/of.h>
|
|
+#include <linux/regulator/consumer.h>
|
|
+
|
|
+#include <video/mipi_display.h>
|
|
+
|
|
+#include <drm/drm_mipi_dsi.h>
|
|
+#include <drm/drm_modes.h>
|
|
+#include <drm/drm_panel.h>
|
|
+
|
|
+struct sharp_ls054 {
|
|
+ struct drm_panel panel;
|
|
+ struct mipi_dsi_device *dsi;
|
|
+ struct regulator *iovcc_supply;
|
|
+ struct regulator *vsp_supply;
|
|
+ struct regulator *vsn_supply;
|
|
+ struct gpio_desc *reset_gpio;
|
|
+ enum drm_panel_orientation orientation;
|
|
+ bool prepared;
|
|
+};
|
|
+
|
|
+static inline struct sharp_ls054 *to_sharp_ls054(struct drm_panel *panel)
|
|
+{
|
|
+ return container_of(panel, struct sharp_ls054, panel);
|
|
+}
|
|
+
|
|
+#define dsi_dcs_write_seq(dsi, cmd, seq...) do { \
|
|
+ static const u8 b[] = { cmd, seq }; \
|
|
+ int ret; \
|
|
+ ret = mipi_dsi_dcs_write_buffer(dsi, b, ARRAY_SIZE(b)); \
|
|
+ if (ret < 0) \
|
|
+ return ret; \
|
|
+ } while (0)
|
|
+
|
|
+#define SHARP_LS054_SETEXTC 0xB9
|
|
+#define SHARP_LS054_SETSEQUENCE 0xB0
|
|
+#define SHARP_LS054_SETGAMMACURVE 0xE0
|
|
+#define SHARP_LS054_SETPOWER 0xB1
|
|
+#define SHARP_LS054_SETVREF 0xD2
|
|
+#define SHARP_LS054_SETGIP0 0xD3
|
|
+#define SHARP_LS054_SETGIP1 0xD5
|
|
+#define SHARP_LS054_SETGIP2 0xD6
|
|
+#define SHARP_LS054_SETGIP3 0xD8
|
|
+#define SHARP_LS054_SETDISP 0xB2
|
|
+#define SHARP_LS054_SETCYC 0xB4
|
|
+#define SHARP_LS054_SETMIPI 0xBA
|
|
+#define SHARP_LS054_SETPTBA 0xBF
|
|
+
|
|
+static int sharp_ls054_init_sequence(struct sharp_ls054 *ctx)
|
|
+{
|
|
+ struct mipi_dsi_device *dsi = ctx->dsi;
|
|
+ int ret;
|
|
+
|
|
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETEXTC,
|
|
+ 0xFF, 0x83, 0x99);
|
|
+ //dsi_dcs_write_seq(dsi, SHARP_LS054_SETSEQUENCE,
|
|
+ // 0x00, 0x00, 0x65);
|
|
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETGAMMACURVE,
|
|
+ 0x01, 0x13, 0x17, 0x34, 0x38, 0x3E, 0x2C, 0x47,
|
|
+ 0x07, 0x0C, 0x0F, 0x12, 0x14, 0x11, 0x13, 0x12,
|
|
+ 0x18, 0x0B, 0x17, 0x07, 0x13, 0x02, 0x14, 0x18,
|
|
+ 0x32, 0x37, 0x3D, 0x29, 0x43, 0x07, 0x0E, 0x0C,
|
|
+ 0x0F, 0x11, 0x10, 0x12, 0x12, 0x18, 0x0C, 0x17,
|
|
+ 0x07, 0x13);
|
|
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETPOWER,
|
|
+ 0x00, 0x7C, 0x38, 0x35, 0x99, 0x09, 0x22, 0x22,
|
|
+ 0x72, 0xF2, 0x68, 0x58);
|
|
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETVREF,
|
|
+ 0x99);
|
|
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETGIP0,
|
|
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00,
|
|
+ 0x10, 0x05, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
|
|
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
|
|
+ 0x07, 0x03, 0x00, 0x00, 0x00, 0x05, 0x08);
|
|
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETGIP1,
|
|
+ 0x00, 0x00, 0x01, 0x00, 0x03, 0x02, 0x00, 0x00,
|
|
+ 0x00, 0x00, 0x19, 0x00, 0x18, 0x00, 0x21, 0x20,
|
|
+ 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
+ 0x00, 0x00, 0x32, 0x32, 0x31, 0x31, 0x30, 0x30);
|
|
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETGIP2,
|
|
+ 0x40, 0x40, 0x02, 0x03, 0x00, 0x01, 0x40, 0x40,
|
|
+ 0x40, 0x40, 0x18, 0x40, 0x19, 0x40, 0x20, 0x21,
|
|
+ 0x40, 0x18, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
|
|
+ 0x40, 0x40, 0x32, 0x32, 0x31, 0x31, 0x30, 0x30);
|
|
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETGIP3,
|
|
+ 0x28, 0x2A, 0x00, 0x2A, 0x28, 0x02, 0xC0, 0x2A,
|
|
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
+ 0x28, 0x02, 0x00, 0x2A, 0x28, 0x02, 0xC0, 0x2A);
|
|
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETDISP,
|
|
+ 0x00, 0x80, 0x10, 0x7F, 0x05, 0x01, 0x23, 0x4D,
|
|
+ 0x21, 0x01);
|
|
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETCYC,
|
|
+ 0x00, 0x3F, 0x00, 0x41, 0x00, 0x3D, 0x00, 0x00,
|
|
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x0F, 0x01, 0x02,
|
|
+ 0x05, 0x40, 0x00, 0x00, 0x3A, 0x00, 0x41, 0x00,
|
|
+ 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
|
|
+ 0x0F, 0x01, 0x02, 0x05, 0x00, 0x00, 0x00, 0x3A);
|
|
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETMIPI,
|
|
+ 0x03, 0x82, 0xA0, 0xE5);
|
|
+ //dsi_dcs_write_seq(dsi, SHARP_LS054_SETPTBA,
|
|
+ // 0xCF, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x54,
|
|
+ // 0x04, 0x61, 0x1C, 0x8C);
|
|
+
|
|
+
|
|
+ ret = mipi_dsi_dcs_exit_sleep_mode(dsi);
|
|
+ if (ret < 0)
|
|
+ {
|
|
+ dev_err(&dsi->dev, "Failed to exit sleep mode: %d\n", ret);
|
|
+ return ret;
|
|
+ }
|
|
+ msleep(130);
|
|
+
|
|
+ dsi_dcs_write_seq(dsi, 0x29);
|
|
+ ret = mipi_dsi_dcs_set_display_on(dsi);
|
|
+ if (ret < 0)
|
|
+ {
|
|
+ dev_err(&dsi->dev, "Failed to set display on: %d\n", ret);
|
|
+ return ret;
|
|
+ }
|
|
+ msleep(50);
|
|
+
|
|
+ mipi_dsi_dcs_set_display_brightness(dsi, 0xFF);
|
|
+ dsi_dcs_write_seq(dsi, MIPI_DCS_WRITE_POWER_SAVE, 0x00);
|
|
+ dsi_dcs_write_seq(dsi, 0x53, 0x24); //MIPI_DCS_WRITE_CONTROL_DISPLAY ?
|
|
+ mipi_dsi_dcs_set_tear_on(dsi, MIPI_DSI_DCS_TEAR_MODE_VBLANK);
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static int sharp_ls054_prepare(struct drm_panel *panel)
|
|
+{
|
|
+ struct sharp_ls054 *ctx = to_sharp_ls054(panel);
|
|
+ struct mipi_dsi_device *dsi = ctx->dsi;
|
|
+ struct device *dev = &ctx->dsi->dev;
|
|
+ int ret;
|
|
+
|
|
+ if (ctx->prepared)
|
|
+ return 0;
|
|
+
|
|
+ gpiod_set_value_cansleep(ctx->reset_gpio, 0);
|
|
+
|
|
+ ret = regulator_enable(ctx->iovcc_supply);
|
|
+ if (ret < 0)
|
|
+ return ret;
|
|
+
|
|
+ usleep_range(1500, 3000);
|
|
+
|
|
+ ret = regulator_enable(ctx->vsp_supply);
|
|
+ if (ret < 0)
|
|
+ goto err_vsp;
|
|
+
|
|
+ usleep_range(1500, 3000);
|
|
+
|
|
+ ret = regulator_enable(ctx->vsn_supply);
|
|
+ if (ret < 0)
|
|
+ goto err_on;
|
|
+
|
|
+ // TODO: move resetting into its own function
|
|
+ gpiod_set_value_cansleep(ctx->reset_gpio, 1);
|
|
+
|
|
+ msleep(200);
|
|
+
|
|
+ ret = sharp_ls054_init_sequence(ctx);
|
|
+ if (ret < 0) {
|
|
+ dev_err(dev, "Failed to initialize panel: %d\n", ret);
|
|
+ goto err_on;
|
|
+ }
|
|
+
|
|
+ ctx->prepared = true;
|
|
+
|
|
+ return 0;
|
|
+
|
|
+ // TODO: make sure those labels are ok
|
|
+err_on:
|
|
+ regulator_disable(ctx->vsn_supply);
|
|
+
|
|
+err_vsp:
|
|
+ regulator_disable(ctx->vsp_supply);
|
|
+
|
|
+err_iovcc:
|
|
+ regulator_disable(ctx->iovcc_supply);
|
|
+ gpiod_set_value_cansleep(ctx->reset_gpio, 0);
|
|
+
|
|
+ return ret;
|
|
+}
|
|
+
|
|
+// FIXME
|
|
+static int sharp_ls054_unprepare(struct drm_panel *panel)
|
|
+{
|
|
+ struct sharp_ls054 *ctx = to_sharp_ls054(panel);
|
|
+ struct mipi_dsi_device *dsi = ctx->dsi;
|
|
+ struct device *dev = &ctx->dsi->dev;
|
|
+ int ret;
|
|
+
|
|
+ if (!ctx->prepared)
|
|
+ return 0;
|
|
+
|
|
+ ret = mipi_dsi_dcs_set_display_off(dsi);
|
|
+ if (ret < 0) {
|
|
+ dev_err(dev, "Failed to set display off: %d\n", ret);
|
|
+ return ret;
|
|
+ }
|
|
+ usleep_range(2000, 3000);
|
|
+
|
|
+ ret = mipi_dsi_dcs_enter_sleep_mode(dsi);
|
|
+ if (ret < 0) {
|
|
+ dev_err(dev, "Failed to enter sleep mode: %d\n", ret);
|
|
+ return ret;
|
|
+ }
|
|
+ msleep(5);
|
|
+
|
|
+ gpiod_set_value_cansleep(ctx->reset_gpio, 0);
|
|
+
|
|
+ usleep_range(500, 1000);
|
|
+ regulator_disable(ctx->vsn_supply);
|
|
+ usleep_range(500, 1000);
|
|
+ regulator_disable(ctx->vsp_supply);
|
|
+ usleep_range(500, 1000);
|
|
+ regulator_disable(ctx->iovcc_supply);
|
|
+
|
|
+ ctx->prepared = false;
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+// FIXME: should we strive for perfect 60hz?
|
|
+static const struct drm_display_mode sharp_ls054_mode = {
|
|
+ .clock = ((1152 + 64 + 4 + 32) * (1920 + 56 + 3 + 6) * 60) / 1000,
|
|
+ .hdisplay = 1152,
|
|
+ .hsync_start = 1152 + 64,
|
|
+ .hsync_end = 1152 + 64 + 4,
|
|
+ .htotal = 1152 + 64 + 4 + 32,
|
|
+ .vdisplay = 1920,
|
|
+ .vsync_start = 1920 + 56,
|
|
+ .vsync_end = 1920 + 56 + 3,
|
|
+ .vtotal = 1920 + 56 + 3 + 6,
|
|
+ .width_mm = 70,
|
|
+ .height_mm = 117,
|
|
+ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
|
|
+};
|
|
+
|
|
+static int sharp_ls054_get_modes(struct drm_panel *panel,
|
|
+ struct drm_connector *connector)
|
|
+{
|
|
+ struct sharp_ls054 *ctx = to_sharp_ls054(panel);
|
|
+ struct drm_display_mode *mode;
|
|
+
|
|
+ mode = drm_mode_duplicate(connector->dev, &sharp_ls054_mode);
|
|
+ if (!mode)
|
|
+ return -ENOMEM;
|
|
+
|
|
+ drm_mode_set_name(mode);
|
|
+
|
|
+ mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
|
|
+ connector->display_info.width_mm = mode->width_mm;
|
|
+ connector->display_info.height_mm = mode->height_mm;
|
|
+ drm_mode_probed_add(connector, mode);
|
|
+ drm_connector_set_panel_orientation(connector, ctx->orientation);
|
|
+
|
|
+ return 1;
|
|
+}
|
|
+
|
|
+static const struct drm_panel_funcs sharp_ls054_panel_funcs = {
|
|
+ .prepare = sharp_ls054_prepare,
|
|
+ .unprepare = sharp_ls054_unprepare,
|
|
+ .get_modes = sharp_ls054_get_modes,
|
|
+};
|
|
+
|
|
+static int sharp_ls054_probe(struct mipi_dsi_device *dsi)
|
|
+{
|
|
+ struct device *dev = &dsi->dev;
|
|
+ struct sharp_ls054 *ctx;
|
|
+ int ret;
|
|
+
|
|
+ ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
|
|
+ if (!ctx)
|
|
+ return -ENOMEM;
|
|
+
|
|
+ ctx->iovcc_supply = devm_regulator_get(dev, "iovcc");
|
|
+ if (IS_ERR(ctx->iovcc_supply))
|
|
+ return PTR_ERR(ctx->iovcc_supply); // TODO: replace with dev_err_probe
|
|
+
|
|
+ ctx->vsp_supply = devm_regulator_get(dev, "vsp");
|
|
+ if (IS_ERR(ctx->vsp_supply))
|
|
+ return PTR_ERR(ctx->vsp_supply);
|
|
+
|
|
+ ctx->vsn_supply = devm_regulator_get(dev, "vsn");
|
|
+ if (IS_ERR(ctx->vsn_supply))
|
|
+ return PTR_ERR(ctx->vsn_supply);
|
|
+
|
|
+ ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW);
|
|
+ if (IS_ERR(ctx->reset_gpio))
|
|
+ return dev_err_probe(dev, PTR_ERR(ctx->reset_gpio),
|
|
+ "Failed to get reset-gpios\n");
|
|
+
|
|
+ ret = of_drm_get_panel_orientation(dev->of_node, &ctx->orientation);
|
|
+ if (ret < 0)
|
|
+ dev_err(dev, "%pOF: failed to get orientation, %d\n", dev->of_node, ret);
|
|
+
|
|
+ ctx->dsi = dsi;
|
|
+ mipi_dsi_set_drvdata(dsi, ctx);
|
|
+
|
|
+ dsi->lanes = 4;
|
|
+ dsi->format = MIPI_DSI_FMT_RGB888;
|
|
+ dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
|
|
+ MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET |
|
|
+ MIPI_DSI_CLOCK_NON_CONTINUOUS | MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO_AUTO_VERT;
|
|
+ // are all those flags really needed?
|
|
+
|
|
+ drm_panel_init(&ctx->panel, dev, &sharp_ls054_panel_funcs,
|
|
+ DRM_MODE_CONNECTOR_DSI);
|
|
+
|
|
+ ret = drm_panel_of_backlight(&ctx->panel);
|
|
+ if (ret)
|
|
+ return dev_err_probe(dev, ret, "Failed to get backlight\n");
|
|
+
|
|
+ drm_panel_add(&ctx->panel);
|
|
+
|
|
+ ret = mipi_dsi_attach(dsi);
|
|
+ if (ret < 0) {
|
|
+ dev_err(dev, "Failed to attach to DSI host: %d\n", ret);
|
|
+ drm_panel_remove(&ctx->panel);
|
|
+ return ret;
|
|
+ }
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static void sharp_ls054_remove(struct mipi_dsi_device *dsi)
|
|
+{
|
|
+ struct sharp_ls054 *ctx = mipi_dsi_get_drvdata(dsi);
|
|
+ int ret;
|
|
+
|
|
+ ret = mipi_dsi_detach(dsi);
|
|
+ if (ret < 0)
|
|
+ dev_err(&dsi->dev, "Failed to detach from DSI host: %d\n", ret);
|
|
+
|
|
+ drm_panel_remove(&ctx->panel);
|
|
+}
|
|
+
|
|
+static const struct of_device_id sharp_ls054b3sx01_of_match[] = {
|
|
+ { .compatible = "sharp,ls054b3sx01" },
|
|
+ { /* sentinel */ }
|
|
+};
|
|
+MODULE_DEVICE_TABLE(of, sharp_ls054b3sx01_of_match);
|
|
+
|
|
+static struct mipi_dsi_driver sharp_ls054_driver = {
|
|
+ .probe = sharp_ls054_probe,
|
|
+ .remove = sharp_ls054_remove,
|
|
+ .driver = {
|
|
+ .name = "panel-sharp-ls054b3sx01",
|
|
+ .of_match_table = sharp_ls054b3sx01_of_match,
|
|
+ },
|
|
+};
|
|
+module_mipi_dsi_driver(sharp_ls054_driver);
|
|
+
|
|
+MODULE_AUTHOR("Maya Matuszczyk <maccraft123mc@gmail.com>");
|
|
+MODULE_DESCRIPTION("Panel driver for Sharp LS054B3SX01 1152x1080 Video Mode DSI Panel");
|
|
+MODULE_LICENSE("GPL v2");
|
|
diff -rupN linux.orig/drivers/input/input-polldev.c linux/drivers/input/input-polldev.c
|
|
--- linux.orig/drivers/input/input-polldev.c 1969-12-31 19:00:00.000000000 -0500
|
|
+++ linux/drivers/input/input-polldev.c 2022-11-01 17:56:17.140793505 -0400
|
|
@@ -0,0 +1,362 @@
|
|
+// SPDX-License-Identifier: GPL-2.0-only
|
|
+/*
|
|
+ * Generic implementation of a polled input device
|
|
+
|
|
+ * Copyright (c) 2007 Dmitry Torokhov
|
|
+ */
|
|
+
|
|
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
|
+
|
|
+#include <linux/jiffies.h>
|
|
+#include <linux/slab.h>
|
|
+#include <linux/mutex.h>
|
|
+#include <linux/workqueue.h>
|
|
+#include <linux/module.h>
|
|
+#include <linux/input-polldev.h>
|
|
+
|
|
+MODULE_AUTHOR("Dmitry Torokhov <dtor@mail.ru>");
|
|
+MODULE_DESCRIPTION("Generic implementation of a polled input device");
|
|
+MODULE_LICENSE("GPL v2");
|
|
+
|
|
+static void input_polldev_queue_work(struct input_polled_dev *dev)
|
|
+{
|
|
+ unsigned long delay;
|
|
+
|
|
+ delay = msecs_to_jiffies(dev->poll_interval);
|
|
+ if (delay >= HZ)
|
|
+ delay = round_jiffies_relative(delay);
|
|
+
|
|
+ queue_delayed_work(system_freezable_wq, &dev->work, delay);
|
|
+}
|
|
+
|
|
+static void input_polled_device_work(struct work_struct *work)
|
|
+{
|
|
+ struct input_polled_dev *dev =
|
|
+ container_of(work, struct input_polled_dev, work.work);
|
|
+
|
|
+ dev->poll(dev);
|
|
+ input_polldev_queue_work(dev);
|
|
+}
|
|
+
|
|
+static int input_open_polled_device(struct input_dev *input)
|
|
+{
|
|
+ struct input_polled_dev *dev = input_get_drvdata(input);
|
|
+
|
|
+ if (dev->open)
|
|
+ dev->open(dev);
|
|
+
|
|
+ /* Only start polling if polling is enabled */
|
|
+ if (dev->poll_interval > 0) {
|
|
+ dev->poll(dev);
|
|
+ input_polldev_queue_work(dev);
|
|
+ }
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static void input_close_polled_device(struct input_dev *input)
|
|
+{
|
|
+ struct input_polled_dev *dev = input_get_drvdata(input);
|
|
+
|
|
+ cancel_delayed_work_sync(&dev->work);
|
|
+
|
|
+ if (dev->close)
|
|
+ dev->close(dev);
|
|
+}
|
|
+
|
|
+/* SYSFS interface */
|
|
+
|
|
+static ssize_t input_polldev_get_poll(struct device *dev,
|
|
+ struct device_attribute *attr, char *buf)
|
|
+{
|
|
+ struct input_polled_dev *polldev = dev_get_drvdata(dev);
|
|
+
|
|
+ return sprintf(buf, "%d\n", polldev->poll_interval);
|
|
+}
|
|
+
|
|
+static ssize_t input_polldev_set_poll(struct device *dev,
|
|
+ struct device_attribute *attr, const char *buf,
|
|
+ size_t count)
|
|
+{
|
|
+ struct input_polled_dev *polldev = dev_get_drvdata(dev);
|
|
+ struct input_dev *input = polldev->input;
|
|
+ unsigned int interval;
|
|
+ int err;
|
|
+
|
|
+ err = kstrtouint(buf, 0, &interval);
|
|
+ if (err)
|
|
+ return err;
|
|
+
|
|
+ if (interval < polldev->poll_interval_min)
|
|
+ return -EINVAL;
|
|
+
|
|
+ if (interval > polldev->poll_interval_max)
|
|
+ return -EINVAL;
|
|
+
|
|
+ mutex_lock(&input->mutex);
|
|
+
|
|
+ polldev->poll_interval = interval;
|
|
+
|
|
+ if (input->users) {
|
|
+ cancel_delayed_work_sync(&polldev->work);
|
|
+ if (polldev->poll_interval > 0)
|
|
+ input_polldev_queue_work(polldev);
|
|
+ }
|
|
+
|
|
+ mutex_unlock(&input->mutex);
|
|
+
|
|
+ return count;
|
|
+}
|
|
+
|
|
+static DEVICE_ATTR(poll, S_IRUGO | S_IWUSR, input_polldev_get_poll,
|
|
+ input_polldev_set_poll);
|
|
+
|
|
+
|
|
+static ssize_t input_polldev_get_max(struct device *dev,
|
|
+ struct device_attribute *attr, char *buf)
|
|
+{
|
|
+ struct input_polled_dev *polldev = dev_get_drvdata(dev);
|
|
+
|
|
+ return sprintf(buf, "%d\n", polldev->poll_interval_max);
|
|
+}
|
|
+
|
|
+static DEVICE_ATTR(max, S_IRUGO, input_polldev_get_max, NULL);
|
|
+
|
|
+static ssize_t input_polldev_get_min(struct device *dev,
|
|
+ struct device_attribute *attr, char *buf)
|
|
+{
|
|
+ struct input_polled_dev *polldev = dev_get_drvdata(dev);
|
|
+
|
|
+ return sprintf(buf, "%d\n", polldev->poll_interval_min);
|
|
+}
|
|
+
|
|
+static DEVICE_ATTR(min, S_IRUGO, input_polldev_get_min, NULL);
|
|
+
|
|
+static struct attribute *sysfs_attrs[] = {
|
|
+ &dev_attr_poll.attr,
|
|
+ &dev_attr_max.attr,
|
|
+ &dev_attr_min.attr,
|
|
+ NULL
|
|
+};
|
|
+
|
|
+static struct attribute_group input_polldev_attribute_group = {
|
|
+ .attrs = sysfs_attrs
|
|
+};
|
|
+
|
|
+static const struct attribute_group *input_polldev_attribute_groups[] = {
|
|
+ &input_polldev_attribute_group,
|
|
+ NULL
|
|
+};
|
|
+
|
|
+/**
|
|
+ * input_allocate_polled_device - allocate memory for polled device
|
|
+ *
|
|
+ * The function allocates memory for a polled device and also
|
|
+ * for an input device associated with this polled device.
|
|
+ */
|
|
+struct input_polled_dev *input_allocate_polled_device(void)
|
|
+{
|
|
+ struct input_polled_dev *dev;
|
|
+
|
|
+ dev = kzalloc(sizeof(struct input_polled_dev), GFP_KERNEL);
|
|
+ if (!dev)
|
|
+ return NULL;
|
|
+
|
|
+ dev->input = input_allocate_device();
|
|
+ if (!dev->input) {
|
|
+ kfree(dev);
|
|
+ return NULL;
|
|
+ }
|
|
+
|
|
+ return dev;
|
|
+}
|
|
+EXPORT_SYMBOL(input_allocate_polled_device);
|
|
+
|
|
+struct input_polled_devres {
|
|
+ struct input_polled_dev *polldev;
|
|
+};
|
|
+
|
|
+static int devm_input_polldev_match(struct device *dev, void *res, void *data)
|
|
+{
|
|
+ struct input_polled_devres *devres = res;
|
|
+
|
|
+ return devres->polldev == data;
|
|
+}
|
|
+
|
|
+static void devm_input_polldev_release(struct device *dev, void *res)
|
|
+{
|
|
+ struct input_polled_devres *devres = res;
|
|
+ struct input_polled_dev *polldev = devres->polldev;
|
|
+
|
|
+ dev_dbg(dev, "%s: dropping reference/freeing %s\n",
|
|
+ __func__, dev_name(&polldev->input->dev));
|
|
+
|
|
+ input_put_device(polldev->input);
|
|
+ kfree(polldev);
|
|
+}
|
|
+
|
|
+static void devm_input_polldev_unregister(struct device *dev, void *res)
|
|
+{
|
|
+ struct input_polled_devres *devres = res;
|
|
+ struct input_polled_dev *polldev = devres->polldev;
|
|
+
|
|
+ dev_dbg(dev, "%s: unregistering device %s\n",
|
|
+ __func__, dev_name(&polldev->input->dev));
|
|
+ input_unregister_device(polldev->input);
|
|
+
|
|
+ /*
|
|
+ * Note that we are still holding extra reference to the input
|
|
+ * device so it will stick around until devm_input_polldev_release()
|
|
+ * is called.
|
|
+ */
|
|
+}
|
|
+
|
|
+/**
|
|
+ * devm_input_allocate_polled_device - allocate managed polled device
|
|
+ * @dev: device owning the polled device being created
|
|
+ *
|
|
+ * Returns prepared &struct input_polled_dev or %NULL.
|
|
+ *
|
|
+ * Managed polled input devices do not need to be explicitly unregistered
|
|
+ * or freed as it will be done automatically when owner device unbinds
|
|
+ * from * its driver (or binding fails). Once such managed polled device
|
|
+ * is allocated, it is ready to be set up and registered in the same
|
|
+ * fashion as regular polled input devices (using
|
|
+ * input_register_polled_device() function).
|
|
+ *
|
|
+ * If you want to manually unregister and free such managed polled devices,
|
|
+ * it can be still done by calling input_unregister_polled_device() and
|
|
+ * input_free_polled_device(), although it is rarely needed.
|
|
+ *
|
|
+ * NOTE: the owner device is set up as parent of input device and users
|
|
+ * should not override it.
|
|
+ */
|
|
+struct input_polled_dev *devm_input_allocate_polled_device(struct device *dev)
|
|
+{
|
|
+ struct input_polled_dev *polldev;
|
|
+ struct input_polled_devres *devres;
|
|
+
|
|
+ devres = devres_alloc(devm_input_polldev_release, sizeof(*devres),
|
|
+ GFP_KERNEL);
|
|
+ if (!devres)
|
|
+ return NULL;
|
|
+
|
|
+ polldev = input_allocate_polled_device();
|
|
+ if (!polldev) {
|
|
+ devres_free(devres);
|
|
+ return NULL;
|
|
+ }
|
|
+
|
|
+ polldev->input->dev.parent = dev;
|
|
+ polldev->devres_managed = true;
|
|
+
|
|
+ devres->polldev = polldev;
|
|
+ devres_add(dev, devres);
|
|
+
|
|
+ return polldev;
|
|
+}
|
|
+EXPORT_SYMBOL(devm_input_allocate_polled_device);
|
|
+
|
|
+/**
|
|
+ * input_free_polled_device - free memory allocated for polled device
|
|
+ * @dev: device to free
|
|
+ *
|
|
+ * The function frees memory allocated for polling device and drops
|
|
+ * reference to the associated input device.
|
|
+ */
|
|
+void input_free_polled_device(struct input_polled_dev *dev)
|
|
+{
|
|
+ if (dev) {
|
|
+ if (dev->devres_managed)
|
|
+ WARN_ON(devres_destroy(dev->input->dev.parent,
|
|
+ devm_input_polldev_release,
|
|
+ devm_input_polldev_match,
|
|
+ dev));
|
|
+ input_put_device(dev->input);
|
|
+ kfree(dev);
|
|
+ }
|
|
+}
|
|
+EXPORT_SYMBOL(input_free_polled_device);
|
|
+
|
|
+/**
|
|
+ * input_register_polled_device - register polled device
|
|
+ * @dev: device to register
|
|
+ *
|
|
+ * The function registers previously initialized polled input device
|
|
+ * with input layer. The device should be allocated with call to
|
|
+ * input_allocate_polled_device(). Callers should also set up poll()
|
|
+ * method and set up capabilities (id, name, phys, bits) of the
|
|
+ * corresponding input_dev structure.
|
|
+ */
|
|
+int input_register_polled_device(struct input_polled_dev *dev)
|
|
+{
|
|
+ struct input_polled_devres *devres = NULL;
|
|
+ struct input_dev *input = dev->input;
|
|
+ int error;
|
|
+
|
|
+ if (dev->devres_managed) {
|
|
+ devres = devres_alloc(devm_input_polldev_unregister,
|
|
+ sizeof(*devres), GFP_KERNEL);
|
|
+ if (!devres)
|
|
+ return -ENOMEM;
|
|
+
|
|
+ devres->polldev = dev;
|
|
+ }
|
|
+
|
|
+ input_set_drvdata(input, dev);
|
|
+ INIT_DELAYED_WORK(&dev->work, input_polled_device_work);
|
|
+
|
|
+ if (!dev->poll_interval)
|
|
+ dev->poll_interval = 500;
|
|
+ if (!dev->poll_interval_max)
|
|
+ dev->poll_interval_max = dev->poll_interval;
|
|
+
|
|
+ input->open = input_open_polled_device;
|
|
+ input->close = input_close_polled_device;
|
|
+
|
|
+ input->dev.groups = input_polldev_attribute_groups;
|
|
+
|
|
+ error = input_register_device(input);
|
|
+ if (error) {
|
|
+ devres_free(devres);
|
|
+ return error;
|
|
+ }
|
|
+
|
|
+ /*
|
|
+ * Take extra reference to the underlying input device so
|
|
+ * that it survives call to input_unregister_polled_device()
|
|
+ * and is deleted only after input_free_polled_device()
|
|
+ * has been invoked. This is needed to ease task of freeing
|
|
+ * sparse keymaps.
|
|
+ */
|
|
+ input_get_device(input);
|
|
+
|
|
+ if (dev->devres_managed) {
|
|
+ dev_dbg(input->dev.parent, "%s: registering %s with devres.\n",
|
|
+ __func__, dev_name(&input->dev));
|
|
+ devres_add(input->dev.parent, devres);
|
|
+ }
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+EXPORT_SYMBOL(input_register_polled_device);
|
|
+
|
|
+/**
|
|
+ * input_unregister_polled_device - unregister polled device
|
|
+ * @dev: device to unregister
|
|
+ *
|
|
+ * The function unregisters previously registered polled input
|
|
+ * device from input layer. Polling is stopped and device is
|
|
+ * ready to be freed with call to input_free_polled_device().
|
|
+ */
|
|
+void input_unregister_polled_device(struct input_polled_dev *dev)
|
|
+{
|
|
+ if (dev->devres_managed)
|
|
+ WARN_ON(devres_destroy(dev->input->dev.parent,
|
|
+ devm_input_polldev_unregister,
|
|
+ devm_input_polldev_match,
|
|
+ dev));
|
|
+
|
|
+ input_unregister_device(dev->input);
|
|
+}
|
|
+EXPORT_SYMBOL(input_unregister_polled_device);
|
|
diff -rupN linux.orig/drivers/input/joystick/Kconfig linux/drivers/input/joystick/Kconfig
|
|
--- linux.orig/drivers/input/joystick/Kconfig 2022-11-01 17:55:27.006485589 -0400
|
|
+++ linux/drivers/input/joystick/Kconfig 2022-11-01 17:56:17.140793505 -0400
|
|
@@ -392,6 +392,12 @@ config JOYSTICK_FSIA6B
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called fsia6b.
|
|
|
|
+config JOYSTICK_SINGLEADCJOY
|
|
+ tristate "Single SARADC dual-joystick gamepad driver"
|
|
+ select INPUT_POLLDEV
|
|
+ help
|
|
+ The 1-in 4-out SARADC joypad driver.
|
|
+
|
|
config JOYSTICK_N64
|
|
bool "N64 controller"
|
|
depends on MACH_NINTENDO64
|
|
diff -rupN linux.orig/drivers/input/joystick/Makefile linux/drivers/input/joystick/Makefile
|
|
--- linux.orig/drivers/input/joystick/Makefile 2022-11-01 17:55:27.006485589 -0400
|
|
+++ linux/drivers/input/joystick/Makefile 2022-11-01 17:56:17.140793505 -0400
|
|
@@ -30,6 +30,7 @@ obj-$(CONFIG_JOYSTICK_PXRC) += pxrc.o
|
|
obj-$(CONFIG_JOYSTICK_QWIIC) += qwiic-joystick.o
|
|
obj-$(CONFIG_JOYSTICK_SENSEHAT) += sensehat-joystick.o
|
|
obj-$(CONFIG_JOYSTICK_SIDEWINDER) += sidewinder.o
|
|
+obj-$(CONFIG_JOYSTICK_SINGLEADCJOY) += singleadcjoy.o
|
|
obj-$(CONFIG_JOYSTICK_SPACEBALL) += spaceball.o
|
|
obj-$(CONFIG_JOYSTICK_SPACEORB) += spaceorb.o
|
|
obj-$(CONFIG_JOYSTICK_STINGER) += stinger.o
|
|
diff -rupN linux.orig/drivers/input/joystick/singleadcjoy.c linux/drivers/input/joystick/singleadcjoy.c
|
|
--- linux.orig/drivers/input/joystick/singleadcjoy.c 1969-12-31 19:00:00.000000000 -0500
|
|
+++ linux/drivers/input/joystick/singleadcjoy.c 2022-11-01 17:56:17.140793505 -0400
|
|
@@ -0,0 +1,1416 @@
|
|
+/*----------------------------------------------------------------------------*/
|
|
+
|
|
+/*
|
|
+ * Copyright (c) 2008-2021 Anbernic
|
|
+ */
|
|
+
|
|
+/*
|
|
+ * Single SARADC dual-joystick gamepad driver
|
|
+ */
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+#include <linux/kernel.h>
|
|
+#include <linux/module.h>
|
|
+#include <linux/slab.h>
|
|
+#include <linux/input.h>
|
|
+#include <linux/input-polldev.h>
|
|
+#include <linux/ioport.h>
|
|
+#include <linux/platform_device.h>
|
|
+#include <linux/gpio.h>
|
|
+#include <linux/gpio/consumer.h>
|
|
+#include <linux/gpio_keys.h>
|
|
+#include <linux/iio/consumer.h>
|
|
+#include <linux/iio/types.h>
|
|
+#include <linux/property.h>
|
|
+#include <linux/of_gpio.h>
|
|
+#include <linux/delay.h>
|
|
+#include <linux/pwm.h>
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+#define DRV_NAME "retrogame_joypad"
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+#define ADC_MAX_VOLTAGE 1800
|
|
+#define ADC_DATA_TUNING(x, p) ((x * p) / 100)
|
|
+#define ADC_TUNING_DEFAULT 180
|
|
+#define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x)))
|
|
+
|
|
+struct bt_adc {
|
|
+ /* report value (mV) */
|
|
+ int value;
|
|
+ /* report type */
|
|
+ int report_type;
|
|
+ /* input device init value (mV) */
|
|
+ int max, min;
|
|
+ /* calibrated adc value */
|
|
+ int cal;
|
|
+ /* adc scale value */
|
|
+ int scale;
|
|
+ /* invert report */
|
|
+ bool invert;
|
|
+ /* amux channel */
|
|
+ int amux_ch;
|
|
+ /* adc data tuning value([percent), p = positive, n = negative */
|
|
+ int tuning_p, tuning_n;
|
|
+};
|
|
+
|
|
+struct analog_mux {
|
|
+ /* IIO ADC Channel : amux connect channel */
|
|
+ struct iio_channel *iio_ch;
|
|
+ /* analog mux select(a,b) gpio */
|
|
+ int sel_a_gpio, sel_b_gpio;
|
|
+ /* analog mux enable gpio */
|
|
+ int en_gpio;
|
|
+};
|
|
+
|
|
+struct bt_gpio {
|
|
+ /* GPIO Request label */
|
|
+ const char *label;
|
|
+ /* GPIO Number */
|
|
+ int num;
|
|
+ /* report type */
|
|
+ int report_type;
|
|
+ /* report linux code */
|
|
+ int linux_code;
|
|
+ /* prev button value */
|
|
+ bool old_value;
|
|
+ /* button press level */
|
|
+ bool active_level;
|
|
+};
|
|
+
|
|
+struct joypad {
|
|
+ struct device *dev;
|
|
+ int poll_interval;
|
|
+
|
|
+ /* report enable/disable */
|
|
+ bool enable;
|
|
+
|
|
+ /* analog mux & joystick control */
|
|
+ struct analog_mux *amux;
|
|
+ /* analog mux max count */
|
|
+ int amux_count;
|
|
+ /* analog button */
|
|
+ struct bt_adc *adcs;
|
|
+
|
|
+ /* report reference point */
|
|
+ bool invert_absx;
|
|
+ bool invert_absy;
|
|
+ bool invert_absrx;
|
|
+ bool invert_absry;
|
|
+
|
|
+ /* report interval (ms) */
|
|
+ int bt_gpio_count;
|
|
+ struct bt_gpio *gpios;
|
|
+
|
|
+ /* button auto repeat */
|
|
+ int auto_repeat;
|
|
+
|
|
+ /* report threshold (mV) */
|
|
+ int bt_adc_fuzz, bt_adc_flat;
|
|
+ /* adc read value scale */
|
|
+ int bt_adc_scale;
|
|
+ /* joystick deadzone control */
|
|
+ int bt_adc_deadzone;
|
|
+
|
|
+ struct mutex lock;
|
|
+
|
|
+ /* amux debug channel */
|
|
+ int debug_ch;
|
|
+
|
|
+ /* pwm device for rumble*/
|
|
+ struct input_dev *input;
|
|
+ struct pwm_device *pwm;
|
|
+ struct work_struct play_work;
|
|
+ u16 level;
|
|
+ u16 boost_weak;
|
|
+ u16 boost_strong;
|
|
+};
|
|
+
|
|
+static int pwm_vibrator_start(struct joypad *joypad)
|
|
+{
|
|
+ struct device *pdev = joypad->input->dev.parent;
|
|
+ struct pwm_state state;
|
|
+ int err;
|
|
+
|
|
+ pwm_get_state(joypad->pwm, &state);
|
|
+ pwm_set_relative_duty_cycle(&state, joypad->level, 0xffff);
|
|
+ state.enabled = true;
|
|
+
|
|
+ err = pwm_apply_state(joypad->pwm, &state);
|
|
+ if (err) {
|
|
+ dev_err(pdev, "failed to apply pwm state: %d", err);
|
|
+ return err;
|
|
+ }
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static void pwm_vibrator_stop(struct joypad *joypad)
|
|
+{
|
|
+ pwm_disable(joypad->pwm);
|
|
+}
|
|
+
|
|
+static void pwm_vibrator_play_work(struct work_struct *work)
|
|
+{
|
|
+ struct joypad *joypad = container_of(work,
|
|
+ struct joypad, play_work);
|
|
+
|
|
+ if (joypad->level)
|
|
+ pwm_vibrator_start(joypad);
|
|
+ else
|
|
+ pwm_vibrator_stop(joypad);
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+//
|
|
+// set to the value in the boot.ini file. (if exist)
|
|
+//
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static unsigned int g_button_adc_fuzz = 0;
|
|
+static unsigned int g_button_adc_flat = 0;
|
|
+static unsigned int g_button_adc_scale = 0;
|
|
+static unsigned int g_button_adc_deadzone = 0;
|
|
+
|
|
+static int button_adc_fuzz(char *str)
|
|
+{
|
|
+ if (!str)
|
|
+ return -EINVAL;
|
|
+ g_button_adc_fuzz = simple_strtoul(str, NULL, 10);
|
|
+ return 0;
|
|
+}
|
|
+__setup("button-adc-fuzz=", button_adc_fuzz);
|
|
+
|
|
+static int button_adc_flat(char *str)
|
|
+{
|
|
+ if (!str)
|
|
+ return -EINVAL;
|
|
+ g_button_adc_flat = simple_strtoul(str, NULL, 10);
|
|
+ return 0;
|
|
+}
|
|
+__setup("button-adc-flat=", button_adc_flat);
|
|
+
|
|
+static int button_adc_scale(char *str)
|
|
+{
|
|
+ if (!str)
|
|
+ return -EINVAL;
|
|
+ g_button_adc_scale = simple_strtoul(str, NULL, 10);
|
|
+ return 0;
|
|
+}
|
|
+__setup("button-adc-scale=", button_adc_scale);
|
|
+
|
|
+static int button_adc_deadzone(char *str)
|
|
+{
|
|
+ if (!str)
|
|
+ return -EINVAL;
|
|
+ g_button_adc_deadzone = simple_strtoul(str, NULL, 10);
|
|
+ return 0;
|
|
+}
|
|
+__setup("button-adc-deadzone=", button_adc_deadzone);
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static int joypad_amux_select(struct analog_mux *amux, int channel)
|
|
+{
|
|
+ /* select mux channel */
|
|
+ gpio_set_value(amux->en_gpio, 0);
|
|
+
|
|
+ switch(channel) {
|
|
+ case 0: /* EVENT (ABS_RY) */
|
|
+ gpio_set_value(amux->sel_a_gpio, 0);
|
|
+ gpio_set_value(amux->sel_b_gpio, 0);
|
|
+ break;
|
|
+ case 1: /* EVENT (ABS_RX) */
|
|
+ gpio_set_value(amux->sel_a_gpio, 0);
|
|
+ gpio_set_value(amux->sel_b_gpio, 1);
|
|
+ break;
|
|
+ case 2: /* EVENT (ABS_Y) */
|
|
+ gpio_set_value(amux->sel_a_gpio, 1);
|
|
+ gpio_set_value(amux->sel_b_gpio, 0);
|
|
+ break;
|
|
+ case 3: /* EVENT (ABS_X) */
|
|
+ gpio_set_value(amux->sel_a_gpio, 1);
|
|
+ gpio_set_value(amux->sel_b_gpio, 1);
|
|
+ break;
|
|
+ default:
|
|
+ /* amux disanle */
|
|
+ gpio_set_value(amux->en_gpio, 1);
|
|
+ return -1;
|
|
+ }
|
|
+ /* mux swtiching speed : 35ns(on) / 9ns(off) */
|
|
+ usleep_range(10, 20);
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static int joypad_adc_read(struct analog_mux *amux, struct bt_adc *adc)
|
|
+{
|
|
+ int value;
|
|
+
|
|
+
|
|
+ if (joypad_amux_select(amux, adc->amux_ch))
|
|
+ return 0;
|
|
+
|
|
+ iio_read_channel_raw(amux->iio_ch, &value);
|
|
+
|
|
+ value *= adc->scale;
|
|
+
|
|
+ return value;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*
|
|
+ * ATTRIBUTES:
|
|
+ *
|
|
+ * /sys/devices/platform/retrogame_joypad/poll_interval [rw]
|
|
+ */
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_store_poll_interval(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ const char *buf,
|
|
+ size_t count)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ mutex_lock(&joypad->lock);
|
|
+ joypad->poll_interval = simple_strtoul(buf, NULL, 10);
|
|
+ mutex_unlock(&joypad->lock);
|
|
+
|
|
+ return count;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_show_poll_interval(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ char *buf)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ return sprintf(buf, "%d\n", joypad->poll_interval);
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static DEVICE_ATTR(poll_interval, S_IWUSR | S_IRUGO,
|
|
+ joypad_show_poll_interval,
|
|
+ joypad_store_poll_interval);
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*
|
|
+ * ATTRIBUTES:
|
|
+ *
|
|
+ * /sys/devices/platform/retrogame_joypad/adc_fuzz [r]
|
|
+ */
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_show_adc_fuzz(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ char *buf)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ return sprintf(buf, "%d\n", joypad->bt_adc_fuzz);
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static DEVICE_ATTR(adc_fuzz, S_IWUSR | S_IRUGO,
|
|
+ joypad_show_adc_fuzz,
|
|
+ NULL);
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*
|
|
+ * ATTRIBUTES:
|
|
+ *
|
|
+ * /sys/devices/platform/retrogame_joypad/adc_flat [r]
|
|
+ */
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_show_adc_flat(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ char *buf)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ return sprintf(buf, "%d\n", joypad->bt_adc_flat);
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static DEVICE_ATTR(adc_flat, S_IWUSR | S_IRUGO,
|
|
+ joypad_show_adc_flat,
|
|
+ NULL);
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*
|
|
+ * ATTRIBUTES:
|
|
+ *
|
|
+ * /sys/devices/platform/retrogame_joypad/enable [rw]
|
|
+ */
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_store_enable(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ const char *buf,
|
|
+ size_t count)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ mutex_lock(&joypad->lock);
|
|
+ joypad->enable = simple_strtoul(buf, NULL, 10);
|
|
+ mutex_unlock(&joypad->lock);
|
|
+
|
|
+ return count;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_show_enable(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ char *buf)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ return sprintf(buf, "%d\n", joypad->enable);
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static DEVICE_ATTR(enable, S_IWUSR | S_IRUGO,
|
|
+ joypad_show_enable,
|
|
+ joypad_store_enable);
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*
|
|
+ * ATTRIBUTES:
|
|
+ *
|
|
+ * /sys/devices/platform/retrogame_joypad/adc_cal [rw]
|
|
+ */
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_store_adc_cal(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ const char *buf,
|
|
+ size_t count)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+ bool calibration;
|
|
+
|
|
+ calibration = simple_strtoul(buf, NULL, 10);
|
|
+
|
|
+ if (calibration) {
|
|
+ int nbtn;
|
|
+
|
|
+ mutex_lock(&joypad->lock);
|
|
+ for (nbtn = 0; nbtn < joypad->amux_count; nbtn++) {
|
|
+ struct bt_adc *adc = &joypad->adcs[nbtn];
|
|
+
|
|
+ adc->value = joypad_adc_read(joypad->amux, adc);
|
|
+ if (!adc->value) {
|
|
+ dev_err(joypad->dev, "%s : saradc channels[%d]!\n",
|
|
+ __func__, nbtn);
|
|
+ continue;
|
|
+ }
|
|
+ adc->cal = adc->value;
|
|
+ }
|
|
+ mutex_unlock(&joypad->lock);
|
|
+ }
|
|
+ return count;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_show_adc_cal(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ char *buf)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+ int nbtn;
|
|
+ ssize_t pos;
|
|
+
|
|
+ for (nbtn = 0, pos = 0; nbtn < joypad->amux_count; nbtn++) {
|
|
+ struct bt_adc *adc = &joypad->adcs[nbtn];
|
|
+ pos += sprintf(&buf[pos], "adc[%d]->cal = %d\n",
|
|
+ nbtn, adc->cal);
|
|
+ }
|
|
+ pos += sprintf(&buf[pos], "adc scale = %d\n", joypad->bt_adc_scale);
|
|
+ return pos;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static DEVICE_ATTR(adc_cal, S_IWUSR | S_IRUGO,
|
|
+ joypad_show_adc_cal,
|
|
+ joypad_store_adc_cal);
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*
|
|
+ * ATTRIBUTES:
|
|
+ *
|
|
+ * /sys/devices/platform/retrogame_joypad/amux_debug [rw]
|
|
+ *
|
|
+ * echo [debug channel] > amux_debug
|
|
+ * cat amux_debug : debug channel mux set & adc read
|
|
+ */
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_store_amux_debug(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ const char *buf,
|
|
+ size_t count)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ joypad->debug_ch = simple_strtoul(buf, NULL, 10);
|
|
+
|
|
+ /* if error than default setting(debug_ch = 0) */
|
|
+ if (joypad->debug_ch > joypad->amux_count)
|
|
+ joypad->debug_ch = 0;
|
|
+
|
|
+ return count;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_show_amux_debug(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ char *buf)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+ struct analog_mux *amux = joypad->amux;
|
|
+ ssize_t pos;
|
|
+ int value;
|
|
+
|
|
+ mutex_lock(&joypad->lock);
|
|
+
|
|
+ /* disable poll driver */
|
|
+ if (joypad->enable)
|
|
+ joypad->enable = false;
|
|
+
|
|
+ if (joypad_amux_select(amux, joypad->debug_ch))
|
|
+ goto err_out;
|
|
+
|
|
+ if (iio_read_channel_processed(amux->iio_ch, &value))
|
|
+ goto err_out;
|
|
+
|
|
+ pos = sprintf(buf, "amux ch[%d], adc scale = %d, adc value = %d\n",
|
|
+ joypad->debug_ch, joypad->bt_adc_scale,
|
|
+ value * joypad->bt_adc_scale);
|
|
+ goto out;
|
|
+
|
|
+err_out:
|
|
+ pos = sprintf(buf, "error : amux setup & adc read!\n");
|
|
+out:
|
|
+ mutex_unlock(&joypad->lock);
|
|
+ return pos;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static DEVICE_ATTR(amux_debug, S_IWUSR | S_IRUGO,
|
|
+ joypad_show_amux_debug,
|
|
+ joypad_store_amux_debug);
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*
|
|
+ * ATTRIBUTES:
|
|
+ *
|
|
+ * /sys/devices/platform/odroidgo2_joypad/rumble_period [rw]
|
|
+ */
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_store_period(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ const char *buf,
|
|
+ size_t count)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ mutex_lock(&joypad->lock);
|
|
+ pwm_set_period(joypad->pwm, simple_strtoul(buf, NULL, 21));
|
|
+ mutex_unlock(&joypad->lock);
|
|
+
|
|
+ return count;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_show_period(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ char *buf)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ return sprintf(buf, "%d\n", pwm_get_period(joypad->pwm));
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static DEVICE_ATTR(rumble_period, S_IWUSR | S_IRUGO,
|
|
+ joypad_show_period,
|
|
+ joypad_store_period);
|
|
+
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*
|
|
+ * ATTRIBUTES:
|
|
+ *
|
|
+ * /sys/devices/platform/odroidgo2_joypad/rumble_boost_strong [rw]
|
|
+ */
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_store_boost_strong(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ const char *buf,
|
|
+ size_t count)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ mutex_lock(&joypad->lock);
|
|
+ joypad->boost_strong = simple_strtoul(buf, NULL, 10);
|
|
+ mutex_unlock(&joypad->lock);
|
|
+
|
|
+ return count;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_show_boost_strong(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ char *buf)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ return sprintf(buf, "%d\n", joypad->boost_strong);
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static DEVICE_ATTR(rumble_boost_strong, S_IWUSR | S_IRUGO,
|
|
+ joypad_show_boost_strong,
|
|
+ joypad_store_boost_strong);
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*
|
|
+ * ATTRIBUTES:
|
|
+ *
|
|
+ * /sys/devices/platform/odroidgo2_joypad/rumble_boost_weak [rw]
|
|
+ */
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_store_boost_weak(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ const char *buf,
|
|
+ size_t count)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ mutex_lock(&joypad->lock);
|
|
+ joypad->boost_weak = simple_strtoul(buf, NULL, 10);
|
|
+ mutex_unlock(&joypad->lock);
|
|
+
|
|
+ return count;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_show_boost_weak(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ char *buf)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ return sprintf(buf, "%d\n", joypad->boost_weak);
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static DEVICE_ATTR(rumble_boost_weak, S_IWUSR | S_IRUGO,
|
|
+ joypad_show_boost_weak,
|
|
+ joypad_store_boost_weak);
|
|
+
|
|
+#define __HDMI__
|
|
+
|
|
+#ifdef __HDMI__
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*
|
|
+ * ATTRIBUTES:
|
|
+ *
|
|
+ * /sys/devices/platform/singleadc-joypad/hdst [rw]
|
|
+ */
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_store_hdst(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ const char *buf,
|
|
+ size_t count)
|
|
+{
|
|
+ return count;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static ssize_t joypad_show_hdst(struct device *dev,
|
|
+ struct device_attribute *attr,
|
|
+ char *buf)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+ //int stcon;
|
|
+ ssize_t pos=0;
|
|
+ if(gpio_get_value(54)==1)
|
|
+ {
|
|
+ pos += sprintf(&buf[pos], "disconnected\n");
|
|
+ }else{
|
|
+ pos += sprintf(&buf[pos], "connected\n");
|
|
+ }
|
|
+ return pos;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static DEVICE_ATTR(hdst, S_IWUSR | S_IRUGO,
|
|
+ joypad_show_hdst,
|
|
+ joypad_store_hdst);
|
|
+#endif
|
|
+
|
|
+#ifdef __HDMI__
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static struct attribute *joypad_attrs[] = {
|
|
+ &dev_attr_poll_interval.attr,
|
|
+ &dev_attr_adc_fuzz.attr,
|
|
+ &dev_attr_adc_flat.attr,
|
|
+ &dev_attr_enable.attr,
|
|
+ &dev_attr_adc_cal.attr,
|
|
+ &dev_attr_amux_debug.attr,
|
|
+ &dev_attr_hdst.attr,
|
|
+ &dev_attr_rumble_period.attr,
|
|
+ &dev_attr_rumble_boost_strong.attr,
|
|
+ &dev_attr_rumble_boost_weak.attr,
|
|
+ NULL,
|
|
+};
|
|
+#else
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static struct attribute *joypad_attrs[] = {
|
|
+ &dev_attr_poll_interval.attr,
|
|
+ &dev_attr_adc_fuzz.attr,
|
|
+ &dev_attr_adc_flat.attr,
|
|
+ &dev_attr_enable.attr,
|
|
+ &dev_attr_adc_cal.attr,
|
|
+ &dev_attr_amux_debug.attr,
|
|
+ &dev_attr_rumble_period.attr,
|
|
+ &dev_attr_rumble_boost_strong.attr,
|
|
+ &dev_attr_rumble_boost_weak.attr,
|
|
+ NULL,
|
|
+};
|
|
+#endif
|
|
+static struct attribute_group joypad_attr_group = {
|
|
+ .attrs = joypad_attrs,
|
|
+};
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static void joypad_gpio_check(struct input_polled_dev *poll_dev)
|
|
+{
|
|
+ struct joypad *joypad = poll_dev->private;
|
|
+ int nbtn, value;
|
|
+
|
|
+ for (nbtn = 0; nbtn < joypad->bt_gpio_count; nbtn++) {
|
|
+ struct bt_gpio *gpio = &joypad->gpios[nbtn];
|
|
+
|
|
+ if (gpio_get_value_cansleep(gpio->num) < 0) {
|
|
+ dev_err(joypad->dev, "failed to get gpio state\n");
|
|
+ continue;
|
|
+ }
|
|
+ value = gpio_get_value(gpio->num);
|
|
+ if (value != gpio->old_value) {
|
|
+ input_event(poll_dev->input,
|
|
+ gpio->report_type,
|
|
+ gpio->linux_code,
|
|
+ (value == gpio->active_level) ? 1 : 0);
|
|
+ gpio->old_value = value;
|
|
+ }
|
|
+ }
|
|
+ input_sync(poll_dev->input);
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static void joypad_adc_check(struct input_polled_dev *poll_dev)
|
|
+{
|
|
+ struct joypad *joypad = poll_dev->private;
|
|
+ int nbtn;
|
|
+
|
|
+ for (nbtn = 0; nbtn < joypad->amux_count; nbtn++) {
|
|
+ struct bt_adc *adc = &joypad->adcs[nbtn];
|
|
+
|
|
+ adc->value = joypad_adc_read(joypad->amux, adc);
|
|
+ if (!adc->value) {
|
|
+ //dev_err(joypad->dev, "%s : saradc channels[%d]! adc->value : %d\n",__func__, nbtn, adc->value);
|
|
+ continue;
|
|
+ }
|
|
+ adc->value = adc->value - adc->cal;
|
|
+
|
|
+ /* Joystick Deadzone check */
|
|
+ if (joypad->bt_adc_deadzone) {
|
|
+ if (abs(adc->value) < joypad->bt_adc_deadzone)
|
|
+ adc->value = 0;
|
|
+ }
|
|
+
|
|
+ /* adc data tuning */
|
|
+ if (adc->tuning_n && adc->value < 0)
|
|
+ adc->value = ADC_DATA_TUNING(adc->value, adc->tuning_n);
|
|
+ if (adc->tuning_p && adc->value > 0)
|
|
+ adc->value = ADC_DATA_TUNING(adc->value, adc->tuning_p);
|
|
+
|
|
+ adc->value = adc->value > adc->max ? adc->max : adc->value;
|
|
+ adc->value = adc->value < adc->min ? adc->min : adc->value;
|
|
+
|
|
+ input_report_abs(poll_dev->input,
|
|
+ adc->report_type,
|
|
+ adc->invert ? adc->value * (-1) : adc->value);
|
|
+ }
|
|
+ input_sync(poll_dev->input);
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static void joypad_poll(struct input_polled_dev *poll_dev)
|
|
+{
|
|
+ struct joypad *joypad = poll_dev->private;
|
|
+
|
|
+ if (joypad->enable) {
|
|
+ joypad_adc_check(poll_dev);
|
|
+ joypad_gpio_check(poll_dev);
|
|
+ }
|
|
+ if (poll_dev->poll_interval != joypad->poll_interval) {
|
|
+ mutex_lock(&joypad->lock);
|
|
+ poll_dev->poll_interval = joypad->poll_interval;
|
|
+ mutex_unlock(&joypad->lock);
|
|
+ }
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static void joypad_open(struct input_polled_dev *poll_dev)
|
|
+{
|
|
+ struct joypad *joypad = poll_dev->private;
|
|
+ int nbtn;
|
|
+
|
|
+ for (nbtn = 0; nbtn < joypad->bt_gpio_count; nbtn++) {
|
|
+ struct bt_gpio *gpio = &joypad->gpios[nbtn];
|
|
+ gpio->old_value = gpio->active_level ? 0 : 1;
|
|
+ }
|
|
+ for (nbtn = 0; nbtn < joypad->amux_count; nbtn++) {
|
|
+ struct bt_adc *adc = &joypad->adcs[nbtn];
|
|
+
|
|
+ adc->value = joypad_adc_read(joypad->amux, adc);
|
|
+ if (!adc->value) {
|
|
+ dev_err(joypad->dev, "%s : saradc channels[%d]!\n",
|
|
+ __func__, nbtn);
|
|
+ continue;
|
|
+ }
|
|
+ adc->cal = adc->value;
|
|
+ dev_info(joypad->dev, "%s : adc[%d] adc->cal = %d\n",
|
|
+ __func__, nbtn, adc->cal);
|
|
+ }
|
|
+ /* buttons status sync */
|
|
+ joypad_adc_check(poll_dev);
|
|
+ joypad_gpio_check(poll_dev);
|
|
+
|
|
+ /* button report enable */
|
|
+ mutex_lock(&joypad->lock);
|
|
+ joypad->enable = true;
|
|
+ mutex_unlock(&joypad->lock);
|
|
+
|
|
+ dev_info(joypad->dev, "%s : opened\n", __func__);
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static void joypad_close(struct input_polled_dev *poll_dev)
|
|
+{
|
|
+ struct joypad *joypad = poll_dev->private;
|
|
+
|
|
+ /* button report disable */
|
|
+ mutex_lock(&joypad->lock);
|
|
+ joypad->enable = false;
|
|
+ mutex_unlock(&joypad->lock);
|
|
+
|
|
+ cancel_work_sync(&joypad->play_work);
|
|
+ pwm_vibrator_stop(joypad);
|
|
+
|
|
+ dev_info(joypad->dev, "%s : closed\n", __func__);
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static int joypad_amux_setup(struct device *dev, struct joypad *joypad)
|
|
+{
|
|
+ struct analog_mux *amux;
|
|
+ enum iio_chan_type type;
|
|
+ enum of_gpio_flags flags;
|
|
+ int ret;
|
|
+
|
|
+ /* analog mux control struct init */
|
|
+ joypad->amux = devm_kzalloc(dev, sizeof(struct analog_mux),
|
|
+ GFP_KERNEL);
|
|
+ if (!joypad->amux) {
|
|
+ dev_err(dev, "%s amux devm_kzmalloc error!", __func__);
|
|
+ return -ENOMEM;
|
|
+ }
|
|
+ amux = joypad->amux;
|
|
+ amux->iio_ch = devm_iio_channel_get(dev, "amux_adc");
|
|
+ if (IS_ERR(amux->iio_ch)) {
|
|
+ dev_err(dev, "iio channel get error\n");
|
|
+ return -EINVAL;
|
|
+ }
|
|
+ if (!amux->iio_ch->indio_dev)
|
|
+ return -ENXIO;
|
|
+
|
|
+ if (iio_get_channel_type(amux->iio_ch, &type))
|
|
+ return -EINVAL;
|
|
+
|
|
+ if (type != IIO_VOLTAGE) {
|
|
+ dev_err(dev, "Incompatible channel type %d\n", type);
|
|
+ return -EINVAL;
|
|
+ }
|
|
+
|
|
+ amux->sel_a_gpio = of_get_named_gpio_flags(dev->of_node,
|
|
+ "amux-a-gpios", 0, &flags);
|
|
+ if (gpio_is_valid(amux->sel_a_gpio)) {
|
|
+ ret = devm_gpio_request(dev, amux->sel_a_gpio, "amux-sel-a");
|
|
+ if (ret < 0) {
|
|
+ dev_err(dev, "%s : failed to request amux-sel-a %d\n",
|
|
+ __func__, amux->sel_a_gpio);
|
|
+ goto err_out;
|
|
+ }
|
|
+ ret = gpio_direction_output(amux->sel_a_gpio, 0);
|
|
+ if (ret < 0)
|
|
+ goto err_out;
|
|
+ }
|
|
+
|
|
+ amux->sel_b_gpio = of_get_named_gpio_flags(dev->of_node,
|
|
+ "amux-b-gpios", 0, &flags);
|
|
+ if (gpio_is_valid(amux->sel_b_gpio)) {
|
|
+ ret = devm_gpio_request(dev, amux->sel_b_gpio, "amux-sel-b");
|
|
+ if (ret < 0) {
|
|
+ dev_err(dev, "%s : failed to request amux-sel-b %d\n",
|
|
+ __func__, amux->sel_b_gpio);
|
|
+ goto err_out;
|
|
+ }
|
|
+ ret = gpio_direction_output(amux->sel_b_gpio, 0);
|
|
+ if (ret < 0)
|
|
+ goto err_out;
|
|
+ }
|
|
+
|
|
+ amux->en_gpio = of_get_named_gpio_flags(dev->of_node,
|
|
+ "amux-en-gpios", 0, &flags);
|
|
+ if (gpio_is_valid(amux->en_gpio)) {
|
|
+ ret = devm_gpio_request(dev, amux->en_gpio, "amux-en");
|
|
+ if (ret < 0) {
|
|
+ dev_err(dev, "%s : failed to request amux-en %d\n",
|
|
+ __func__, amux->en_gpio);
|
|
+ goto err_out;
|
|
+ }
|
|
+ ret = gpio_direction_output(amux->en_gpio, 0);
|
|
+ if (ret < 0)
|
|
+ goto err_out;
|
|
+ }
|
|
+ return 0;
|
|
+err_out:
|
|
+ return ret;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static int joypad_adc_setup(struct device *dev, struct joypad *joypad)
|
|
+{
|
|
+ int nbtn;
|
|
+
|
|
+ /* adc button struct init */
|
|
+ joypad->adcs = devm_kzalloc(dev, joypad->amux_count *
|
|
+ sizeof(struct bt_adc), GFP_KERNEL);
|
|
+ if (!joypad->adcs) {
|
|
+ dev_err(dev, "%s devm_kzmalloc error!", __func__);
|
|
+ return -ENOMEM;
|
|
+ }
|
|
+
|
|
+ for (nbtn = 0; nbtn < joypad->amux_count; nbtn++) {
|
|
+ struct bt_adc *adc = &joypad->adcs[nbtn];
|
|
+
|
|
+ adc->scale = joypad->bt_adc_scale;
|
|
+
|
|
+ adc->max = (ADC_MAX_VOLTAGE / 2);
|
|
+ adc->min = (ADC_MAX_VOLTAGE / 2) * (-1);
|
|
+ if (adc->scale) {
|
|
+ adc->max *= adc->scale;
|
|
+ adc->min *= adc->scale;
|
|
+ }
|
|
+ adc->amux_ch = nbtn;
|
|
+ adc->invert = false;
|
|
+
|
|
+ switch (nbtn) {
|
|
+ case 0:
|
|
+ if (joypad->invert_absry)
|
|
+ adc->invert = true;
|
|
+ adc->report_type = ABS_RY;
|
|
+ if (device_property_read_u32(dev,
|
|
+ "abs_ry-p-tuning",
|
|
+ &adc->tuning_p))
|
|
+ adc->tuning_p = ADC_TUNING_DEFAULT;
|
|
+ if (device_property_read_u32(dev,
|
|
+ "abs_ry-n-tuning",
|
|
+ &adc->tuning_n))
|
|
+ adc->tuning_n = ADC_TUNING_DEFAULT;
|
|
+ break;
|
|
+ case 1:
|
|
+ if (joypad->invert_absrx)
|
|
+ adc->invert = true;
|
|
+ adc->report_type = ABS_RX;
|
|
+ if (device_property_read_u32(dev,
|
|
+ "abs_rx-p-tuning",
|
|
+ &adc->tuning_p))
|
|
+ adc->tuning_p = ADC_TUNING_DEFAULT;
|
|
+ if (device_property_read_u32(dev,
|
|
+ "abs_rx-n-tuning",
|
|
+ &adc->tuning_n))
|
|
+ adc->tuning_n = ADC_TUNING_DEFAULT;
|
|
+ break;
|
|
+ case 2:
|
|
+ if (joypad->invert_absy)
|
|
+ adc->invert = true;
|
|
+ adc->report_type = ABS_Y;
|
|
+ if (device_property_read_u32(dev,
|
|
+ "abs_y-p-tuning",
|
|
+ &adc->tuning_p))
|
|
+ adc->tuning_p = ADC_TUNING_DEFAULT;
|
|
+ if (device_property_read_u32(dev,
|
|
+ "abs_y-n-tuning",
|
|
+ &adc->tuning_n))
|
|
+ adc->tuning_n = ADC_TUNING_DEFAULT;
|
|
+ break;
|
|
+ case 3:
|
|
+ if (joypad->invert_absx)
|
|
+ adc->invert = true;
|
|
+ adc->report_type = ABS_X;
|
|
+ if (device_property_read_u32(dev,
|
|
+ "abs_x-p-tuning",
|
|
+ &adc->tuning_p))
|
|
+ adc->tuning_p = ADC_TUNING_DEFAULT;
|
|
+ if (device_property_read_u32(dev,
|
|
+ "abs_x-n-tuning",
|
|
+ &adc->tuning_n))
|
|
+ adc->tuning_n = ADC_TUNING_DEFAULT;
|
|
+ break;
|
|
+ default :
|
|
+ dev_err(dev, "%s amux count(%d) error!",
|
|
+ __func__, nbtn);
|
|
+ return -EINVAL;
|
|
+ }
|
|
+ }
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static int joypad_gpio_setup(struct device *dev, struct joypad *joypad)
|
|
+{
|
|
+ struct device_node *node, *pp;
|
|
+ int nbtn;
|
|
+
|
|
+ node = dev->of_node;
|
|
+ if (!node)
|
|
+ return -ENODEV;
|
|
+
|
|
+ joypad->gpios = devm_kzalloc(dev, joypad->bt_gpio_count *
|
|
+ sizeof(struct bt_gpio), GFP_KERNEL);
|
|
+
|
|
+ if (!joypad->gpios) {
|
|
+ dev_err(dev, "%s devm_kzmalloc error!", __func__);
|
|
+ return -ENOMEM;
|
|
+ }
|
|
+
|
|
+ nbtn = 0;
|
|
+ for_each_child_of_node(node, pp) {
|
|
+ enum of_gpio_flags flags;
|
|
+ struct bt_gpio *gpio = &joypad->gpios[nbtn++];
|
|
+ int error;
|
|
+
|
|
+ gpio->num = of_get_gpio_flags(pp, 0, &flags);
|
|
+ if (gpio->num < 0) {
|
|
+ error = gpio->num;
|
|
+ dev_err(dev, "Failed to get gpio flags, error: %d\n",
|
|
+ error);
|
|
+ return error;
|
|
+ }
|
|
+
|
|
+ /* gpio active level(key press level) */
|
|
+ gpio->active_level = (flags & OF_GPIO_ACTIVE_LOW) ? 0 : 1;
|
|
+
|
|
+ gpio->label = of_get_property(pp, "label", NULL);
|
|
+
|
|
+ if (gpio_is_valid(gpio->num)) {
|
|
+ error = devm_gpio_request_one(dev, gpio->num,
|
|
+ GPIOF_IN, gpio->label);
|
|
+ if (error < 0) {
|
|
+ dev_err(dev,
|
|
+ "Failed to request GPIO %d, error %d\n",
|
|
+ gpio->num, error);
|
|
+ return error;
|
|
+ }
|
|
+ }
|
|
+ if (of_property_read_u32(pp, "linux,code", &gpio->linux_code)) {
|
|
+ dev_err(dev, "Button without keycode: 0x%x\n",
|
|
+ gpio->num);
|
|
+ return -EINVAL;
|
|
+ }
|
|
+ if (of_property_read_u32(pp, "linux,input-type",
|
|
+ &gpio->report_type))
|
|
+ gpio->report_type = EV_KEY;
|
|
+ }
|
|
+ if (nbtn == 0)
|
|
+ return -EINVAL;
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+struct input_dev * joypad_input_g;
|
|
+
|
|
+
|
|
+void rk_send_key_f_key_up(void)
|
|
+{
|
|
+ if (!joypad_input_g)
|
|
+ return;
|
|
+
|
|
+ input_report_key(joypad_input_g, BTN_MODE, 1);
|
|
+ input_sync(joypad_input_g);
|
|
+}
|
|
+EXPORT_SYMBOL(rk_send_key_f_key_up);
|
|
+
|
|
+
|
|
+void rk_send_key_f_key_down(void)
|
|
+{
|
|
+ if (!joypad_input_g)
|
|
+ return;
|
|
+
|
|
+ input_report_key(joypad_input_g, BTN_MODE, 0);
|
|
+ input_sync(joypad_input_g);
|
|
+}
|
|
+EXPORT_SYMBOL(rk_send_key_f_key_down);
|
|
+
|
|
+static int rumble_play_effect(struct input_dev *dev, void *data, struct ff_effect *effect)
|
|
+{
|
|
+ struct joypad *joypad = data;
|
|
+ u32 boosted_level;
|
|
+ if (effect->type != FF_RUMBLE)
|
|
+ return 0;
|
|
+
|
|
+ if (effect->u.rumble.strong_magnitude)
|
|
+ boosted_level = effect->u.rumble.strong_magnitude + joypad->boost_strong;
|
|
+ else
|
|
+ boosted_level = effect->u.rumble.weak_magnitude + joypad->boost_weak;
|
|
+
|
|
+ joypad->level = (u16)CLAMP(boosted_level, 0, 0xffff);
|
|
+
|
|
+ dev_info(joypad->dev,"joypad->level = %d", joypad->level);
|
|
+ schedule_work(&joypad->play_work);
|
|
+ return 0;
|
|
+}
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static int joypad_rumble_setup(struct device *dev, struct joypad *joypad)
|
|
+{
|
|
+ int err;
|
|
+ struct pwm_state state;
|
|
+
|
|
+ joypad->pwm = devm_pwm_get(dev, "enable");
|
|
+ if (IS_ERR(joypad->pwm))
|
|
+ {
|
|
+ dev_err(dev, "rumble get error\n");
|
|
+ return -EINVAL;
|
|
+ }
|
|
+
|
|
+ INIT_WORK(&joypad->play_work, pwm_vibrator_play_work);
|
|
+
|
|
+ /* Sync up PWM state and ensure it is off. */
|
|
+ pwm_init_state(joypad->pwm, &state);
|
|
+ state.enabled = false;
|
|
+ err = pwm_apply_state(joypad->pwm, &state);
|
|
+ if (err) {
|
|
+ dev_err(dev, "failed to apply initial PWM state: %d",
|
|
+ err);
|
|
+ return err;
|
|
+ }
|
|
+ dev_info(dev, "rumble setup success!\n");
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static int joypad_input_setup(struct device *dev, struct joypad *joypad)
|
|
+{
|
|
+ struct input_polled_dev *poll_dev;
|
|
+ struct input_dev *input;
|
|
+ int nbtn, error;
|
|
+ u32 joypad_revision = 0;
|
|
+ u32 joypad_product = 0;
|
|
+ u32 boost_weak = 0;
|
|
+ u32 boost_strong = 0;
|
|
+ poll_dev = devm_input_allocate_polled_device(dev);
|
|
+ if (!poll_dev) {
|
|
+ dev_err(dev, "no memory for polled device\n");
|
|
+ return -ENOMEM;
|
|
+ }
|
|
+
|
|
+ poll_dev->private = joypad;
|
|
+ poll_dev->poll = joypad_poll;
|
|
+ poll_dev->poll_interval = joypad->poll_interval;
|
|
+ poll_dev->open = joypad_open;
|
|
+ poll_dev->close = joypad_close;
|
|
+
|
|
+ input = poll_dev->input;
|
|
+ joypad->input = poll_dev->input;
|
|
+
|
|
+ device_property_read_string(dev, "joypad-name", &input->name);
|
|
+ input->phys = DRV_NAME"/input0";
|
|
+
|
|
+ device_property_read_u32(dev, "joypad-revision", &joypad_revision);
|
|
+ device_property_read_u32(dev, "joypad-product", &joypad_product);
|
|
+ input->id.bustype = BUS_HOST;
|
|
+ input->id.vendor = 0x484B;
|
|
+ input->id.product = (u16)joypad_product;
|
|
+ input->id.version = (u16)joypad_revision;
|
|
+
|
|
+ /* IIO ADC key setup (0 mv ~ 1800 mv) * adc->scale */
|
|
+ __set_bit(EV_ABS, input->evbit);
|
|
+ for(nbtn = 0; nbtn < joypad->amux_count; nbtn++) {
|
|
+ struct bt_adc *adc = &joypad->adcs[nbtn];
|
|
+ input_set_abs_params(input, adc->report_type,
|
|
+ adc->min, adc->max,
|
|
+ joypad->bt_adc_fuzz,
|
|
+ joypad->bt_adc_flat);
|
|
+ dev_info(dev,
|
|
+ "%s : SCALE = %d, ABS min = %d, max = %d,"
|
|
+ " fuzz = %d, flat = %d, deadzone = %d\n",
|
|
+ __func__, adc->scale, adc->min, adc->max,
|
|
+ joypad->bt_adc_fuzz, joypad->bt_adc_flat,
|
|
+ joypad->bt_adc_deadzone);
|
|
+ dev_info(dev,
|
|
+ "%s : adc tuning_p = %d, adc_tuning_n = %d\n\n",
|
|
+ __func__, adc->tuning_p, adc->tuning_n);
|
|
+ }
|
|
+
|
|
+ /* Rumble setip*/
|
|
+ device_property_read_u32(dev, "rumble-boost-weak", &boost_weak);
|
|
+ device_property_read_u32(dev, "rumble-boost-strong", &boost_strong);
|
|
+ joypad->boost_weak = boost_weak;
|
|
+ joypad->boost_strong = boost_strong;
|
|
+ dev_info(dev, "Boost = %d, %d",boost_weak, boost_strong);
|
|
+ input_set_capability(input, EV_FF, FF_RUMBLE);
|
|
+ error = input_ff_create_memless(input, joypad, rumble_play_effect);
|
|
+ if (error) {
|
|
+ dev_err(dev, "unable to register rumble, err=%d\n",
|
|
+ error);
|
|
+ return error;
|
|
+ }
|
|
+
|
|
+
|
|
+ /* GPIO key setup */
|
|
+ __set_bit(EV_KEY, input->evbit);
|
|
+ for(nbtn = 0; nbtn < joypad->bt_gpio_count; nbtn++) {
|
|
+ struct bt_gpio *gpio = &joypad->gpios[nbtn];
|
|
+ input_set_capability(input, gpio->report_type,
|
|
+ gpio->linux_code);
|
|
+ }
|
|
+
|
|
+ if (joypad->auto_repeat)
|
|
+ __set_bit(EV_REP, input->evbit);
|
|
+
|
|
+ joypad->dev = dev;
|
|
+
|
|
+ error = input_register_polled_device(poll_dev);
|
|
+ if (error) {
|
|
+ dev_err(dev, "unable to register polled device, err=%d\n",
|
|
+ error);
|
|
+ return error;
|
|
+ }
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static void joypad_setup_value_check(struct device *dev, struct joypad *joypad)
|
|
+{
|
|
+ /*
|
|
+ fuzz: specifies fuzz value that is used to filter noise from
|
|
+ the event stream.
|
|
+ */
|
|
+ if (g_button_adc_fuzz)
|
|
+ joypad->bt_adc_fuzz = g_button_adc_fuzz;
|
|
+ else
|
|
+ device_property_read_u32(dev, "button-adc-fuzz",
|
|
+ &joypad->bt_adc_fuzz);
|
|
+ /*
|
|
+ flat: values that are within this value will be discarded by
|
|
+ joydev interface and reported as 0 instead.
|
|
+ */
|
|
+ if (g_button_adc_flat)
|
|
+ joypad->bt_adc_flat = g_button_adc_flat;
|
|
+ else
|
|
+ device_property_read_u32(dev, "button-adc-flat",
|
|
+ &joypad->bt_adc_flat);
|
|
+
|
|
+ /* Joystick report value control */
|
|
+ if (g_button_adc_scale)
|
|
+ joypad->bt_adc_scale = g_button_adc_scale;
|
|
+ else
|
|
+ device_property_read_u32(dev, "button-adc-scale",
|
|
+ &joypad->bt_adc_scale);
|
|
+
|
|
+ /* Joystick deadzone value control */
|
|
+ if (g_button_adc_deadzone)
|
|
+ joypad->bt_adc_deadzone = g_button_adc_deadzone;
|
|
+ else
|
|
+ device_property_read_u32(dev, "button-adc-deadzone",
|
|
+ &joypad->bt_adc_deadzone);
|
|
+
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static int joypad_dt_parse(struct device *dev, struct joypad *joypad)
|
|
+{
|
|
+ int error = 0;
|
|
+
|
|
+ /* initialize value check from boot.ini */
|
|
+ joypad_setup_value_check(dev, joypad);
|
|
+
|
|
+ device_property_read_u32(dev, "amux-count",
|
|
+ &joypad->amux_count);
|
|
+
|
|
+ device_property_read_u32(dev, "poll-interval",
|
|
+ &joypad->poll_interval);
|
|
+
|
|
+ joypad->auto_repeat = device_property_present(dev, "autorepeat");
|
|
+
|
|
+ /* change the report reference point? (ADC MAX - read value) */
|
|
+ joypad->invert_absx = device_property_present(dev, "invert-absx");
|
|
+ joypad->invert_absy = device_property_present(dev, "invert-absy");
|
|
+ joypad->invert_absrx = device_property_present(dev, "invert-absrx");
|
|
+ joypad->invert_absry = device_property_present(dev, "invert-absry");
|
|
+ dev_info(dev, "%s : invert-absx = %d, inveret-absy = %d, invert-absrx = %d, inveret-absry = %d\n",
|
|
+ __func__, joypad->invert_absx, joypad->invert_absy, joypad->invert_absrx, joypad->invert_absry);
|
|
+
|
|
+ joypad->bt_gpio_count = device_get_child_node_count(dev);
|
|
+
|
|
+ if ((joypad->amux_count == 0) || (joypad->bt_gpio_count == 0)) {
|
|
+ dev_err(dev, "adc key = %d, gpio key = %d error!",
|
|
+ joypad->amux_count, joypad->bt_gpio_count);
|
|
+ return -EINVAL;
|
|
+ }
|
|
+
|
|
+ error = joypad_adc_setup(dev, joypad);
|
|
+ if (error)
|
|
+ return error;
|
|
+
|
|
+ error = joypad_amux_setup(dev, joypad);
|
|
+ if (error)
|
|
+ return error;
|
|
+
|
|
+ error = joypad_gpio_setup(dev, joypad);
|
|
+ if (error)
|
|
+ return error;
|
|
+
|
|
+ dev_info(dev, "%s : adc key cnt = %d, gpio key cnt = %d\n",
|
|
+ __func__, joypad->amux_count, joypad->bt_gpio_count);
|
|
+
|
|
+ return error;
|
|
+}
|
|
+static int __maybe_unused joypad_suspend(struct device *dev)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ cancel_work_sync(&joypad->play_work);
|
|
+ if (joypad->level)
|
|
+ pwm_vibrator_stop(joypad);
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static int __maybe_unused joypad_resume(struct device *dev)
|
|
+{
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
+ struct joypad *joypad = platform_get_drvdata(pdev);
|
|
+
|
|
+ if (joypad->level)
|
|
+ pwm_vibrator_start(joypad);
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static SIMPLE_DEV_PM_OPS(joypad_pm_ops,
|
|
+ joypad_suspend, joypad_resume);
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static int joypad_probe(struct platform_device *pdev)
|
|
+{
|
|
+ struct joypad *joypad;
|
|
+ struct device *dev = &pdev->dev;
|
|
+ int error;
|
|
+
|
|
+ joypad = devm_kzalloc(dev, sizeof(struct joypad), GFP_KERNEL);
|
|
+ if (!joypad) {
|
|
+ dev_err(dev, "joypad devm_kzmalloc error!");
|
|
+ return -ENOMEM;
|
|
+ }
|
|
+
|
|
+ /* device tree data parse */
|
|
+ error = joypad_dt_parse(dev, joypad);
|
|
+ if (error) {
|
|
+ dev_err(dev, "dt parse error!(err = %d)\n", error);
|
|
+ return error;
|
|
+ }
|
|
+
|
|
+ mutex_init(&joypad->lock);
|
|
+ platform_set_drvdata(pdev, joypad);
|
|
+
|
|
+ error = sysfs_create_group(&pdev->dev.kobj, &joypad_attr_group);
|
|
+ if (error) {
|
|
+ dev_err(dev, "create sysfs group fail, error: %d\n",
|
|
+ error);
|
|
+ return error;
|
|
+ }
|
|
+
|
|
+ /* poll input device setup */
|
|
+ error = joypad_input_setup(dev, joypad);
|
|
+ if (error) {
|
|
+ dev_err(dev, "input setup failed!(err = %d)\n", error);
|
|
+ return error;
|
|
+ }
|
|
+
|
|
+ /* rumble setup */
|
|
+ error = joypad_rumble_setup(dev, joypad);
|
|
+ if (error) {
|
|
+ dev_err(dev, "rumble setup failed!(err = %d)\n", error);
|
|
+ return error;
|
|
+ }
|
|
+
|
|
+ dev_info(dev, "%s : probe success\n", __func__);
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static const struct of_device_id joypad_of_match[] = {
|
|
+ { .compatible = "singleadc-joypad", },
|
|
+ {},
|
|
+};
|
|
+
|
|
+MODULE_DEVICE_TABLE(of, joypad_of_match);
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static struct platform_driver joypad_driver = {
|
|
+ .probe = joypad_probe,
|
|
+ .driver = {
|
|
+ .name = DRV_NAME,
|
|
+ .pm = &joypad_pm_ops,
|
|
+ .of_match_table = of_match_ptr(joypad_of_match),
|
|
+ },
|
|
+};
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static int __init joypad_init(void)
|
|
+{
|
|
+ return platform_driver_register(&joypad_driver);
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+static void __exit joypad_exit(void)
|
|
+{
|
|
+ platform_driver_unregister(&joypad_driver);
|
|
+}
|
|
+
|
|
+/*----------------------------------------------------------------------------*/
|
|
+late_initcall(joypad_init);
|
|
+module_exit(joypad_exit);
|
|
diff -rupN linux.orig/drivers/input/Kconfig linux/drivers/input/Kconfig
|
|
--- linux.orig/drivers/input/Kconfig 2022-11-01 17:55:27.002485730 -0400
|
|
+++ linux/drivers/input/Kconfig 2022-11-01 17:56:17.140793505 -0400
|
|
@@ -51,6 +51,19 @@ config INPUT_FF_MEMLESS
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ff-memless.
|
|
|
|
+config INPUT_POLLDEV
|
|
+ tristate "Polled input device skeleton"
|
|
+ help
|
|
+ Say Y here if you are using a driver for an input
|
|
+ device that periodically polls hardware state. This
|
|
+ option is only useful for out-of-tree drivers since
|
|
+ in-tree drivers select it automatically.
|
|
+
|
|
+ If unsure, say N.
|
|
+
|
|
+ To compile this driver as a module, choose M here: the
|
|
+ module will be called input-polldev.
|
|
+
|
|
config INPUT_SPARSEKMAP
|
|
tristate "Sparse keymap support library"
|
|
help
|
|
diff -rupN linux.orig/drivers/input/Makefile linux/drivers/input/Makefile
|
|
--- linux.orig/drivers/input/Makefile 2022-11-01 17:55:27.002485730 -0400
|
|
+++ linux/drivers/input/Makefile 2022-11-01 17:56:17.140793505 -0400
|
|
@@ -10,6 +10,7 @@ input-core-y := input.o input-compat.o i
|
|
input-core-y += touchscreen.o
|
|
|
|
obj-$(CONFIG_INPUT_FF_MEMLESS) += ff-memless.o
|
|
+obj-$(CONFIG_INPUT_POLLDEV) += input-polldev.o
|
|
obj-$(CONFIG_INPUT_SPARSEKMAP) += sparse-keymap.o
|
|
obj-$(CONFIG_INPUT_MATRIXKMAP) += matrix-keymap.o
|
|
obj-$(CONFIG_INPUT_VIVALDIFMAP) += vivaldi-fmap.o
|
|
diff -rupN linux.orig/drivers/power/supply/cw2015_battery.c linux/drivers/power/supply/cw2015_battery.c
|
|
--- linux.orig/drivers/power/supply/cw2015_battery.c 2022-11-01 17:55:28.710425434 -0400
|
|
+++ linux/drivers/power/supply/cw2015_battery.c 2022-11-01 17:56:17.144793376 -0400
|
|
@@ -552,7 +552,7 @@ static enum power_supply_property cw_bat
|
|
};
|
|
|
|
static const struct power_supply_desc cw2015_bat_desc = {
|
|
- .name = "cw2015-battery",
|
|
+ .name = "battery",
|
|
.type = POWER_SUPPLY_TYPE_BATTERY,
|
|
.properties = cw_battery_properties,
|
|
.num_properties = ARRAY_SIZE(cw_battery_properties),
|
|
diff -rupN linux.orig/drivers/power/supply/cw2015_battery.c.orig linux/drivers/power/supply/cw2015_battery.c.orig
|
|
--- linux.orig/drivers/power/supply/cw2015_battery.c.orig 1969-12-31 19:00:00.000000000 -0500
|
|
+++ linux/drivers/power/supply/cw2015_battery.c.orig 2022-10-29 04:08:36.000000000 -0400
|
|
@@ -0,0 +1,764 @@
|
|
+// SPDX-License-Identifier: GPL-2.0
|
|
+/*
|
|
+ * Fuel gauge driver for CellWise 2013 / 2015
|
|
+ *
|
|
+ * Copyright (C) 2012, RockChip
|
|
+ * Copyright (C) 2020, Tobias Schramm
|
|
+ *
|
|
+ * Authors: xuhuicong <xhc@rock-chips.com>
|
|
+ * Authors: Tobias Schramm <t.schramm@manjaro.org>
|
|
+ */
|
|
+
|
|
+#include <linux/bits.h>
|
|
+#include <linux/delay.h>
|
|
+#include <linux/i2c.h>
|
|
+#include <linux/gfp.h>
|
|
+#include <linux/gpio/consumer.h>
|
|
+#include <linux/kernel.h>
|
|
+#include <linux/module.h>
|
|
+#include <linux/power_supply.h>
|
|
+#include <linux/property.h>
|
|
+#include <linux/regmap.h>
|
|
+#include <linux/time.h>
|
|
+#include <linux/workqueue.h>
|
|
+
|
|
+#define CW2015_SIZE_BATINFO 64
|
|
+
|
|
+#define CW2015_RESET_TRIES 5
|
|
+
|
|
+#define CW2015_REG_VERSION 0x00
|
|
+#define CW2015_REG_VCELL 0x02
|
|
+#define CW2015_REG_SOC 0x04
|
|
+#define CW2015_REG_RRT_ALERT 0x06
|
|
+#define CW2015_REG_CONFIG 0x08
|
|
+#define CW2015_REG_MODE 0x0A
|
|
+#define CW2015_REG_BATINFO 0x10
|
|
+
|
|
+#define CW2015_MODE_SLEEP_MASK GENMASK(7, 6)
|
|
+#define CW2015_MODE_SLEEP (0x03 << 6)
|
|
+#define CW2015_MODE_NORMAL (0x00 << 6)
|
|
+#define CW2015_MODE_QUICK_START (0x03 << 4)
|
|
+#define CW2015_MODE_RESTART (0x0f << 0)
|
|
+
|
|
+#define CW2015_CONFIG_UPDATE_FLG (0x01 << 1)
|
|
+#define CW2015_ATHD(x) ((x) << 3)
|
|
+#define CW2015_MASK_ATHD GENMASK(7, 3)
|
|
+#define CW2015_MASK_SOC GENMASK(12, 0)
|
|
+
|
|
+/* reset gauge of no valid state of charge could be polled for 40s */
|
|
+#define CW2015_BAT_SOC_ERROR_MS (40 * MSEC_PER_SEC)
|
|
+/* reset gauge if state of charge stuck for half an hour during charging */
|
|
+#define CW2015_BAT_CHARGING_STUCK_MS (1800 * MSEC_PER_SEC)
|
|
+
|
|
+/* poll interval from CellWise GPL Android driver example */
|
|
+#define CW2015_DEFAULT_POLL_INTERVAL_MS 8000
|
|
+
|
|
+#define CW2015_AVERAGING_SAMPLES 3
|
|
+
|
|
+struct cw_battery {
|
|
+ struct device *dev;
|
|
+ struct workqueue_struct *battery_workqueue;
|
|
+ struct delayed_work battery_delay_work;
|
|
+ struct regmap *regmap;
|
|
+ struct power_supply *rk_bat;
|
|
+ struct power_supply_battery_info *battery;
|
|
+ u8 *bat_profile;
|
|
+
|
|
+ bool charger_attached;
|
|
+ bool battery_changed;
|
|
+
|
|
+ int soc;
|
|
+ int voltage_mv;
|
|
+ int status;
|
|
+ int time_to_empty;
|
|
+ int charge_count;
|
|
+
|
|
+ u32 poll_interval_ms;
|
|
+ u8 alert_level;
|
|
+
|
|
+ unsigned int read_errors;
|
|
+ unsigned int charge_stuck_cnt;
|
|
+};
|
|
+
|
|
+static int cw_read_word(struct cw_battery *cw_bat, u8 reg, u16 *val)
|
|
+{
|
|
+ __be16 value;
|
|
+ int ret;
|
|
+
|
|
+ ret = regmap_bulk_read(cw_bat->regmap, reg, &value, sizeof(value));
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ *val = be16_to_cpu(value);
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static int cw_update_profile(struct cw_battery *cw_bat)
|
|
+{
|
|
+ int ret;
|
|
+ unsigned int reg_val;
|
|
+ u8 reset_val;
|
|
+
|
|
+ /* make sure gauge is not in sleep mode */
|
|
+ ret = regmap_read(cw_bat->regmap, CW2015_REG_MODE, ®_val);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ reset_val = reg_val;
|
|
+ if ((reg_val & CW2015_MODE_SLEEP_MASK) == CW2015_MODE_SLEEP) {
|
|
+ dev_err(cw_bat->dev,
|
|
+ "Gauge is in sleep mode, can't update battery info\n");
|
|
+ return -EINVAL;
|
|
+ }
|
|
+
|
|
+ /* write new battery info */
|
|
+ ret = regmap_raw_write(cw_bat->regmap, CW2015_REG_BATINFO,
|
|
+ cw_bat->bat_profile,
|
|
+ CW2015_SIZE_BATINFO);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ /* set config update flag */
|
|
+ reg_val |= CW2015_CONFIG_UPDATE_FLG;
|
|
+ reg_val &= ~CW2015_MASK_ATHD;
|
|
+ reg_val |= CW2015_ATHD(cw_bat->alert_level);
|
|
+ ret = regmap_write(cw_bat->regmap, CW2015_REG_CONFIG, reg_val);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ /* reset gauge to apply new battery profile */
|
|
+ reset_val &= ~CW2015_MODE_RESTART;
|
|
+ reg_val = reset_val | CW2015_MODE_RESTART;
|
|
+ ret = regmap_write(cw_bat->regmap, CW2015_REG_MODE, reg_val);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ /* wait for gauge to reset */
|
|
+ msleep(20);
|
|
+
|
|
+ /* clear reset flag */
|
|
+ ret = regmap_write(cw_bat->regmap, CW2015_REG_MODE, reset_val);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ /* wait for gauge to become ready */
|
|
+ ret = regmap_read_poll_timeout(cw_bat->regmap, CW2015_REG_SOC,
|
|
+ reg_val, reg_val <= 100,
|
|
+ 10 * USEC_PER_MSEC, 10 * USEC_PER_SEC);
|
|
+ if (ret)
|
|
+ dev_err(cw_bat->dev,
|
|
+ "Gauge did not become ready after profile upload\n");
|
|
+ else
|
|
+ dev_dbg(cw_bat->dev, "Battery profile updated\n");
|
|
+
|
|
+ return ret;
|
|
+}
|
|
+
|
|
+static int cw_init(struct cw_battery *cw_bat)
|
|
+{
|
|
+ int ret;
|
|
+ unsigned int reg_val = CW2015_MODE_SLEEP;
|
|
+
|
|
+ if ((reg_val & CW2015_MODE_SLEEP_MASK) == CW2015_MODE_SLEEP) {
|
|
+ reg_val = CW2015_MODE_NORMAL;
|
|
+ ret = regmap_write(cw_bat->regmap, CW2015_REG_MODE, reg_val);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+ }
|
|
+
|
|
+ ret = regmap_read(cw_bat->regmap, CW2015_REG_CONFIG, ®_val);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ if ((reg_val & CW2015_MASK_ATHD) != CW2015_ATHD(cw_bat->alert_level)) {
|
|
+ dev_dbg(cw_bat->dev, "Setting new alert level\n");
|
|
+ reg_val &= ~CW2015_MASK_ATHD;
|
|
+ reg_val |= ~CW2015_ATHD(cw_bat->alert_level);
|
|
+ ret = regmap_write(cw_bat->regmap, CW2015_REG_CONFIG, reg_val);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+ }
|
|
+
|
|
+ ret = regmap_read(cw_bat->regmap, CW2015_REG_CONFIG, ®_val);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ if (!(reg_val & CW2015_CONFIG_UPDATE_FLG)) {
|
|
+ dev_dbg(cw_bat->dev,
|
|
+ "Battery profile not present, uploading battery profile\n");
|
|
+ if (cw_bat->bat_profile) {
|
|
+ ret = cw_update_profile(cw_bat);
|
|
+ if (ret) {
|
|
+ dev_err(cw_bat->dev,
|
|
+ "Failed to upload battery profile\n");
|
|
+ return ret;
|
|
+ }
|
|
+ } else {
|
|
+ dev_warn(cw_bat->dev,
|
|
+ "No profile specified, continuing without profile\n");
|
|
+ }
|
|
+ } else if (cw_bat->bat_profile) {
|
|
+ u8 bat_info[CW2015_SIZE_BATINFO];
|
|
+
|
|
+ ret = regmap_raw_read(cw_bat->regmap, CW2015_REG_BATINFO,
|
|
+ bat_info, CW2015_SIZE_BATINFO);
|
|
+ if (ret) {
|
|
+ dev_err(cw_bat->dev,
|
|
+ "Failed to read stored battery profile\n");
|
|
+ return ret;
|
|
+ }
|
|
+
|
|
+ if (memcmp(bat_info, cw_bat->bat_profile, CW2015_SIZE_BATINFO)) {
|
|
+ dev_warn(cw_bat->dev, "Replacing stored battery profile\n");
|
|
+ ret = cw_update_profile(cw_bat);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+ }
|
|
+ } else {
|
|
+ dev_warn(cw_bat->dev,
|
|
+ "Can't check current battery profile, no profile provided\n");
|
|
+ }
|
|
+
|
|
+ dev_dbg(cw_bat->dev, "Battery profile configured\n");
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static int cw_power_on_reset(struct cw_battery *cw_bat)
|
|
+{
|
|
+ int ret;
|
|
+ unsigned char reset_val;
|
|
+
|
|
+ reset_val = CW2015_MODE_SLEEP;
|
|
+ ret = regmap_write(cw_bat->regmap, CW2015_REG_MODE, reset_val);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ /* wait for gauge to enter sleep */
|
|
+ msleep(20);
|
|
+
|
|
+ reset_val = CW2015_MODE_NORMAL;
|
|
+ ret = regmap_write(cw_bat->regmap, CW2015_REG_MODE, reset_val);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ ret = cw_init(cw_bat);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+#define HYSTERESIS(current, previous, up, down) \
|
|
+ (((current) < (previous) + (up)) && ((current) > (previous) - (down)))
|
|
+
|
|
+static int cw_get_soc(struct cw_battery *cw_bat)
|
|
+{
|
|
+ unsigned int soc;
|
|
+ int ret;
|
|
+
|
|
+ ret = regmap_read(cw_bat->regmap, CW2015_REG_SOC, &soc);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ if (soc > 100) {
|
|
+ int max_error_cycles =
|
|
+ CW2015_BAT_SOC_ERROR_MS / cw_bat->poll_interval_ms;
|
|
+
|
|
+ dev_err(cw_bat->dev, "Invalid SoC %d%%\n", soc);
|
|
+ cw_bat->read_errors++;
|
|
+ if (cw_bat->read_errors > max_error_cycles) {
|
|
+ dev_warn(cw_bat->dev,
|
|
+ "Too many invalid SoC reports, resetting gauge\n");
|
|
+ cw_power_on_reset(cw_bat);
|
|
+ cw_bat->read_errors = 0;
|
|
+ }
|
|
+ return cw_bat->soc;
|
|
+ }
|
|
+ cw_bat->read_errors = 0;
|
|
+
|
|
+ /* Reset gauge if stuck while charging */
|
|
+ if (cw_bat->status == POWER_SUPPLY_STATUS_CHARGING && soc == cw_bat->soc) {
|
|
+ int max_stuck_cycles =
|
|
+ CW2015_BAT_CHARGING_STUCK_MS / cw_bat->poll_interval_ms;
|
|
+
|
|
+ cw_bat->charge_stuck_cnt++;
|
|
+ if (cw_bat->charge_stuck_cnt > max_stuck_cycles) {
|
|
+ dev_warn(cw_bat->dev,
|
|
+ "SoC stuck @%u%%, resetting gauge\n", soc);
|
|
+ cw_power_on_reset(cw_bat);
|
|
+ cw_bat->charge_stuck_cnt = 0;
|
|
+ }
|
|
+ } else {
|
|
+ cw_bat->charge_stuck_cnt = 0;
|
|
+ }
|
|
+
|
|
+ /* Ignore voltage dips during charge */
|
|
+ if (cw_bat->charger_attached && HYSTERESIS(soc, cw_bat->soc, 0, 3))
|
|
+ soc = cw_bat->soc;
|
|
+
|
|
+ /* Ignore voltage spikes during discharge */
|
|
+ if (!cw_bat->charger_attached && HYSTERESIS(soc, cw_bat->soc, 3, 0))
|
|
+ soc = cw_bat->soc;
|
|
+
|
|
+ return soc;
|
|
+}
|
|
+
|
|
+static int cw_get_voltage(struct cw_battery *cw_bat)
|
|
+{
|
|
+ int ret, i, voltage_mv;
|
|
+ u16 reg_val;
|
|
+ u32 avg = 0;
|
|
+
|
|
+ for (i = 0; i < CW2015_AVERAGING_SAMPLES; i++) {
|
|
+ ret = cw_read_word(cw_bat, CW2015_REG_VCELL, ®_val);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ avg += reg_val;
|
|
+ }
|
|
+ avg /= CW2015_AVERAGING_SAMPLES;
|
|
+
|
|
+ /*
|
|
+ * 305 uV per ADC step
|
|
+ * Use 312 / 1024 as efficient approximation of 305 / 1000
|
|
+ * Negligible error of 0.1%
|
|
+ */
|
|
+ voltage_mv = avg * 312 / 1024;
|
|
+
|
|
+ dev_dbg(cw_bat->dev, "Read voltage: %d mV, raw=0x%04x\n",
|
|
+ voltage_mv, reg_val);
|
|
+ return voltage_mv;
|
|
+}
|
|
+
|
|
+static int cw_get_time_to_empty(struct cw_battery *cw_bat)
|
|
+{
|
|
+ int ret;
|
|
+ u16 value16;
|
|
+
|
|
+ ret = cw_read_word(cw_bat, CW2015_REG_RRT_ALERT, &value16);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ return value16 & CW2015_MASK_SOC;
|
|
+}
|
|
+
|
|
+static void cw_update_charge_status(struct cw_battery *cw_bat)
|
|
+{
|
|
+ int ret;
|
|
+
|
|
+ ret = power_supply_am_i_supplied(cw_bat->rk_bat);
|
|
+ if (ret < 0) {
|
|
+ dev_warn(cw_bat->dev, "Failed to get supply state: %d\n", ret);
|
|
+ } else {
|
|
+ bool charger_attached;
|
|
+
|
|
+ charger_attached = !!ret;
|
|
+ if (cw_bat->charger_attached != charger_attached) {
|
|
+ cw_bat->battery_changed = true;
|
|
+ if (charger_attached)
|
|
+ cw_bat->charge_count++;
|
|
+ }
|
|
+ cw_bat->charger_attached = charger_attached;
|
|
+ }
|
|
+}
|
|
+
|
|
+static void cw_update_soc(struct cw_battery *cw_bat)
|
|
+{
|
|
+ int soc;
|
|
+
|
|
+ soc = cw_get_soc(cw_bat);
|
|
+ if (soc < 0)
|
|
+ dev_err(cw_bat->dev, "Failed to get SoC from gauge: %d\n", soc);
|
|
+ else if (cw_bat->soc != soc) {
|
|
+ cw_bat->soc = soc;
|
|
+ cw_bat->battery_changed = true;
|
|
+ }
|
|
+}
|
|
+
|
|
+static void cw_update_voltage(struct cw_battery *cw_bat)
|
|
+{
|
|
+ int voltage_mv;
|
|
+
|
|
+ voltage_mv = cw_get_voltage(cw_bat);
|
|
+ if (voltage_mv < 0)
|
|
+ dev_err(cw_bat->dev, "Failed to get voltage from gauge: %d\n",
|
|
+ voltage_mv);
|
|
+ else
|
|
+ cw_bat->voltage_mv = voltage_mv;
|
|
+}
|
|
+
|
|
+static void cw_update_status(struct cw_battery *cw_bat)
|
|
+{
|
|
+ int status = POWER_SUPPLY_STATUS_DISCHARGING;
|
|
+
|
|
+ if (cw_bat->charger_attached) {
|
|
+ if (cw_bat->soc >= 100)
|
|
+ status = POWER_SUPPLY_STATUS_FULL;
|
|
+ else
|
|
+ status = POWER_SUPPLY_STATUS_CHARGING;
|
|
+ }
|
|
+
|
|
+ if (cw_bat->status != status)
|
|
+ cw_bat->battery_changed = true;
|
|
+ cw_bat->status = status;
|
|
+}
|
|
+
|
|
+static void cw_update_time_to_empty(struct cw_battery *cw_bat)
|
|
+{
|
|
+ int time_to_empty;
|
|
+
|
|
+ time_to_empty = cw_get_time_to_empty(cw_bat);
|
|
+ if (time_to_empty < 0)
|
|
+ dev_err(cw_bat->dev, "Failed to get time to empty from gauge: %d\n",
|
|
+ time_to_empty);
|
|
+ else if (cw_bat->time_to_empty != time_to_empty) {
|
|
+ cw_bat->time_to_empty = time_to_empty;
|
|
+ cw_bat->battery_changed = true;
|
|
+ }
|
|
+}
|
|
+
|
|
+static void cw_bat_work(struct work_struct *work)
|
|
+{
|
|
+ struct delayed_work *delay_work;
|
|
+ struct cw_battery *cw_bat;
|
|
+ int ret;
|
|
+ unsigned int reg_val;
|
|
+
|
|
+ delay_work = to_delayed_work(work);
|
|
+ cw_bat = container_of(delay_work, struct cw_battery, battery_delay_work);
|
|
+ ret = regmap_read(cw_bat->regmap, CW2015_REG_MODE, ®_val);
|
|
+ if (ret) {
|
|
+ dev_err(cw_bat->dev, "Failed to read mode from gauge: %d\n", ret);
|
|
+ } else {
|
|
+ if ((reg_val & CW2015_MODE_SLEEP_MASK) == CW2015_MODE_SLEEP) {
|
|
+ int i;
|
|
+
|
|
+ for (i = 0; i < CW2015_RESET_TRIES; i++) {
|
|
+ if (!cw_power_on_reset(cw_bat))
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ cw_update_soc(cw_bat);
|
|
+ cw_update_voltage(cw_bat);
|
|
+ cw_update_charge_status(cw_bat);
|
|
+ cw_update_status(cw_bat);
|
|
+ cw_update_time_to_empty(cw_bat);
|
|
+ }
|
|
+ dev_dbg(cw_bat->dev, "charger_attached = %d\n", cw_bat->charger_attached);
|
|
+ dev_dbg(cw_bat->dev, "status = %d\n", cw_bat->status);
|
|
+ dev_dbg(cw_bat->dev, "soc = %d%%\n", cw_bat->soc);
|
|
+ dev_dbg(cw_bat->dev, "voltage = %dmV\n", cw_bat->voltage_mv);
|
|
+
|
|
+ if (cw_bat->battery_changed)
|
|
+ power_supply_changed(cw_bat->rk_bat);
|
|
+ cw_bat->battery_changed = false;
|
|
+
|
|
+ queue_delayed_work(cw_bat->battery_workqueue,
|
|
+ &cw_bat->battery_delay_work,
|
|
+ msecs_to_jiffies(cw_bat->poll_interval_ms));
|
|
+}
|
|
+
|
|
+static bool cw_battery_valid_time_to_empty(struct cw_battery *cw_bat)
|
|
+{
|
|
+ return cw_bat->time_to_empty > 0 &&
|
|
+ cw_bat->time_to_empty < CW2015_MASK_SOC &&
|
|
+ cw_bat->status == POWER_SUPPLY_STATUS_DISCHARGING;
|
|
+}
|
|
+
|
|
+static int cw_battery_get_property(struct power_supply *psy,
|
|
+ enum power_supply_property psp,
|
|
+ union power_supply_propval *val)
|
|
+{
|
|
+ struct cw_battery *cw_bat;
|
|
+
|
|
+ cw_bat = power_supply_get_drvdata(psy);
|
|
+ switch (psp) {
|
|
+ case POWER_SUPPLY_PROP_CAPACITY:
|
|
+ val->intval = cw_bat->soc;
|
|
+ break;
|
|
+
|
|
+ case POWER_SUPPLY_PROP_STATUS:
|
|
+ val->intval = cw_bat->status;
|
|
+ break;
|
|
+
|
|
+ case POWER_SUPPLY_PROP_PRESENT:
|
|
+ val->intval = !!cw_bat->voltage_mv;
|
|
+ break;
|
|
+
|
|
+ case POWER_SUPPLY_PROP_VOLTAGE_NOW:
|
|
+ val->intval = cw_bat->voltage_mv * 1000;
|
|
+ break;
|
|
+
|
|
+ case POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW:
|
|
+ if (cw_battery_valid_time_to_empty(cw_bat))
|
|
+ val->intval = cw_bat->time_to_empty;
|
|
+ else
|
|
+ val->intval = 0;
|
|
+ break;
|
|
+
|
|
+ case POWER_SUPPLY_PROP_TECHNOLOGY:
|
|
+ val->intval = POWER_SUPPLY_TECHNOLOGY_LION;
|
|
+ break;
|
|
+
|
|
+ case POWER_SUPPLY_PROP_CHARGE_COUNTER:
|
|
+ val->intval = cw_bat->charge_count;
|
|
+ break;
|
|
+
|
|
+ case POWER_SUPPLY_PROP_CHARGE_FULL:
|
|
+ case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN:
|
|
+ if (cw_bat->battery->charge_full_design_uah > 0)
|
|
+ val->intval = cw_bat->battery->charge_full_design_uah;
|
|
+ else
|
|
+ val->intval = 0;
|
|
+ break;
|
|
+
|
|
+ case POWER_SUPPLY_PROP_CHARGE_NOW:
|
|
+ val->intval = cw_bat->battery->charge_full_design_uah;
|
|
+ val->intval = val->intval * cw_bat->soc / 100;
|
|
+ break;
|
|
+
|
|
+ case POWER_SUPPLY_PROP_CURRENT_NOW:
|
|
+ if (cw_battery_valid_time_to_empty(cw_bat) &&
|
|
+ cw_bat->battery->charge_full_design_uah > 0) {
|
|
+ /* calculate remaining capacity */
|
|
+ val->intval = cw_bat->battery->charge_full_design_uah;
|
|
+ val->intval = val->intval * cw_bat->soc / 100;
|
|
+
|
|
+ /* estimate current based on time to empty */
|
|
+ val->intval = 60 * val->intval / cw_bat->time_to_empty;
|
|
+ } else {
|
|
+ val->intval = 0;
|
|
+ }
|
|
+
|
|
+ break;
|
|
+
|
|
+ default:
|
|
+ break;
|
|
+ }
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static enum power_supply_property cw_battery_properties[] = {
|
|
+ POWER_SUPPLY_PROP_CAPACITY,
|
|
+ POWER_SUPPLY_PROP_STATUS,
|
|
+ POWER_SUPPLY_PROP_PRESENT,
|
|
+ POWER_SUPPLY_PROP_VOLTAGE_NOW,
|
|
+ POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW,
|
|
+ POWER_SUPPLY_PROP_TECHNOLOGY,
|
|
+ POWER_SUPPLY_PROP_CHARGE_COUNTER,
|
|
+ POWER_SUPPLY_PROP_CHARGE_FULL,
|
|
+ POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN,
|
|
+ POWER_SUPPLY_PROP_CHARGE_NOW,
|
|
+ POWER_SUPPLY_PROP_CURRENT_NOW,
|
|
+};
|
|
+
|
|
+static const struct power_supply_desc cw2015_bat_desc = {
|
|
+ .name = "cw2015-battery",
|
|
+ .type = POWER_SUPPLY_TYPE_BATTERY,
|
|
+ .properties = cw_battery_properties,
|
|
+ .num_properties = ARRAY_SIZE(cw_battery_properties),
|
|
+ .get_property = cw_battery_get_property,
|
|
+};
|
|
+
|
|
+static int cw2015_parse_properties(struct cw_battery *cw_bat)
|
|
+{
|
|
+ struct device *dev = cw_bat->dev;
|
|
+ int length;
|
|
+ int ret;
|
|
+
|
|
+ length = device_property_count_u8(dev, "cellwise,battery-profile");
|
|
+ if (length < 0) {
|
|
+ dev_warn(cw_bat->dev,
|
|
+ "No battery-profile found, using current flash contents\n");
|
|
+ } else if (length != CW2015_SIZE_BATINFO) {
|
|
+ dev_err(cw_bat->dev, "battery-profile must be %d bytes\n",
|
|
+ CW2015_SIZE_BATINFO);
|
|
+ return -EINVAL;
|
|
+ } else {
|
|
+ cw_bat->bat_profile = devm_kzalloc(dev, length, GFP_KERNEL);
|
|
+ if (!cw_bat->bat_profile)
|
|
+ return -ENOMEM;
|
|
+
|
|
+ ret = device_property_read_u8_array(dev,
|
|
+ "cellwise,battery-profile",
|
|
+ cw_bat->bat_profile,
|
|
+ length);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+ }
|
|
+
|
|
+ ret = device_property_read_u32(dev, "cellwise,monitor-interval-ms",
|
|
+ &cw_bat->poll_interval_ms);
|
|
+ if (ret) {
|
|
+ dev_dbg(cw_bat->dev, "Using default poll interval\n");
|
|
+ cw_bat->poll_interval_ms = CW2015_DEFAULT_POLL_INTERVAL_MS;
|
|
+ }
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static const struct regmap_range regmap_ranges_rd_yes[] = {
|
|
+ regmap_reg_range(CW2015_REG_VERSION, CW2015_REG_VERSION),
|
|
+ regmap_reg_range(CW2015_REG_VCELL, CW2015_REG_CONFIG),
|
|
+ regmap_reg_range(CW2015_REG_MODE, CW2015_REG_MODE),
|
|
+ regmap_reg_range(CW2015_REG_BATINFO,
|
|
+ CW2015_REG_BATINFO + CW2015_SIZE_BATINFO - 1),
|
|
+};
|
|
+
|
|
+static const struct regmap_access_table regmap_rd_table = {
|
|
+ .yes_ranges = regmap_ranges_rd_yes,
|
|
+ .n_yes_ranges = 4,
|
|
+};
|
|
+
|
|
+static const struct regmap_range regmap_ranges_wr_yes[] = {
|
|
+ regmap_reg_range(CW2015_REG_RRT_ALERT, CW2015_REG_CONFIG),
|
|
+ regmap_reg_range(CW2015_REG_MODE, CW2015_REG_MODE),
|
|
+ regmap_reg_range(CW2015_REG_BATINFO,
|
|
+ CW2015_REG_BATINFO + CW2015_SIZE_BATINFO - 1),
|
|
+};
|
|
+
|
|
+static const struct regmap_access_table regmap_wr_table = {
|
|
+ .yes_ranges = regmap_ranges_wr_yes,
|
|
+ .n_yes_ranges = 3,
|
|
+};
|
|
+
|
|
+static const struct regmap_range regmap_ranges_vol_yes[] = {
|
|
+ regmap_reg_range(CW2015_REG_VCELL, CW2015_REG_SOC + 1),
|
|
+};
|
|
+
|
|
+static const struct regmap_access_table regmap_vol_table = {
|
|
+ .yes_ranges = regmap_ranges_vol_yes,
|
|
+ .n_yes_ranges = 1,
|
|
+};
|
|
+
|
|
+static const struct regmap_config cw2015_regmap_config = {
|
|
+ .reg_bits = 8,
|
|
+ .val_bits = 8,
|
|
+ .rd_table = ®map_rd_table,
|
|
+ .wr_table = ®map_wr_table,
|
|
+ .volatile_table = ®map_vol_table,
|
|
+ .max_register = CW2015_REG_BATINFO + CW2015_SIZE_BATINFO - 1,
|
|
+};
|
|
+
|
|
+static int cw_bat_probe(struct i2c_client *client)
|
|
+{
|
|
+ int ret;
|
|
+ struct cw_battery *cw_bat;
|
|
+ struct power_supply_config psy_cfg = { 0 };
|
|
+
|
|
+ cw_bat = devm_kzalloc(&client->dev, sizeof(*cw_bat), GFP_KERNEL);
|
|
+ if (!cw_bat)
|
|
+ return -ENOMEM;
|
|
+
|
|
+ i2c_set_clientdata(client, cw_bat);
|
|
+ cw_bat->dev = &client->dev;
|
|
+ cw_bat->soc = 1;
|
|
+
|
|
+ ret = cw2015_parse_properties(cw_bat);
|
|
+ if (ret) {
|
|
+ dev_err(cw_bat->dev, "Failed to parse cw2015 properties\n");
|
|
+ return ret;
|
|
+ }
|
|
+
|
|
+ cw_bat->regmap = devm_regmap_init_i2c(client, &cw2015_regmap_config);
|
|
+ if (IS_ERR(cw_bat->regmap)) {
|
|
+ dev_err(cw_bat->dev, "Failed to allocate regmap: %ld\n",
|
|
+ PTR_ERR(cw_bat->regmap));
|
|
+ return PTR_ERR(cw_bat->regmap);
|
|
+ }
|
|
+
|
|
+ ret = cw_init(cw_bat);
|
|
+ if (ret) {
|
|
+ dev_err(cw_bat->dev, "Init failed: %d\n", ret);
|
|
+ return ret;
|
|
+ }
|
|
+
|
|
+ psy_cfg.drv_data = cw_bat;
|
|
+ psy_cfg.fwnode = dev_fwnode(cw_bat->dev);
|
|
+
|
|
+ cw_bat->rk_bat = devm_power_supply_register(&client->dev,
|
|
+ &cw2015_bat_desc,
|
|
+ &psy_cfg);
|
|
+ if (IS_ERR(cw_bat->rk_bat)) {
|
|
+ /* try again if this happens */
|
|
+ dev_err_probe(&client->dev, PTR_ERR(cw_bat->rk_bat),
|
|
+ "Failed to register power supply\n");
|
|
+ return PTR_ERR(cw_bat->rk_bat);
|
|
+ }
|
|
+
|
|
+ ret = power_supply_get_battery_info(cw_bat->rk_bat, &cw_bat->battery);
|
|
+ if (ret) {
|
|
+ /* Allocate an empty battery */
|
|
+ cw_bat->battery = devm_kzalloc(&client->dev,
|
|
+ sizeof(*cw_bat->battery),
|
|
+ GFP_KERNEL);
|
|
+ if (!cw_bat->battery)
|
|
+ return -ENOMEM;
|
|
+ dev_warn(cw_bat->dev,
|
|
+ "No monitored battery, some properties will be missing\n");
|
|
+ }
|
|
+
|
|
+ cw_bat->battery_workqueue = create_singlethread_workqueue("rk_battery");
|
|
+ INIT_DELAYED_WORK(&cw_bat->battery_delay_work, cw_bat_work);
|
|
+ queue_delayed_work(cw_bat->battery_workqueue,
|
|
+ &cw_bat->battery_delay_work, msecs_to_jiffies(10));
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static int __maybe_unused cw_bat_suspend(struct device *dev)
|
|
+{
|
|
+ struct i2c_client *client = to_i2c_client(dev);
|
|
+ struct cw_battery *cw_bat = i2c_get_clientdata(client);
|
|
+
|
|
+ cancel_delayed_work_sync(&cw_bat->battery_delay_work);
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static int __maybe_unused cw_bat_resume(struct device *dev)
|
|
+{
|
|
+ struct i2c_client *client = to_i2c_client(dev);
|
|
+ struct cw_battery *cw_bat = i2c_get_clientdata(client);
|
|
+
|
|
+ queue_delayed_work(cw_bat->battery_workqueue,
|
|
+ &cw_bat->battery_delay_work, 0);
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static SIMPLE_DEV_PM_OPS(cw_bat_pm_ops, cw_bat_suspend, cw_bat_resume);
|
|
+
|
|
+static int cw_bat_remove(struct i2c_client *client)
|
|
+{
|
|
+ struct cw_battery *cw_bat = i2c_get_clientdata(client);
|
|
+
|
|
+ cancel_delayed_work_sync(&cw_bat->battery_delay_work);
|
|
+ power_supply_put_battery_info(cw_bat->rk_bat, cw_bat->battery);
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static const struct i2c_device_id cw_bat_id_table[] = {
|
|
+ { "cw2015", 0 },
|
|
+ { }
|
|
+};
|
|
+
|
|
+static const struct of_device_id cw2015_of_match[] = {
|
|
+ { .compatible = "cellwise,cw2015" },
|
|
+ { }
|
|
+};
|
|
+MODULE_DEVICE_TABLE(of, cw2015_of_match);
|
|
+
|
|
+static struct i2c_driver cw_bat_driver = {
|
|
+ .driver = {
|
|
+ .name = "cw2015",
|
|
+ .of_match_table = cw2015_of_match,
|
|
+ .pm = &cw_bat_pm_ops,
|
|
+ },
|
|
+ .probe_new = cw_bat_probe,
|
|
+ .remove = cw_bat_remove,
|
|
+ .id_table = cw_bat_id_table,
|
|
+};
|
|
+
|
|
+module_i2c_driver(cw_bat_driver);
|
|
+
|
|
+MODULE_AUTHOR("xhc<xhc@rock-chips.com>");
|
|
+MODULE_AUTHOR("Tobias Schramm <t.schramm@manjaro.org>");
|
|
+MODULE_DESCRIPTION("cw2015/cw2013 battery driver");
|
|
+MODULE_LICENSE("GPL");
|
|
diff -rupN linux.orig/include/linux/compiler.h linux/include/linux/compiler.h
|
|
--- linux.orig/include/linux/compiler.h 2022-11-01 17:55:30.018379377 -0400
|
|
+++ linux/include/linux/compiler.h 2022-11-01 17:56:17.144793376 -0400
|
|
@@ -213,6 +213,8 @@ void ftrace_likely_update(struct ftrace_
|
|
#define function_nocfi(x) (x)
|
|
#endif
|
|
|
|
+#include <asm/rwonce.h>
|
|
+
|
|
#endif /* __KERNEL__ */
|
|
|
|
/*
|
|
@@ -251,6 +253,4 @@ static inline void *offset_to_ptr(const
|
|
*/
|
|
#define prevent_tail_call_optimization() mb()
|
|
|
|
-#include <asm/rwonce.h>
|
|
-
|
|
#endif /* __LINUX_COMPILER_H */
|
|
diff -rupN linux.orig/include/linux/compiler.h.orig linux/include/linux/compiler.h.orig
|
|
--- linux.orig/include/linux/compiler.h.orig 1969-12-31 19:00:00.000000000 -0500
|
|
+++ linux/include/linux/compiler.h.orig 2022-10-29 04:08:36.000000000 -0400
|
|
@@ -0,0 +1,256 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 */
|
|
+#ifndef __LINUX_COMPILER_H
|
|
+#define __LINUX_COMPILER_H
|
|
+
|
|
+#include <linux/compiler_types.h>
|
|
+
|
|
+#ifndef __ASSEMBLY__
|
|
+
|
|
+#ifdef __KERNEL__
|
|
+
|
|
+/*
|
|
+ * Note: DISABLE_BRANCH_PROFILING can be used by special lowlevel code
|
|
+ * to disable branch tracing on a per file basis.
|
|
+ */
|
|
+#if defined(CONFIG_TRACE_BRANCH_PROFILING) \
|
|
+ && !defined(DISABLE_BRANCH_PROFILING) && !defined(__CHECKER__)
|
|
+void ftrace_likely_update(struct ftrace_likely_data *f, int val,
|
|
+ int expect, int is_constant);
|
|
+
|
|
+#define likely_notrace(x) __builtin_expect(!!(x), 1)
|
|
+#define unlikely_notrace(x) __builtin_expect(!!(x), 0)
|
|
+
|
|
+#define __branch_check__(x, expect, is_constant) ({ \
|
|
+ long ______r; \
|
|
+ static struct ftrace_likely_data \
|
|
+ __aligned(4) \
|
|
+ __section("_ftrace_annotated_branch") \
|
|
+ ______f = { \
|
|
+ .data.func = __func__, \
|
|
+ .data.file = __FILE__, \
|
|
+ .data.line = __LINE__, \
|
|
+ }; \
|
|
+ ______r = __builtin_expect(!!(x), expect); \
|
|
+ ftrace_likely_update(&______f, ______r, \
|
|
+ expect, is_constant); \
|
|
+ ______r; \
|
|
+ })
|
|
+
|
|
+/*
|
|
+ * Using __builtin_constant_p(x) to ignore cases where the return
|
|
+ * value is always the same. This idea is taken from a similar patch
|
|
+ * written by Daniel Walker.
|
|
+ */
|
|
+# ifndef likely
|
|
+# define likely(x) (__branch_check__(x, 1, __builtin_constant_p(x)))
|
|
+# endif
|
|
+# ifndef unlikely
|
|
+# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
|
|
+# endif
|
|
+
|
|
+#ifdef CONFIG_PROFILE_ALL_BRANCHES
|
|
+/*
|
|
+ * "Define 'is'", Bill Clinton
|
|
+ * "Define 'if'", Steven Rostedt
|
|
+ */
|
|
+#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
|
|
+
|
|
+#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
|
|
+
|
|
+#define __trace_if_value(cond) ({ \
|
|
+ static struct ftrace_branch_data \
|
|
+ __aligned(4) \
|
|
+ __section("_ftrace_branch") \
|
|
+ __if_trace = { \
|
|
+ .func = __func__, \
|
|
+ .file = __FILE__, \
|
|
+ .line = __LINE__, \
|
|
+ }; \
|
|
+ (cond) ? \
|
|
+ (__if_trace.miss_hit[1]++,1) : \
|
|
+ (__if_trace.miss_hit[0]++,0); \
|
|
+})
|
|
+
|
|
+#endif /* CONFIG_PROFILE_ALL_BRANCHES */
|
|
+
|
|
+#else
|
|
+# define likely(x) __builtin_expect(!!(x), 1)
|
|
+# define unlikely(x) __builtin_expect(!!(x), 0)
|
|
+# define likely_notrace(x) likely(x)
|
|
+# define unlikely_notrace(x) unlikely(x)
|
|
+#endif
|
|
+
|
|
+/* Optimization barrier */
|
|
+#ifndef barrier
|
|
+/* The "volatile" is due to gcc bugs */
|
|
+# define barrier() __asm__ __volatile__("": : :"memory")
|
|
+#endif
|
|
+
|
|
+#ifndef barrier_data
|
|
+/*
|
|
+ * This version is i.e. to prevent dead stores elimination on @ptr
|
|
+ * where gcc and llvm may behave differently when otherwise using
|
|
+ * normal barrier(): while gcc behavior gets along with a normal
|
|
+ * barrier(), llvm needs an explicit input variable to be assumed
|
|
+ * clobbered. The issue is as follows: while the inline asm might
|
|
+ * access any memory it wants, the compiler could have fit all of
|
|
+ * @ptr into memory registers instead, and since @ptr never escaped
|
|
+ * from that, it proved that the inline asm wasn't touching any of
|
|
+ * it. This version works well with both compilers, i.e. we're telling
|
|
+ * the compiler that the inline asm absolutely may see the contents
|
|
+ * of @ptr. See also: https://llvm.org/bugs/show_bug.cgi?id=15495
|
|
+ */
|
|
+# define barrier_data(ptr) __asm__ __volatile__("": :"r"(ptr) :"memory")
|
|
+#endif
|
|
+
|
|
+/* workaround for GCC PR82365 if needed */
|
|
+#ifndef barrier_before_unreachable
|
|
+# define barrier_before_unreachable() do { } while (0)
|
|
+#endif
|
|
+
|
|
+/* Unreachable code */
|
|
+#ifdef CONFIG_OBJTOOL
|
|
+/*
|
|
+ * These macros help objtool understand GCC code flow for unreachable code.
|
|
+ * The __COUNTER__ based labels are a hack to make each instance of the macros
|
|
+ * unique, to convince GCC not to merge duplicate inline asm statements.
|
|
+ */
|
|
+#define __stringify_label(n) #n
|
|
+
|
|
+#define __annotate_unreachable(c) ({ \
|
|
+ asm volatile(__stringify_label(c) ":\n\t" \
|
|
+ ".pushsection .discard.unreachable\n\t" \
|
|
+ ".long " __stringify_label(c) "b - .\n\t" \
|
|
+ ".popsection\n\t" : : "i" (c)); \
|
|
+})
|
|
+#define annotate_unreachable() __annotate_unreachable(__COUNTER__)
|
|
+
|
|
+/* Annotate a C jump table to allow objtool to follow the code flow */
|
|
+#define __annotate_jump_table __section(".rodata..c_jump_table")
|
|
+
|
|
+#else /* !CONFIG_OBJTOOL */
|
|
+#define annotate_unreachable()
|
|
+#define __annotate_jump_table
|
|
+#endif /* CONFIG_OBJTOOL */
|
|
+
|
|
+#ifndef unreachable
|
|
+# define unreachable() do { \
|
|
+ annotate_unreachable(); \
|
|
+ __builtin_unreachable(); \
|
|
+} while (0)
|
|
+#endif
|
|
+
|
|
+/*
|
|
+ * KENTRY - kernel entry point
|
|
+ * This can be used to annotate symbols (functions or data) that are used
|
|
+ * without their linker symbol being referenced explicitly. For example,
|
|
+ * interrupt vector handlers, or functions in the kernel image that are found
|
|
+ * programatically.
|
|
+ *
|
|
+ * Not required for symbols exported with EXPORT_SYMBOL, or initcalls. Those
|
|
+ * are handled in their own way (with KEEP() in linker scripts).
|
|
+ *
|
|
+ * KENTRY can be avoided if the symbols in question are marked as KEEP() in the
|
|
+ * linker script. For example an architecture could KEEP() its entire
|
|
+ * boot/exception vector code rather than annotate each function and data.
|
|
+ */
|
|
+#ifndef KENTRY
|
|
+# define KENTRY(sym) \
|
|
+ extern typeof(sym) sym; \
|
|
+ static const unsigned long __kentry_##sym \
|
|
+ __used \
|
|
+ __attribute__((__section__("___kentry+" #sym))) \
|
|
+ = (unsigned long)&sym;
|
|
+#endif
|
|
+
|
|
+#ifndef RELOC_HIDE
|
|
+# define RELOC_HIDE(ptr, off) \
|
|
+ ({ unsigned long __ptr; \
|
|
+ __ptr = (unsigned long) (ptr); \
|
|
+ (typeof(ptr)) (__ptr + (off)); })
|
|
+#endif
|
|
+
|
|
+#define absolute_pointer(val) RELOC_HIDE((void *)(val), 0)
|
|
+
|
|
+#ifndef OPTIMIZER_HIDE_VAR
|
|
+/* Make the optimizer believe the variable can be manipulated arbitrarily. */
|
|
+#define OPTIMIZER_HIDE_VAR(var) \
|
|
+ __asm__ ("" : "=r" (var) : "0" (var))
|
|
+#endif
|
|
+
|
|
+/* Not-quite-unique ID. */
|
|
+#ifndef __UNIQUE_ID
|
|
+# define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __LINE__)
|
|
+#endif
|
|
+
|
|
+/**
|
|
+ * data_race - mark an expression as containing intentional data races
|
|
+ *
|
|
+ * This data_race() macro is useful for situations in which data races
|
|
+ * should be forgiven. One example is diagnostic code that accesses
|
|
+ * shared variables but is not a part of the core synchronization design.
|
|
+ *
|
|
+ * This macro *does not* affect normal code generation, but is a hint
|
|
+ * to tooling that data races here are to be ignored.
|
|
+ */
|
|
+#define data_race(expr) \
|
|
+({ \
|
|
+ __unqual_scalar_typeof(({ expr; })) __v = ({ \
|
|
+ __kcsan_disable_current(); \
|
|
+ expr; \
|
|
+ }); \
|
|
+ __kcsan_enable_current(); \
|
|
+ __v; \
|
|
+})
|
|
+
|
|
+/*
|
|
+ * With CONFIG_CFI_CLANG, the compiler replaces function addresses in
|
|
+ * instrumented C code with jump table addresses. Architectures that
|
|
+ * support CFI can define this macro to return the actual function address
|
|
+ * when needed.
|
|
+ */
|
|
+#ifndef function_nocfi
|
|
+#define function_nocfi(x) (x)
|
|
+#endif
|
|
+
|
|
+#endif /* __KERNEL__ */
|
|
+
|
|
+/*
|
|
+ * Force the compiler to emit 'sym' as a symbol, so that we can reference
|
|
+ * it from inline assembler. Necessary in case 'sym' could be inlined
|
|
+ * otherwise, or eliminated entirely due to lack of references that are
|
|
+ * visible to the compiler.
|
|
+ */
|
|
+#define __ADDRESSABLE(sym) \
|
|
+ static void * __section(".discard.addressable") __used \
|
|
+ __UNIQUE_ID(__PASTE(__addressable_,sym)) = (void *)&sym;
|
|
+
|
|
+/**
|
|
+ * offset_to_ptr - convert a relative memory offset to an absolute pointer
|
|
+ * @off: the address of the 32-bit offset value
|
|
+ */
|
|
+static inline void *offset_to_ptr(const int *off)
|
|
+{
|
|
+ return (void *)((unsigned long)off + *off);
|
|
+}
|
|
+
|
|
+#endif /* __ASSEMBLY__ */
|
|
+
|
|
+/* &a[0] degrades to a pointer: a different type from an array */
|
|
+#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
|
|
+
|
|
+/*
|
|
+ * Whether 'type' is a signed type or an unsigned type. Supports scalar types,
|
|
+ * bool and also pointer types.
|
|
+ */
|
|
+#define is_signed_type(type) (((type)(-1)) < (__force type)1)
|
|
+
|
|
+/*
|
|
+ * This is needed in functions which generate the stack canary, see
|
|
+ * arch/x86/kernel/smpboot.c::start_secondary() for an example.
|
|
+ */
|
|
+#define prevent_tail_call_optimization() mb()
|
|
+
|
|
+#include <asm/rwonce.h>
|
|
+
|
|
+#endif /* __LINUX_COMPILER_H */
|
|
diff -rupN linux.orig/include/linux/input-polldev.h linux/include/linux/input-polldev.h
|
|
--- linux.orig/include/linux/input-polldev.h 1969-12-31 19:00:00.000000000 -0500
|
|
+++ linux/include/linux/input-polldev.h 2022-11-01 17:56:17.144793376 -0400
|
|
@@ -0,0 +1,58 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0-only */
|
|
+#ifndef _INPUT_POLLDEV_H
|
|
+#define _INPUT_POLLDEV_H
|
|
+
|
|
+/*
|
|
+ * Copyright (c) 2007 Dmitry Torokhov
|
|
+ */
|
|
+
|
|
+#include <linux/input.h>
|
|
+#include <linux/workqueue.h>
|
|
+
|
|
+/**
|
|
+ * struct input_polled_dev - simple polled input device
|
|
+ * @private: private driver data.
|
|
+ * @open: driver-supplied method that prepares device for polling
|
|
+ * (enabled the device and maybe flushes device state).
|
|
+ * @close: driver-supplied method that is called when device is no
|
|
+ * longer being polled. Used to put device into low power mode.
|
|
+ * @poll: driver-supplied method that polls the device and posts
|
|
+ * input events (mandatory).
|
|
+ * @poll_interval: specifies how often the poll() method should be called.
|
|
+ * Defaults to 500 msec unless overridden when registering the device.
|
|
+ * @poll_interval_max: specifies upper bound for the poll interval.
|
|
+ * Defaults to the initial value of @poll_interval.
|
|
+ * @poll_interval_min: specifies lower bound for the poll interval.
|
|
+ * Defaults to 0.
|
|
+ * @input: input device structure associated with the polled device.
|
|
+ * Must be properly initialized by the driver (id, name, phys, bits).
|
|
+ *
|
|
+ * Polled input device provides a skeleton for supporting simple input
|
|
+ * devices that do not raise interrupts but have to be periodically
|
|
+ * scanned or polled to detect changes in their state.
|
|
+ */
|
|
+struct input_polled_dev {
|
|
+ void *private;
|
|
+
|
|
+ void (*open)(struct input_polled_dev *dev);
|
|
+ void (*close)(struct input_polled_dev *dev);
|
|
+ void (*poll)(struct input_polled_dev *dev);
|
|
+ unsigned int poll_interval; /* msec */
|
|
+ unsigned int poll_interval_max; /* msec */
|
|
+ unsigned int poll_interval_min; /* msec */
|
|
+
|
|
+ struct input_dev *input;
|
|
+
|
|
+/* private: */
|
|
+ struct delayed_work work;
|
|
+
|
|
+ bool devres_managed;
|
|
+};
|
|
+
|
|
+struct input_polled_dev *input_allocate_polled_device(void);
|
|
+struct input_polled_dev *devm_input_allocate_polled_device(struct device *dev);
|
|
+void input_free_polled_device(struct input_polled_dev *dev);
|
|
+int input_register_polled_device(struct input_polled_dev *dev);
|
|
+void input_unregister_polled_device(struct input_polled_dev *dev);
|
|
+
|
|
+#endif
|
|
diff -rupN linux.orig/Makefile linux/Makefile
|
|
--- linux.orig/Makefile 2022-11-01 17:55:23.054625866 -0400
|
|
+++ linux/Makefile 2022-11-01 17:56:17.128793891 -0400
|
|
@@ -755,6 +755,8 @@ KBUILD_CFLAGS += $(call cc-disable-warni
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
|
|
+KBUILD_CFLAGS += $(call cc-disable-warning, unused-label)
|
|
+KBUILD_CFLAGS += $(call cc-disable-warning, unused-variable)
|
|
|
|
ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
|
|
KBUILD_CFLAGS += -O2
|
|
@@ -1002,7 +1004,7 @@ endif
|
|
KBUILD_CFLAGS += -Werror=date-time
|
|
|
|
# enforce correct pointer usage
|
|
-KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
|
|
+# KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
|
|
|
|
# Require designated initializers for all marked structures
|
|
KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
|