diff --git a/device/device-samsung-i927/40-samsung-i927.conf b/device/device-samsung-i927/40-samsung-i927.conf index ae1c53ecc..97c987216 100644 --- a/device/device-samsung-i927/40-samsung-i927.conf +++ b/device/device-samsung-i927/40-samsung-i927.conf @@ -5,8 +5,9 @@ Section "Device" Driver "opentegra" Option "SWcursor" "false" # This can cause rendering issues - # Option "AccelCompositing" "true" + Option "AccelCompositing" "true" Option "NoAccel" "false" + Option "TearFree" "true" EndSection Section "InputClass" @@ -20,4 +21,37 @@ EndSection Section "Monitor" Identifier "LVDS-0" Option "Rotate" "right" + Option "DPMS" "true" + Option "Primary" "true" +EndSection + +Section "Screen" + Identifier "Panel" + Device "Tegra Graphics" + Monitor "LVDS-0" +EndSection + +# This is for MHL (not tested) +Section "Monitor" + Identifier "HDMI-0" + # Ignored for now because resolution becomes wrong (848 instead of 840) + Option "ignore" "true" +EndSection + +Section "Screen" + Identifier "MHL" + Device "Tegra Graphics" + Monitor "HDMI-0" +EndSection + +# This is for DPMS - MATE does not suspend the display panel, +# insead, it just shows you an empty black screensaver. +# Also sets MHL layout, but it doesn't really work due to touchscreen, +# however, it can be fixed with scripts +Section "ServerLayout" + Identifier "Samsung panel" + Screen 0 "Panel" 0 0 + Screen 1 "MHL" 0 0 + Option "BlankTime" "0" + # Option "SuspendTime" "300" EndSection diff --git a/device/device-samsung-i927/APKBUILD b/device/device-samsung-i927/APKBUILD index b83f4225e..6e628e66d 100644 --- a/device/device-samsung-i927/APKBUILD +++ b/device/device-samsung-i927/APKBUILD @@ -1,8 +1,8 @@ # Reference: pkgname="device-samsung-i927" pkgdesc="Samsung Captivate Glide" -pkgver=0.2 -pkgrel=2 +pkgver=0.3 +pkgrel=0 url="https://postmarketos.org" license="MIT" arch="armv7" @@ -81,10 +81,10 @@ nonfree_firmware() { sha512sums="f766baaedddad320bb0ae3f54a0a369ae7cda6cef77bcf8a5d45c9b86ea655f05fac9bee2c72b2391fe5740e36c8117cbabf574c99ef3e5ad1c163993fb2a36e deviceinfo d8ce60ea7acaabf627ddca2f0887a4cda46f313b7aaf7934bef2fef8a6e0798ccefab849e4571e4e3fcd06ae34c1a6efe3b58b401e2e443416f6200e6d4ea769 modules-load.conf -761a53c000fbca43d613d42f8f991e593828ae508b1ad1e0c157eebe42175da28adf468121af4974cdadea4a80af544c215284a05a5c65ee3a4fd5d924dc5ed9 HiFi.conf -cbe74051ac81a3a8878dc804cd42fd27959da4460fa531ba4d57f2f2bc6504c28a913fe3f5bef1e8dd351950696a64e84f9e56c77300fd736cdfe50b9b827a05 Voice.conf +97780fe04738a88afa2bc8bd96de5f053861d1ecb83185fc8af4534e77f365c0cbaaffdb2ee579aa0940db7ec3df74cbb90aa122d5fc97a2e3977432010f254f HiFi.conf +a790d9f06ab32a36ecfaf7f43e5b3c6d12e383f54ba0bad649edcf177f97d053d53de993a7df297bae91807f648c43ba69b2d1cf24969669155df89d6a7ad36c Voice.conf 6fa188b7756edc28f7cfa7dd6a6d2eacb828b55c4a989673321d82ef0802d8c1dd44d0aa40ba9bdb05843fd96c73325380c8bdcd41e35b269c4655196c888d99 wm8994aif1.conf -000e5400c552daa83b40d211cba78d034cd7430eb98d039190a71cf7df8a5921d78a0abfae824129284650748ab939e60cdbbe41841c43ae86d229c39f7fe1c0 40-samsung-i927.conf +81b90a4076e18f916937b48fb175172b0d41534d4a69db8d12043a40bd89a9f6d5f60f39a5a1d91479a061369b72bd29aa0fa9cc9706190cfeb21cd57eee5e37 40-samsung-i927.conf 607d8631a4ced6b727f93f8ffbcf906c0c216c71bbd026cb2538d1b25f94c9f09c06531da5a0bbbd40b064c5b15b8fa693deec9fe683ad009ca80f7afbb12c6b Xkbmap 5f6e51d51e0392fa25626554673a751d9bdee19c503eadf2f3a4e30b6cf8ff8d99b0ddf436dc2e496a3701c1969aca165eebc368fa6bbfb9cb3554dcf627f75d i927 49aad2429c0fa7a0dcc99a57c6372d1223661ec0ecf5fcb1ede28992138dbc2a1b8e18ca265ad7e9bc2f389b8f2cd7ec57598c1dbb2d8de0ee4a277fb3d79957 i927_rules diff --git a/device/device-samsung-i927/HiFi.conf b/device/device-samsung-i927/HiFi.conf index c1f75ba24..0555159ab 100644 --- a/device/device-samsung-i927/HiFi.conf +++ b/device/device-samsung-i927/HiFi.conf @@ -1,31 +1,36 @@ SectionVerb { - EnableSequence [ - cdev "hw:wm8994aif1" + EnableSequence [ + cdev "hw:wm8994aif1" + ] - # Speaker + DisableSequence [ + cdev "hw:wm8994aif1" + ] + + Value { + PlaybackPCM "hw:wm8994aif1,0" + CapturePCM "hw:wm8994aif1,0" + } +} + +SectionDevice."Speaker" { + EnableSequence [ + cdev "hw:wm8994aif1" + + cset "name='Speaker Mixer Volume' 100" cset "name='SPKR Output Switch' 1" cset "name='SPKL Output Switch' 1" cset "name='SPKL Boost SPKL Switch' 1" cset "name='SPKL Boost SPKR Switch' 1" cset "name='SPKR Boost SPKL Switch' 0" cset "name='SPKR Boost SPKR Switch' 1" - cset "name='Speaker Mixer Volume' 100" + cset "name='Speaker Switch' 1" + ] - # Headphones - cset "name='Left Headphone Mux' Mixer" - cset "name='Right Headphone Mux' Mixer" - cset "name='Left Output Mixer DAC Switch' 1" - cset "name='Right Output Mixer DAC Switch' 1" + DisableSequence [ + cdev "hw:wm8994aif1" - # Earpiece - cset "name='Earpiece Mixer Left Output Switch' 1" - cset "name='Earpiece Mixer Right Output Switch' 1" - ] - - DisableSequence [ - cdev "hw:wm8994aif1" - - # Speaker + cset "name='Speaker Switch' 0" cset "name='SPKR Output Switch' 0" cset "name='SPKL Output Switch' 0" cset "name='SPKL Boost SPKL Switch' 0" @@ -33,103 +38,61 @@ SectionVerb { cset "name='SPKR Boost SPKL Switch' 0" cset "name='SPKR Boost SPKR Switch' 0" cset "name='Speaker Mixer Volume' 0" + ] - # Headphones - cset "name='Left Headphone Mux' Mixer" - cset "name='Right Headphone Mux' Mixer" - cset "name='Left Output Mixer DAC Switch' 0" - cset "name='Right Output Mixer DAC Switch' 0" - - # Earpiece - cset "name='Earpiece Mixer Left Output Switch' 0" - cset "name='Earpiece Mixer Right Output Switch' 0" - ] - - Value { - PlaybackPCM "hw:wm8994aif1,0" - CapturePCM "hw:wm8994aif1,0" - } - -} - -SectionDevice."Speaker" { - EnableSequence [ - cdev "hw:wm8994aif1" - - cset "name='Speaker Switch' 1" - ] - - DisableSequence [ - cdev "hw:wm8994aif1" - - cset "name='Speaker Switch' 0" - ] - - Value { - PlaybackChannels "2" - } + Value { + PlaybackVolume "name='Speaker Volume'" + PlaybackChannels "2" + } } SectionDevice."Headphones" { - EnableSequence [ - cdev "hw:wm8994aif1" + EnableSequence [ + cdev "hw:wm8994aif1" - cset "name='Headphone Switch' 1" - ] + cset "name='Left Output Mixer DAC Switch' 1" + cset "name='Right Output Mixer DAC Switch' 1" + cset "name='Left Headphone Mux' Mixer" + cset "name='Right Headphone Mux' Mixer" + cset "name='Headphone Switch' 1" + ] - DisableSequence [ - cdev "hw:wm8994aif1" + DisableSequence [ + cdev "hw:wm8994aif1" - cset "name='Headphone Switch' 0" - ] + cset "name='Headphone Switch' 0" + cset "name='Left Headphone Mux' DAC" + cset "name='Right Headphone Mux' DAC" + cset "name='Left Output Mixer DAC Switch' 0" + cset "name='Right Output Mixer DAC Switch' 0" + ] - Value { - PlaybackChannels "2" - } - -} - -SectionDevice."Voice" { - EnableSequence [ - cdev "hw:wm8994aif1" - - cset "name='IN1L Switch' 1" - cset "name='IN1L PGA IN1LN Switch' 1" - cset "name='IN1L PGA IN1LP Switch' 1" - ] - - DisableSequence [ - cdev "hw:wm8994aif1" - - cset "name='IN1L Switch' 0" - cset "name='IN1L PGA IN1LN Switch' 0" - cset "name='IN1L PGA IN1LP Switch' 0" - ] - - Value { - CaptureChannels "2" - } + Value { + PlaybackVolume "name='Headphone Volume'" + PlaybackChannels "2" + } } SectionDevice."Earpiece" { - EnableSequence [ - cdev "hw:wm8994aif1" + EnableSequence [ + cdev "hw:wm8994aif1" cset "name='Earpiece Mixer Left Output Switch' 1" cset "name='Earpiece Mixer Right Output Switch' 1" cset "name='Earpiece Switch' 1" - ] + ] - DisableSequence [ - cdev "hw:wm8994aif1" + DisableSequence [ + cdev "hw:wm8994aif1" + cset "name='Earpiece Switch' 0" cset "name='Earpiece Mixer Left Output Switch' 0" cset "name='Earpiece Mixer Right Output Switch' 0" - cset "name='Earpiece Switch' 0" - ] + ] - Value { - PlaybackChannels "2" - } + Value { + PlaybackVolume "name='Earpiece Volume'" + PlaybackChannels "2" + } } diff --git a/device/device-samsung-i927/Voice.conf b/device/device-samsung-i927/Voice.conf index aeb79543a..eb2962d90 100644 --- a/device/device-samsung-i927/Voice.conf +++ b/device/device-samsung-i927/Voice.conf @@ -30,9 +30,9 @@ SectionDevice."Headset".0 { EnableSequence [ cdev "hw:wm8994aif1" - cset "name='IN1L Switch' 1" cset "name='IN1L PGA IN1LN Switch' 1" cset "name='IN1L PGA IN1LP Switch' 1" + cset "name='IN1L Switch' 1" ] DisableSequence [ diff --git a/device/linux-samsung-i927/0001-dt-bindings-drm-panel-Add-Samsung-s6e63m0-panel-docu.patch b/device/linux-samsung-i927/0001-dt-bindings-drm-panel-Add-Samsung-s6e63m0-panel-docu.patch index e7c426074..997e6241b 100644 --- a/device/linux-samsung-i927/0001-dt-bindings-drm-panel-Add-Samsung-s6e63m0-panel-docu.patch +++ b/device/linux-samsung-i927/0001-dt-bindings-drm-panel-Add-Samsung-s6e63m0-panel-docu.patch @@ -1,4 +1,4 @@ -From 2b9e681359e72c3ee0387dfc9b10ec9a7f548c97 Mon Sep 17 00:00:00 2001 +From ad131294648ed09377a9c1ce9ecd68e2c587fa56 Mon Sep 17 00:00:00 2001 From: Jonathan Bakker Date: Tue, 12 Jun 2018 11:32:26 -0700 Subject: [PATCH] dt-bindings: drm: panel: Add Samsung s6e63m0 panel @@ -12,16 +12,6 @@ driver. Signed-off-by: Jonathan Bakker Signed-off-by: Paweł Chmiel ---- -Changes from v1: - - Add missing subject prefix - - Rename reset-gpio to reset-gpios - - Add link to spi properites documentation. They're required - for driver to work - - Removed delay properties, which are now hardcoded in driver - - Removed display timings, which are now hardcoded in driver - -Signed-off-by: Sergey Larin --- .../display/panel/samsung,s6e63m0.txt | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) @@ -67,5 +57,5 @@ index 000000000000..9fb9ebeef8e4 + }; + }; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0002-drm-panel-Add-driver-for-Samsung-S6E63M0-panel.patch b/device/linux-samsung-i927/0002-drm-panel-Add-driver-for-Samsung-S6E63M0-panel.patch index 28e86ab0e..3927ebe72 100644 --- a/device/linux-samsung-i927/0002-drm-panel-Add-driver-for-Samsung-S6E63M0-panel.patch +++ b/device/linux-samsung-i927/0002-drm-panel-Add-driver-for-Samsung-S6E63M0-panel.patch @@ -1,4 +1,4 @@ -From 837ca6b151a2ffe19b622a22351ea4a19c1d2cfd Mon Sep 17 00:00:00 2001 +From 7a2c716cabba413f36f3da0f0aa35f0686cff215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Chmiel?= Date: Fri, 25 Jan 2019 16:32:08 +0100 Subject: [PATCH] drm/panel: Add driver for Samsung S6E63M0 panel @@ -13,58 +13,19 @@ Aries based phones. Signed-off-by: Paweł Chmiel Reviewed-by: Sam Ravnborg ---- -Changes from v2: - - VIDEOMODE_HELPERS is not needed in Kconfig - - Added help text to Kconfig - - Remove unneeded videomode includes/fields - - Add sentinel comment in s6e63m0_of_match struct - - Handle errors during registration of backlight device. We shouldn't - register panel if we fail to register backlight device - - Added Reviewed-by - -Changes from v1: - - Correct order of Kconfig/Makefile entry - - Fix SPDX tag, so it matches value of MODULE_LICENSE - - Remove inclusion of drmP.h - - Fix code formatting - - Use DRM_DEV_ERROR/DEBUG - - Extract hardcoded values - - Remove possibility to change gamma through sysfs, leaving only one - gamma table values - - Fix reset_gpio handling, so it'll be asserted in power_on and - deasserted in power_off. Also do it before turning voltage on. - - Disable backlight and enter sleep mode in disable callback. - Previously it was done in unprepare - - Enable display and backlight in enable callback. Previously it was - done in prepare - - Hardcode display timings and delays. Previously they were readed - from device tree - - We're using SPDX, so we don't need to have license body - - Use MIPI_DCS_EXIT_SLEEP_MODE and MIPI_DCS_SET_DISPLAY_ON - - Rename MAX_GAMMA_LEVEL to NUM_GAMMA_LEVELS - - Ommit get_brightness callback - - Use backlight_enable/disable API, like it's done in other panel - drivers (for example panel-simple) - - Make set_brightness called only from backlight api, like it's done - in other panel drivers (for example panel-simple). - - Reset gpio should be set to GPIOD_OUT_HIGH. It's declared as active - low in device tree - - Don't call power_off in remove callback - -Signed-off-by: Sergey Larin +Reviewed-by: Andrzej Hajda --- drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + - drivers/gpu/drm/panel/panel-samsung-s6e63m0.c | 517 ++++++++++++++++++ - 3 files changed, 527 insertions(+) + drivers/gpu/drm/panel/panel-samsung-s6e63m0.c | 514 ++++++++++++++++++ + 3 files changed, 524 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-samsung-s6e63m0.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig -index 6020c30a33b3..1a2c1d756bd3 100644 +index e281fc544742..b23ffd2703d7 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig -@@ -140,6 +140,15 @@ config DRM_PANEL_SAMSUNG_S6E63J0X03 +@@ -201,6 +201,15 @@ config DRM_PANEL_SAMSUNG_S6E63J0X03 depends on BACKLIGHT_CLASS_DEVICE select VIDEOMODE_HELPERS @@ -81,11 +42,11 @@ index 6020c30a33b3..1a2c1d756bd3 100644 tristate "Samsung S6E8AA0 DSI video mode panel" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile -index 5ccaaa9d13af..fd6fbcf7808c 100644 +index 78e3dc376bdd..7fd498ab8f0f 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile -@@ -14,6 +14,7 @@ obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM68200) += panel-raydium-rm68200.o - obj-$(CONFIG_DRM_PANEL_SAMSUNG_LD9040) += panel-samsung-ld9040.o +@@ -20,6 +20,7 @@ obj-$(CONFIG_DRM_PANEL_SAMSUNG_LD9040) += panel-samsung-ld9040.o + obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6D16D0) += panel-samsung-s6d16d0.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2) += panel-samsung-s6e3ha2.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03) += panel-samsung-s6e63j0x03.o +obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63M0) += panel-samsung-s6e63m0.o @@ -94,10 +55,10 @@ index 5ccaaa9d13af..fd6fbcf7808c 100644 obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) += panel-sharp-lq101r1sx01.o diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c b/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c new file mode 100644 -index 000000000000..4312aa3e4386 +index 000000000000..142d395ea512 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c -@@ -0,0 +1,517 @@ +@@ -0,0 +1,514 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * S6E63M0 AMOLED LCD drm_panel driver. @@ -123,11 +84,13 @@ index 000000000000..4312aa3e4386 + +/* Manufacturer Command Set */ +#define MCS_ELVSS_ON 0xb1 -+#define MCS_ACL_CTRL 0xc0 -+#define MCS_DISPLAY_CONDITION 0xf2 -+#define MCS_ETC_CONDITION 0xf6 -+#define MCS_PANEL_CONDITION 0xF8 -+#define MCS_GAMMA_CTRL 0xfa ++#define MCS_MIECTL1 0xc0 ++#define MCS_BCMODE 0xc1 ++#define MCS_DISCTL 0xf2 ++#define MCS_SRCCTL 0xf6 ++#define MCS_IFCTL 0xf7 ++#define MCS_PANELCTL 0xF8 ++#define MCS_PGAMMACTL 0xfa + +#define NUM_GAMMA_LEVELS 11 +#define GAMMA_TABLE_COUNT 23 @@ -138,47 +101,47 @@ index 000000000000..4312aa3e4386 + +/* array of gamma tables for gamma value 2.2 */ +static u8 const s6e63m0_gamma_22[NUM_GAMMA_LEVELS][GAMMA_TABLE_COUNT] = { -+ { MCS_GAMMA_CTRL, 0x00, ++ { MCS_PGAMMACTL, 0x00, + 0x18, 0x08, 0x24, 0x78, 0xEC, 0x3D, 0xC8, + 0xC2, 0xB6, 0xC4, 0xC7, 0xB6, 0xD5, 0xD7, + 0xCC, 0x00, 0x39, 0x00, 0x36, 0x00, 0x51 }, -+ { MCS_GAMMA_CTRL, 0x00, ++ { MCS_PGAMMACTL, 0x00, + 0x18, 0x08, 0x24, 0x73, 0x4A, 0x3D, 0xC0, + 0xC2, 0xB1, 0xBB, 0xBE, 0xAC, 0xCE, 0xCF, + 0xC5, 0x00, 0x5D, 0x00, 0x5E, 0x00, 0x82 }, -+ { MCS_GAMMA_CTRL, 0x00, ++ { MCS_PGAMMACTL, 0x00, + 0x18, 0x08, 0x24, 0x70, 0x51, 0x3E, 0xBF, + 0xC1, 0xAF, 0xB9, 0xBC, 0xAB, 0xCC, 0xCC, + 0xC2, 0x00, 0x65, 0x00, 0x67, 0x00, 0x8D }, -+ { MCS_GAMMA_CTRL, 0x00, ++ { MCS_PGAMMACTL, 0x00, + 0x18, 0x08, 0x24, 0x6C, 0x54, 0x3A, 0xBC, + 0xBF, 0xAC, 0xB7, 0xBB, 0xA9, 0xC9, 0xC9, + 0xBE, 0x00, 0x71, 0x00, 0x73, 0x00, 0x9E }, -+ { MCS_GAMMA_CTRL, 0x00, ++ { MCS_PGAMMACTL, 0x00, + 0x18, 0x08, 0x24, 0x69, 0x54, 0x37, 0xBB, + 0xBE, 0xAC, 0xB4, 0xB7, 0xA6, 0xC7, 0xC8, + 0xBC, 0x00, 0x7B, 0x00, 0x7E, 0x00, 0xAB }, -+ { MCS_GAMMA_CTRL, 0x00, ++ { MCS_PGAMMACTL, 0x00, + 0x18, 0x08, 0x24, 0x66, 0x55, 0x34, 0xBA, + 0xBD, 0xAB, 0xB1, 0xB5, 0xA3, 0xC5, 0xC6, + 0xB9, 0x00, 0x85, 0x00, 0x88, 0x00, 0xBA }, -+ { MCS_GAMMA_CTRL, 0x00, ++ { MCS_PGAMMACTL, 0x00, + 0x18, 0x08, 0x24, 0x63, 0x53, 0x31, 0xB8, + 0xBC, 0xA9, 0xB0, 0xB5, 0xA2, 0xC4, 0xC4, + 0xB8, 0x00, 0x8B, 0x00, 0x8E, 0x00, 0xC2 }, -+ { MCS_GAMMA_CTRL, 0x00, ++ { MCS_PGAMMACTL, 0x00, + 0x18, 0x08, 0x24, 0x62, 0x54, 0x30, 0xB9, + 0xBB, 0xA9, 0xB0, 0xB3, 0xA1, 0xC1, 0xC3, + 0xB7, 0x00, 0x91, 0x00, 0x95, 0x00, 0xDA }, -+ { MCS_GAMMA_CTRL, 0x00, ++ { MCS_PGAMMACTL, 0x00, + 0x18, 0x08, 0x24, 0x66, 0x58, 0x34, 0xB6, + 0xBA, 0xA7, 0xAF, 0xB3, 0xA0, 0xC1, 0xC2, + 0xB7, 0x00, 0x97, 0x00, 0x9A, 0x00, 0xD1 }, -+ { MCS_GAMMA_CTRL, 0x00, ++ { MCS_PGAMMACTL, 0x00, + 0x18, 0x08, 0x24, 0x64, 0x56, 0x33, 0xB6, + 0xBA, 0xA8, 0xAC, 0xB1, 0x9D, 0xC1, 0xC1, + 0xB7, 0x00, 0x9C, 0x00, 0x9F, 0x00, 0xD6 }, -+ { MCS_GAMMA_CTRL, 0x00, ++ { MCS_PGAMMACTL, 0x00, + 0x18, 0x08, 0x24, 0x5f, 0x50, 0x2d, 0xB6, + 0xB9, 0xA7, 0xAd, 0xB1, 0x9f, 0xbe, 0xC0, + 0xB5, 0x00, 0xa0, 0x00, 0xa4, 0x00, 0xdb }, @@ -279,38 +242,26 @@ index 000000000000..4312aa3e4386 + s6e63m0_dcs_write(ctx, d, ARRAY_SIZE(d)); \ + }) + -+static void s6e63m0_brightness_set(struct s6e63m0 *ctx) -+{ -+ int brightness = ctx->bl_dev->props.brightness; -+ -+ /* disable and set new gamma */ -+ s6e63m0_dcs_write(ctx, s6e63m0_gamma_22[brightness], -+ ARRAY_SIZE(s6e63m0_gamma_22[brightness])); -+ -+ /* update gamma table. */ -+ s6e63m0_dcs_write_seq_static(ctx, MCS_GAMMA_CTRL, 0x01); -+} -+ +static void s6e63m0_init(struct s6e63m0 *ctx) +{ -+ s6e63m0_dcs_write_seq_static(ctx, MCS_PANEL_CONDITION, ++ s6e63m0_dcs_write_seq_static(ctx, MCS_PANELCTL, + 0x01, 0x27, 0x27, 0x07, 0x07, 0x54, 0x9f, + 0x63, 0x86, 0x1a, 0x33, 0x0d, 0x00, 0x00); + -+ s6e63m0_dcs_write_seq_static(ctx, MCS_DISPLAY_CONDITION, ++ s6e63m0_dcs_write_seq_static(ctx, MCS_DISCTL, + 0x02, 0x03, 0x1c, 0x10, 0x10); -+ s6e63m0_dcs_write_seq_static(ctx, 0xf7, ++ s6e63m0_dcs_write_seq_static(ctx, MCS_IFCTL, + 0x03, 0x00, 0x00); + -+ s6e63m0_dcs_write_seq_static(ctx, MCS_GAMMA_CTRL, ++ s6e63m0_dcs_write_seq_static(ctx, MCS_PGAMMACTL, + 0x00, 0x18, 0x08, 0x24, 0x64, 0x56, 0x33, + 0xb6, 0xba, 0xa8, 0xac, 0xb1, 0x9d, 0xc1, + 0xc1, 0xb7, 0x00, 0x9c, 0x00, 0x9f, 0x00, + 0xd6); -+ s6e63m0_dcs_write_seq_static(ctx, MCS_GAMMA_CTRL, ++ s6e63m0_dcs_write_seq_static(ctx, MCS_PGAMMACTL, + 0x01); + -+ s6e63m0_dcs_write_seq_static(ctx, MCS_ETC_CONDITION, ++ s6e63m0_dcs_write_seq_static(ctx, MCS_SRCCTL, + 0x00, 0x8c, 0x07); + s6e63m0_dcs_write_seq_static(ctx, 0xb3, + 0xc); @@ -348,7 +299,7 @@ index 000000000000..4312aa3e4386 + 0x44, 0x55, 0x55, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x66); + -+ s6e63m0_dcs_write_seq_static(ctx, 0xc1, ++ s6e63m0_dcs_write_seq_static(ctx, MCS_BCMODE, + 0x4d, 0x96, 0x1d, 0x00, 0x00, 0x01, 0xdf, + 0x00, 0x00, 0x03, 0x1f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, @@ -357,7 +308,7 @@ index 000000000000..4312aa3e4386 + s6e63m0_dcs_write_seq_static(ctx, 0xb2, + 0x10, 0x10, 0x0b, 0x05); + -+ s6e63m0_dcs_write_seq_static(ctx, MCS_ACL_CTRL, ++ s6e63m0_dcs_write_seq_static(ctx, MCS_MIECTL1, + 0x01); + + s6e63m0_dcs_write_seq_static(ctx, MCS_ELVSS_ON, @@ -370,15 +321,15 @@ index 000000000000..4312aa3e4386 +{ + int ret; + -+ gpiod_set_value(ctx->reset_gpio, 0); -+ msleep(120); -+ + ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); + if (ret < 0) + return ret; + + msleep(25); + ++ gpiod_set_value(ctx->reset_gpio, 0); ++ msleep(120); ++ + return 0; +} + @@ -386,13 +337,13 @@ index 000000000000..4312aa3e4386 +{ + int ret; + ++ gpiod_set_value(ctx->reset_gpio, 1); ++ msleep(120); ++ + ret = regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies); + if (ret < 0) + return ret; + -+ gpiod_set_value(ctx->reset_gpio, 1); -+ msleep(120); -+ + return 0; +} + @@ -505,7 +456,14 @@ index 000000000000..4312aa3e4386 +{ + struct s6e63m0 *ctx = bl_get_data(bd); + -+ s6e63m0_brightness_set(ctx); ++ int brightness = bd->props.brightness; ++ ++ /* disable and set new gamma */ ++ s6e63m0_dcs_write(ctx, s6e63m0_gamma_22[brightness], ++ ARRAY_SIZE(s6e63m0_gamma_22[brightness])); ++ ++ /* update gamma table. */ ++ s6e63m0_dcs_write_seq_static(ctx, MCS_PGAMMACTL, 0x01); + + return s6e63m0_clear_error(ctx); +} @@ -616,5 +574,5 @@ index 000000000000..4312aa3e4386 +MODULE_DESCRIPTION("s6e63m0 LCD Driver"); +MODULE_LICENSE("GPL v2"); -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0003-drm-tegra-Hacks-for-S6E63M0.patch b/device/linux-samsung-i927/0003-drm-tegra-Hacks-for-S6E63M0.patch index de066bfcd..5e30d4ef9 100644 --- a/device/linux-samsung-i927/0003-drm-tegra-Hacks-for-S6E63M0.patch +++ b/device/linux-samsung-i927/0003-drm-tegra-Hacks-for-S6E63M0.patch @@ -1,4 +1,4 @@ -From 6dfb5189947dc913e9e643a82dd0f69efe7b16d7 Mon Sep 17 00:00:00 2001 +From cb4d53dc10a31f773a2bac3955cb2a22bdd4dcc8 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sat, 26 Jan 2019 10:41:50 +0300 Subject: [PATCH] drm/tegra: Hacks for S6E63M0 @@ -12,10 +12,10 @@ Signed-off-by: Sergey Larin 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/tegra/rgb.c b/drivers/gpu/drm/tegra/rgb.c -index 28a78d3120bc..a61c01b1b6f5 100644 +index 4be4dfd4a68a..ae006396e78a 100644 --- a/drivers/gpu/drm/tegra/rgb.c +++ b/drivers/gpu/drm/tegra/rgb.c -@@ -39,9 +39,17 @@ static const struct reg_entry rgb_enable[] = { +@@ -36,9 +36,17 @@ static const struct reg_entry rgb_enable[] = { { DC_COM_PIN_OUTPUT_ENABLE(2), 0x00000000 }, { DC_COM_PIN_OUTPUT_ENABLE(3), 0x00000000 }, { DC_COM_PIN_OUTPUT_POLARITY(0), 0x00000000 }, @@ -34,5 +34,5 @@ index 28a78d3120bc..a61c01b1b6f5 100644 { DC_COM_PIN_OUTPUT_DATA(1), 0x00000000 }, { DC_COM_PIN_OUTPUT_DATA(2), 0x00000000 }, -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0004-iio-gyro-mpu3050-get-chip-ID-correctly.patch b/device/linux-samsung-i927/0004-iio-gyro-mpu3050-get-chip-ID-correctly.patch deleted file mode 100644 index b6243f3e5..000000000 --- a/device/linux-samsung-i927/0004-iio-gyro-mpu3050-get-chip-ID-correctly.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 081df7f8582115c7b87f3516946acb829a1aa357 Mon Sep 17 00:00:00 2001 -From: Sergey Larin -Date: Sat, 26 Jan 2019 19:27:36 +0300 -Subject: [PATCH] iio: gyro: mpu3050: get chip ID correctly - -According to the datasheet, the first bit of CHIP_ID register specifies -the I2C bus state, and the last one does not belong to ID. Handle this -correctly. - -Signed-off-by: Sergey Larin ---- - drivers/iio/gyro/mpu3050-core.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/drivers/iio/gyro/mpu3050-core.c b/drivers/iio/gyro/mpu3050-core.c -index 77fac81a3adc..0c541cbf13a4 100644 ---- a/drivers/iio/gyro/mpu3050-core.c -+++ b/drivers/iio/gyro/mpu3050-core.c -@@ -29,7 +29,7 @@ - - #include "mpu3050.h" - --#define MPU3050_CHIP_ID 0x69 -+#define MPU3050_CHIP_ID 0x68 - - /* - * Register map: anything suffixed *_H is a big-endian high byte and always -@@ -1176,8 +1176,8 @@ int mpu3050_common_probe(struct device *dev, - goto err_power_down; - } - -- if (val != MPU3050_CHIP_ID) { -- dev_err(dev, "unsupported chip id %02x\n", (u8)val); -+ if ((val & 0x7E) != MPU3050_CHIP_ID) { -+ dev_err(dev, "unsupported chip id %02x\n", (u8)(val & 0x7E)); - ret = -ENODEV; - goto err_power_down; - } --- -2.20.1 - diff --git a/device/linux-samsung-i927/0005-soc-tegra-fix-build-for-Tegra.patch b/device/linux-samsung-i927/0004-soc-tegra-fix-build-for-Tegra.patch similarity index 78% rename from device/linux-samsung-i927/0005-soc-tegra-fix-build-for-Tegra.patch rename to device/linux-samsung-i927/0004-soc-tegra-fix-build-for-Tegra.patch index 30d24366e..e6cdd6c76 100644 --- a/device/linux-samsung-i927/0005-soc-tegra-fix-build-for-Tegra.patch +++ b/device/linux-samsung-i927/0004-soc-tegra-fix-build-for-Tegra.patch @@ -1,4 +1,4 @@ -From baee924a1eb54c7b4283948f7a141134a351a188 Mon Sep 17 00:00:00 2001 +From 71c0d5721b1855fa352f6cb223d1fc5014412267 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sat, 26 Jan 2019 19:32:58 +0300 Subject: [PATCH] soc/tegra: fix build for Tegra @@ -12,10 +12,10 @@ Signed-off-by: Sergey Larin 1 file changed, 1 insertion(+) diff --git a/drivers/soc/tegra/Kconfig b/drivers/soc/tegra/Kconfig -index fe4481676da6..ad5ede8f84ce 100644 +index fbfce48ffb0d..a71650cc7bb3 100644 --- a/drivers/soc/tegra/Kconfig +++ b/drivers/soc/tegra/Kconfig -@@ -126,6 +126,7 @@ config SOC_TEGRA_FLOWCTRL +@@ -128,6 +128,7 @@ config SOC_TEGRA_FLOWCTRL bool config SOC_TEGRA_PMC @@ -24,5 +24,5 @@ index fe4481676da6..ad5ede8f84ce 100644 config SOC_TEGRA_POWERGATE_BPMP -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0006-mmc-core-Add-a-quirk-for-NVIDIA-Tegra-EMMC.patch b/device/linux-samsung-i927/0005-mmc-core-Add-a-quirk-for-NVIDIA-Tegra-EMMC.patch similarity index 87% rename from device/linux-samsung-i927/0006-mmc-core-Add-a-quirk-for-NVIDIA-Tegra-EMMC.patch rename to device/linux-samsung-i927/0005-mmc-core-Add-a-quirk-for-NVIDIA-Tegra-EMMC.patch index 9d914e41a..efae5aeec 100644 --- a/device/linux-samsung-i927/0006-mmc-core-Add-a-quirk-for-NVIDIA-Tegra-EMMC.patch +++ b/device/linux-samsung-i927/0005-mmc-core-Add-a-quirk-for-NVIDIA-Tegra-EMMC.patch @@ -1,4 +1,4 @@ -From 4cb4e6156fa5f942cf004b3e34677f1ee6f32cab Mon Sep 17 00:00:00 2001 +From 5a3ef17a66c43fc996d77d90f68f25af221c9b40 Mon Sep 17 00:00:00 2001 From: Dmitry Osipenko Date: Tue, 6 Oct 2015 19:27:48 +0300 Subject: [PATCH] mmc: core: Add a quirk for NVIDIA Tegra EMMC @@ -11,10 +11,10 @@ Signed-off-by: Sergey Larin 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c -index 55997cf84b39..643fbe58eb0f 100644 +index c8804895595f..d4c5592aa22b 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c -@@ -408,8 +408,17 @@ static int mmc_decode_ext_csd(struct mmc_card *card, u8 *ext_csd) +@@ -405,8 +405,17 @@ static int mmc_decode_ext_csd(struct mmc_card *card, u8 *ext_csd) ext_csd[EXT_CSD_SEC_CNT + 3] << 24; /* Cards with density > 2GiB are sector addressed */ @@ -34,5 +34,5 @@ index 55997cf84b39..643fbe58eb0f 100644 card->ext_csd.strobe_support = ext_csd[EXT_CSD_STROBE_SUPPORT]; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0007-leds-Add-led-class-support-isa1200-vibration-motor.patch b/device/linux-samsung-i927/0006-leds-Add-led-class-support-isa1200-vibration-motor.patch similarity index 98% rename from device/linux-samsung-i927/0007-leds-Add-led-class-support-isa1200-vibration-motor.patch rename to device/linux-samsung-i927/0006-leds-Add-led-class-support-isa1200-vibration-motor.patch index 5acea18ca..724f053dc 100644 --- a/device/linux-samsung-i927/0007-leds-Add-led-class-support-isa1200-vibration-motor.patch +++ b/device/linux-samsung-i927/0006-leds-Add-led-class-support-isa1200-vibration-motor.patch @@ -1,4 +1,4 @@ -From facbfc379074eb38b85351e78f7a22ae638ebd24 Mon Sep 17 00:00:00 2001 +From f14f1512693476e0a5256fef0bb4d0ad04e662da Mon Sep 17 00:00:00 2001 From: ryang Date: Tue, 31 Oct 2017 12:08:54 -0400 Subject: [PATCH] leds: Add led class support isa1200 vibration motor @@ -15,10 +15,10 @@ Signed-off-by: Sergey Larin create mode 100755 drivers/leds/leds-isa1200.h diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig -index a72f97fca57b..d659f0174b92 100644 +index 760f73a49c9f..14552a9f2718 100644 --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -766,6 +766,14 @@ config LEDS_NIC78BX +@@ -784,6 +784,14 @@ config LEDS_NIC78BX To compile this driver as a module, choose M here: the module will be called leds-nic78bx. @@ -34,10 +34,10 @@ index a72f97fca57b..d659f0174b92 100644 source "drivers/leds/trigger/Kconfig" diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile -index 4c1b0054f379..0ec7806479e9 100644 +index 1e9702ebffee..8f2c88f41701 100644 --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -79,6 +79,7 @@ obj-$(CONFIG_LEDS_MT6323) += leds-mt6323.o +@@ -81,6 +81,7 @@ obj-$(CONFIG_LEDS_MT6323) += leds-mt6323.o obj-$(CONFIG_LEDS_LM3692X) += leds-lm3692x.o obj-$(CONFIG_LEDS_SC27XX_BLTC) += leds-sc27xx-bltc.o obj-$(CONFIG_LEDS_LM3601X) += leds-lm3601x.o @@ -694,5 +694,5 @@ index 000000000000..50713449003c + +#endif -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0009-ARM-dts-tegra20-glide-Samsung-SGH-I927-support.patch b/device/linux-samsung-i927/0007-ARM-dts-tegra20-glide-Samsung-SGH-I927-support.patch similarity index 99% rename from device/linux-samsung-i927/0009-ARM-dts-tegra20-glide-Samsung-SGH-I927-support.patch rename to device/linux-samsung-i927/0007-ARM-dts-tegra20-glide-Samsung-SGH-I927-support.patch index 237922c63..481efda8f 100644 --- a/device/linux-samsung-i927/0009-ARM-dts-tegra20-glide-Samsung-SGH-I927-support.patch +++ b/device/linux-samsung-i927/0007-ARM-dts-tegra20-glide-Samsung-SGH-I927-support.patch @@ -1,4 +1,4 @@ -From 9b7ba0a954eefd1b177fc351ce2f8c65ca39e7a3 Mon Sep 17 00:00:00 2001 +From 30dfad94dda522bce62cb635c26fadf9bbf5a24e Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sat, 26 Jan 2019 20:50:51 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: Samsung SGH-I927 support @@ -16,10 +16,10 @@ Signed-off-by: Sergey Larin create mode 100644 arch/arm/boot/dts/tegra20-glide.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index b0e966d625b9..0c4e7e5e27ba 100644 +index dab2914fa293..a7834dcc3d40 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -1078,7 +1078,8 @@ dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += \ +@@ -1131,7 +1131,8 @@ dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += \ tegra20-seaboard.dtb \ tegra20-tec.dtb \ tegra20-trimslice.dtb \ @@ -1327,5 +1327,5 @@ index 000000000000..32f59e7889be + }; +}; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0010-Input-stmpe-keypad-add-STMPE1801-support.patch b/device/linux-samsung-i927/0008-Input-stmpe-keypad-add-STMPE1801-support.patch similarity index 98% rename from device/linux-samsung-i927/0010-Input-stmpe-keypad-add-STMPE1801-support.patch rename to device/linux-samsung-i927/0008-Input-stmpe-keypad-add-STMPE1801-support.patch index 0d77d8f52..7c799bcf5 100644 --- a/device/linux-samsung-i927/0010-Input-stmpe-keypad-add-STMPE1801-support.patch +++ b/device/linux-samsung-i927/0008-Input-stmpe-keypad-add-STMPE1801-support.patch @@ -1,4 +1,4 @@ -From 2822f8beddd7daa36a8d6251c675646256f8dcee Mon Sep 17 00:00:00 2001 +From ac0ff2a53a6fec198bd30d2cdeaca27c6f7d2a01 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sun, 27 Jan 2019 02:11:24 +0300 Subject: [PATCH] Input: stmpe-keypad - add STMPE1801 support @@ -12,7 +12,7 @@ Signed-off-by: Sergey Larin 1 file changed, 85 insertions(+), 23 deletions(-) diff --git a/drivers/input/keyboard/stmpe-keypad.c b/drivers/input/keyboard/stmpe-keypad.c -index d69e631cfa0a..1e2423a0a598 100644 +index 7bf97285e30c..28a9cba7d4b7 100644 --- a/drivers/input/keyboard/stmpe-keypad.c +++ b/drivers/input/keyboard/stmpe-keypad.c @@ -13,7 +13,7 @@ @@ -221,5 +221,5 @@ index d69e631cfa0a..1e2423a0a598 100644 static void stmpe_keypad_fill_used_pins(struct stmpe_keypad *keypad, -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0008-iio-accel-kxcjk-Add-device-tree-support.patch b/device/linux-samsung-i927/0008-iio-accel-kxcjk-Add-device-tree-support.patch deleted file mode 100644 index 7d5492e25..000000000 --- a/device/linux-samsung-i927/0008-iio-accel-kxcjk-Add-device-tree-support.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 0a1b842f3974f3ee69129e598747a17921810bfd Mon Sep 17 00:00:00 2001 -From: ryang -Date: Tue, 18 Sep 2018 12:38:03 -0400 -Subject: [PATCH] iio: accel: kxcjk: Add device tree support - -(cherry picked from commit 3fb788f94dcb55414ba774211e21c80153fd21f5) -Signed-off-by: Sergey Larin ---- - drivers/iio/accel/kxcjk-1013.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/drivers/iio/accel/kxcjk-1013.c b/drivers/iio/accel/kxcjk-1013.c -index af53a1084ee5..3e13a837eb85 100644 ---- a/drivers/iio/accel/kxcjk-1013.c -+++ b/drivers/iio/accel/kxcjk-1013.c -@@ -1504,13 +1504,23 @@ static const struct i2c_device_id kxcjk1013_id[] = { - {"SMO8500", KXCJ91008}, - {} - }; -- - MODULE_DEVICE_TABLE(i2c, kxcjk1013_id); - -+static const struct of_device_id kxcjk1013_of_match[] = { -+ { .compatible = "kionix,kxcjk1013", }, -+ { .compatible = "kionix,kxcj91008", }, -+ { .compatible = "kionix,kxtj21009", }, -+ { .compatible = "kionix,kxtf9", }, -+ { .compatible = "kionix,SMO8500", }, -+ { } -+}; -+MODULE_DEVICE_TABLE(of, kxcjk1013_of_match); -+ - static struct i2c_driver kxcjk1013_driver = { - .driver = { - .name = KXCJK1013_DRV_NAME, - .acpi_match_table = ACPI_PTR(kx_acpi_match), -+ .of_match_table = of_match_ptr(kxcjk1013_of_match), - .pm = &kxcjk1013_pm_ops, - }, - .probe = kxcjk1013_probe, --- -2.20.1 - diff --git a/device/linux-samsung-i927/0011-Add-tegra_wm8994-driver.patch b/device/linux-samsung-i927/0009-Add-tegra_wm8994-driver.patch similarity index 98% rename from device/linux-samsung-i927/0011-Add-tegra_wm8994-driver.patch rename to device/linux-samsung-i927/0009-Add-tegra_wm8994-driver.patch index 8a8e63c70..e367cc850 100644 --- a/device/linux-samsung-i927/0011-Add-tegra_wm8994-driver.patch +++ b/device/linux-samsung-i927/0009-Add-tegra_wm8994-driver.patch @@ -1,4 +1,4 @@ -From 0dd90d3d51bed50ce9753c06659f72c94536eeb7 Mon Sep 17 00:00:00 2001 +From 4a165a7fca0de465672464243c56ba32dfa818fd Mon Sep 17 00:00:00 2001 From: ryang Date: Sat, 21 Apr 2018 09:33:37 -0400 Subject: [PATCH] Add tegra_wm8994 driver @@ -13,10 +13,10 @@ Signed-off-by: Sergey Larin create mode 100755 sound/soc/tegra/tegra_wm8994.c diff --git a/sound/soc/tegra/Kconfig b/sound/soc/tegra/Kconfig -index 6875fc39a575..a95c7feee491 100644 +index addadc827b91..f1018b271314 100644 --- a/sound/soc/tegra/Kconfig +++ b/sound/soc/tegra/Kconfig -@@ -86,6 +86,20 @@ config SND_SOC_TEGRA_WM8903 +@@ -87,6 +87,20 @@ config SND_SOC_TEGRA_WM8903 boards using the WM8093 codec. Currently, the supported boards are Harmony, Ventana, Seaboard, Kaen, and Aebl. @@ -516,5 +516,5 @@ index 000000000000..bf928d7f4813 +MODULE_ALIAS("platform:" DRV_NAME); +MODULE_DEVICE_TABLE(of, tegra_wm8994_of_match); -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0012-HACK-Fix-wm8994-Kconfig.patch b/device/linux-samsung-i927/0010-HACK-Fix-wm8994-Kconfig.patch similarity index 79% rename from device/linux-samsung-i927/0012-HACK-Fix-wm8994-Kconfig.patch rename to device/linux-samsung-i927/0010-HACK-Fix-wm8994-Kconfig.patch index 8c326553d..851315e67 100644 --- a/device/linux-samsung-i927/0012-HACK-Fix-wm8994-Kconfig.patch +++ b/device/linux-samsung-i927/0010-HACK-Fix-wm8994-Kconfig.patch @@ -1,4 +1,4 @@ -From aa3924de19ea515a7aa3309da9e779303f73d43e Mon Sep 17 00:00:00 2001 +From c042a1c5c29acfd5819b28b770ffb1a5ddd9e456 Mon Sep 17 00:00:00 2001 From: ryang Date: Sat, 26 May 2018 13:14:21 -0400 Subject: [PATCH] HACK: Fix wm8994 Kconfig @@ -10,10 +10,10 @@ Signed-off-by: Sergey Larin 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 9cc4f1848c9b..7bc76e5ebb82 100644 +index e730d47ac85b..81f6174ab405 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig -@@ -1255,7 +1255,7 @@ config SND_SOC_WM8993 +@@ -1331,7 +1331,7 @@ config SND_SOC_WM8993 tristate config SND_SOC_WM8994 @@ -23,5 +23,5 @@ index 9cc4f1848c9b..7bc76e5ebb82 100644 config SND_SOC_WM8995 tristate -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0013-ASoC-tegra_wm8994-cleanup.patch b/device/linux-samsung-i927/0011-ASoC-tegra_wm8994-cleanup.patch similarity index 97% rename from device/linux-samsung-i927/0013-ASoC-tegra_wm8994-cleanup.patch rename to device/linux-samsung-i927/0011-ASoC-tegra_wm8994-cleanup.patch index 2e9909e5d..b08427429 100644 --- a/device/linux-samsung-i927/0013-ASoC-tegra_wm8994-cleanup.patch +++ b/device/linux-samsung-i927/0011-ASoC-tegra_wm8994-cleanup.patch @@ -1,4 +1,4 @@ -From 392be1c5347b89a0c353e861a1222f925fe5b8a5 Mon Sep 17 00:00:00 2001 +From 3ad800934b0affed3c881112897b8014d17b29c6 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Mon, 28 Jan 2019 11:35:06 +0300 Subject: [PATCH] ASoC: tegra_wm8994: cleanup @@ -13,10 +13,10 @@ Signed-off-by: Sergey Larin 2 files changed, 158 deletions(-) diff --git a/sound/soc/tegra/Kconfig b/sound/soc/tegra/Kconfig -index a95c7feee491..99be3ef82d85 100644 +index f1018b271314..a77e83692bdc 100644 --- a/sound/soc/tegra/Kconfig +++ b/sound/soc/tegra/Kconfig -@@ -91,9 +91,6 @@ config SND_SOC_TEGRA_WM8994 +@@ -92,9 +92,6 @@ config SND_SOC_TEGRA_WM8994 depends on SND_SOC_TEGRA && I2C select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC select SND_SOC_TEGRA30_I2S if ARCH_TEGRA_3x_SOC @@ -207,5 +207,5 @@ index bf928d7f4813..87cb36df3bcf 100755 if (ret) { dev_err(&pdev->dev, "tegra_asoc_utils_init failed (%d)\n", -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0014-ARM-dts-tegra20-glide-Device-Tree-changes.patch b/device/linux-samsung-i927/0012-ARM-dts-tegra20-glide-Device-Tree-changes.patch similarity index 98% rename from device/linux-samsung-i927/0014-ARM-dts-tegra20-glide-Device-Tree-changes.patch rename to device/linux-samsung-i927/0012-ARM-dts-tegra20-glide-Device-Tree-changes.patch index 8ae2599d1..ab0b33c58 100644 --- a/device/linux-samsung-i927/0014-ARM-dts-tegra20-glide-Device-Tree-changes.patch +++ b/device/linux-samsung-i927/0012-ARM-dts-tegra20-glide-Device-Tree-changes.patch @@ -1,4 +1,4 @@ -From de104acc782c9bfd4a71f32f91e6a2a059873cdd Mon Sep 17 00:00:00 2001 +From 7c5d182e1cc50ac84a345da09b685dc049e3c748 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Mon, 28 Jan 2019 11:38:19 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: Device Tree changes @@ -137,5 +137,5 @@ index 32f59e7889be..f9dfb7ec3a3e 100644 + }; }; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0015-ARM-dts-tegra20-glide-add-memory-node-address.patch b/device/linux-samsung-i927/0013-ARM-dts-tegra20-glide-add-memory-node-address.patch similarity index 91% rename from device/linux-samsung-i927/0015-ARM-dts-tegra20-glide-add-memory-node-address.patch rename to device/linux-samsung-i927/0013-ARM-dts-tegra20-glide-add-memory-node-address.patch index c2eae28d1..a6d79096e 100644 --- a/device/linux-samsung-i927/0015-ARM-dts-tegra20-glide-add-memory-node-address.patch +++ b/device/linux-samsung-i927/0013-ARM-dts-tegra20-glide-add-memory-node-address.patch @@ -1,4 +1,4 @@ -From 73e3de92fdc2804a98b13de917dc218b065d3619 Mon Sep 17 00:00:00 2001 +From aaf6b02f2f24bb4a3d72a485894206baace3de9b Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Thu, 7 Feb 2019 13:21:15 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: add memory node address @@ -25,5 +25,5 @@ index f9dfb7ec3a3e..ddadfd998493 100644 reg = <0x00000000 0x40000000>; }; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0016-ARM-dts-tegra20-glide-comment-out-MHL.patch b/device/linux-samsung-i927/0014-ARM-dts-tegra20-glide-comment-out-MHL.patch similarity index 93% rename from device/linux-samsung-i927/0016-ARM-dts-tegra20-glide-comment-out-MHL.patch rename to device/linux-samsung-i927/0014-ARM-dts-tegra20-glide-comment-out-MHL.patch index 635f94185..84061cf06 100644 --- a/device/linux-samsung-i927/0016-ARM-dts-tegra20-glide-comment-out-MHL.patch +++ b/device/linux-samsung-i927/0014-ARM-dts-tegra20-glide-comment-out-MHL.patch @@ -1,4 +1,4 @@ -From 0e7b869a461dc005c786b97ab9d6a8b3718d8ae5 Mon Sep 17 00:00:00 2001 +From bd62ba68291c614fed975beed961b5e2636fcc6f Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Thu, 7 Feb 2019 13:26:02 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: comment out MHL @@ -50,5 +50,5 @@ index ddadfd998493..46e4d30b077a 100644 i2c@15 { -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0017-ARM-dts-tegra20-glide-fix-duplicate-i2c-bus-address.patch b/device/linux-samsung-i927/0015-ARM-dts-tegra20-glide-fix-duplicate-i2c-bus-address.patch similarity index 90% rename from device/linux-samsung-i927/0017-ARM-dts-tegra20-glide-fix-duplicate-i2c-bus-address.patch rename to device/linux-samsung-i927/0015-ARM-dts-tegra20-glide-fix-duplicate-i2c-bus-address.patch index cfc7052bb..afe9ffa5a 100644 --- a/device/linux-samsung-i927/0017-ARM-dts-tegra20-glide-fix-duplicate-i2c-bus-address.patch +++ b/device/linux-samsung-i927/0015-ARM-dts-tegra20-glide-fix-duplicate-i2c-bus-address.patch @@ -1,4 +1,4 @@ -From 21dec175043642df78f0cba6322cdf714fafdd9d Mon Sep 17 00:00:00 2001 +From f1fa9be3da588eb045bf73a3de29b67fc7004062 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Thu, 7 Feb 2019 13:30:45 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: fix duplicate i2c bus address @@ -24,5 +24,5 @@ index 46e4d30b077a..93a4f50f0710 100644 clock-frequency = <400000>; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0018-ARM-dts-tegra20-glide-fix-USB-gadget-mode.patch b/device/linux-samsung-i927/0016-ARM-dts-tegra20-glide-fix-USB-gadget-mode.patch similarity index 95% rename from device/linux-samsung-i927/0018-ARM-dts-tegra20-glide-fix-USB-gadget-mode.patch rename to device/linux-samsung-i927/0016-ARM-dts-tegra20-glide-fix-USB-gadget-mode.patch index ef70edbf2..18ceb5ac0 100644 --- a/device/linux-samsung-i927/0018-ARM-dts-tegra20-glide-fix-USB-gadget-mode.patch +++ b/device/linux-samsung-i927/0016-ARM-dts-tegra20-glide-fix-USB-gadget-mode.patch @@ -1,4 +1,4 @@ -From 1ae43bfcc1b331d1585714d7571539d609507638 Mon Sep 17 00:00:00 2001 +From 85321831353304bd8d8e63bf59f7e5b02694b6c6 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Thu, 7 Feb 2019 13:33:31 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: fix USB gadget mode @@ -55,5 +55,5 @@ index 93a4f50f0710..c582512936a6 100644 compatible = "mmc-pwrseq-simple"; clocks = <&tegra_car TEGRA20_CLK_BLINK>; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0019-ARM-dts-tegra20-glide-change-display-timings.patch b/device/linux-samsung-i927/0017-ARM-dts-tegra20-glide-change-display-timings.patch similarity index 94% rename from device/linux-samsung-i927/0019-ARM-dts-tegra20-glide-change-display-timings.patch rename to device/linux-samsung-i927/0017-ARM-dts-tegra20-glide-change-display-timings.patch index f730929a5..a89d03338 100644 --- a/device/linux-samsung-i927/0019-ARM-dts-tegra20-glide-change-display-timings.patch +++ b/device/linux-samsung-i927/0017-ARM-dts-tegra20-glide-change-display-timings.patch @@ -1,4 +1,4 @@ -From 17a78313603f9da233307ccaf178c1fa6689de99 Mon Sep 17 00:00:00 2001 +From 58b7bd9f4079d0e855b7a21976427ed7266c20db Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Thu, 7 Feb 2019 13:37:04 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: change display timings @@ -39,5 +39,5 @@ index c582512936a6..76493614f6df 100644 }; }; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0020-ARM-dts-tegra20-glide-add-intrrupt-binding-for-charg.patch b/device/linux-samsung-i927/0018-ARM-dts-tegra20-glide-add-intrrupt-binding-for-charg.patch similarity index 91% rename from device/linux-samsung-i927/0020-ARM-dts-tegra20-glide-add-intrrupt-binding-for-charg.patch rename to device/linux-samsung-i927/0018-ARM-dts-tegra20-glide-add-intrrupt-binding-for-charg.patch index 3f0b628de..0b167f51c 100644 --- a/device/linux-samsung-i927/0020-ARM-dts-tegra20-glide-add-intrrupt-binding-for-charg.patch +++ b/device/linux-samsung-i927/0018-ARM-dts-tegra20-glide-add-intrrupt-binding-for-charg.patch @@ -1,4 +1,4 @@ -From faf3aeb5d29682133c26da878f33a340cda6b90d Mon Sep 17 00:00:00 2001 +From 1a24e50b7e3538b4ca9dd1a1fe310b1effaf0aaf Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sat, 9 Feb 2019 18:30:12 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: add intrrupt binding for charger @@ -24,5 +24,5 @@ index 76493614f6df..cb219d1b1198 100644 }; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0021-drm-panel-s6e63m0-disable-rotation.patch b/device/linux-samsung-i927/0019-drm-panel-s6e63m0-disable-rotation.patch similarity index 65% rename from device/linux-samsung-i927/0021-drm-panel-s6e63m0-disable-rotation.patch rename to device/linux-samsung-i927/0019-drm-panel-s6e63m0-disable-rotation.patch index fdc16c9b1..11bec221c 100644 --- a/device/linux-samsung-i927/0021-drm-panel-s6e63m0-disable-rotation.patch +++ b/device/linux-samsung-i927/0019-drm-panel-s6e63m0-disable-rotation.patch @@ -1,9 +1,9 @@ -From dc2429062dd7e527b96cd03e5d2ca310df64e5c5 Mon Sep 17 00:00:00 2001 +From d70b9beaac828ec2da253c4b6e84b3d1afac5d8a Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sat, 9 Feb 2019 18:35:00 +0300 Subject: [PATCH] drm/panel: s6e63m0: disable rotation -Low part of GTCON register is responsible for flipping/rotation. +Low part of GTCON(IFCTL) register is responsible for flipping/rotation. This commit disables default rotation by 180 degrees. Signed-off-by: Sergey Larin @@ -12,18 +12,18 @@ Signed-off-by: Sergey Larin 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c b/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c -index 4312aa3e4386..dbd57239359e 100644 +index 142d395ea512..3c84f3c073ae 100644 --- a/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c +++ b/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c -@@ -200,7 +200,7 @@ static void s6e63m0_init(struct s6e63m0 *ctx) - s6e63m0_dcs_write_seq_static(ctx, MCS_DISPLAY_CONDITION, +@@ -190,7 +190,7 @@ static void s6e63m0_init(struct s6e63m0 *ctx) + s6e63m0_dcs_write_seq_static(ctx, MCS_DISCTL, 0x02, 0x03, 0x1c, 0x10, 0x10); - s6e63m0_dcs_write_seq_static(ctx, 0xf7, + s6e63m0_dcs_write_seq_static(ctx, MCS_IFCTL, - 0x03, 0x00, 0x00); + 0x00, 0x00, 0x00); - s6e63m0_dcs_write_seq_static(ctx, MCS_GAMMA_CTRL, + s6e63m0_dcs_write_seq_static(ctx, MCS_PGAMMACTL, 0x00, 0x18, 0x08, 0x24, 0x64, 0x56, 0x33, -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0022-ARM-dts-tegra20-glide-set-panel-reset-GPIO-pin-to-ac.patch b/device/linux-samsung-i927/0020-ARM-dts-tegra20-glide-set-panel-reset-GPIO-pin-to-ac.patch similarity index 92% rename from device/linux-samsung-i927/0022-ARM-dts-tegra20-glide-set-panel-reset-GPIO-pin-to-ac.patch rename to device/linux-samsung-i927/0020-ARM-dts-tegra20-glide-set-panel-reset-GPIO-pin-to-ac.patch index b6f9404d8..96a601e5f 100644 --- a/device/linux-samsung-i927/0022-ARM-dts-tegra20-glide-set-panel-reset-GPIO-pin-to-ac.patch +++ b/device/linux-samsung-i927/0020-ARM-dts-tegra20-glide-set-panel-reset-GPIO-pin-to-ac.patch @@ -1,4 +1,4 @@ -From aa393adbba669ab25251d241672ef9f418a85e8c Mon Sep 17 00:00:00 2001 +From 8b6c7500f016c3454dd0ba6dfb81a267e8bb7192 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sat, 9 Feb 2019 18:44:17 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: set panel reset GPIO pin to active @@ -25,5 +25,5 @@ index cb219d1b1198..87d737c62b0a 100644 panel-height-mm = <87>; /* 25 + 1 for regulator */ -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0023-power-supply-max17040-Fix-voltage-reporting.patch b/device/linux-samsung-i927/0021-power-supply-max17040-Fix-voltage-reporting.patch similarity index 92% rename from device/linux-samsung-i927/0023-power-supply-max17040-Fix-voltage-reporting.patch rename to device/linux-samsung-i927/0021-power-supply-max17040-Fix-voltage-reporting.patch index aa6ebee80..032d3bfa3 100644 --- a/device/linux-samsung-i927/0023-power-supply-max17040-Fix-voltage-reporting.patch +++ b/device/linux-samsung-i927/0021-power-supply-max17040-Fix-voltage-reporting.patch @@ -1,4 +1,4 @@ -From bac8eb35a16b6a0bc0969dc7d3fa862159519672 Mon Sep 17 00:00:00 2001 +From c0a73c04d982dc7e055436b4f101b36f51c8f2e5 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sat, 9 Feb 2019 18:47:19 +0300 Subject: [PATCH] power: supply: max17040: Fix voltage reporting @@ -26,5 +26,5 @@ index 91cafc7bed30..de5e791e0055 100644 static void max17040_get_soc(struct i2c_client *client) -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0024-power-supply-max17040-Set-initial-RCOMP-value.patch b/device/linux-samsung-i927/0022-power-supply-max17040-Set-initial-RCOMP-value.patch similarity index 92% rename from device/linux-samsung-i927/0024-power-supply-max17040-Set-initial-RCOMP-value.patch rename to device/linux-samsung-i927/0022-power-supply-max17040-Set-initial-RCOMP-value.patch index f48a4be96..1b80969f5 100644 --- a/device/linux-samsung-i927/0024-power-supply-max17040-Set-initial-RCOMP-value.patch +++ b/device/linux-samsung-i927/0022-power-supply-max17040-Set-initial-RCOMP-value.patch @@ -1,4 +1,4 @@ -From eab2e34a6db401c7477f3084fca8152155bebd8c Mon Sep 17 00:00:00 2001 +From 803cb62a1861bf76e65b17f559ab1bbf4970ce9b Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sat, 9 Feb 2019 19:00:23 +0300 Subject: [PATCH] power: supply: max17040: Set initial RCOMP value @@ -23,5 +23,5 @@ index de5e791e0055..dd75c8045ff1 100644 INIT_DEFERRABLE_WORK(&chip->work, max17040_work); queue_delayed_work(system_power_efficient_wq, &chip->work, -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0025-drm-panel-s6e63m0-Increase-back-porch.patch b/device/linux-samsung-i927/0023-drm-panel-s6e63m0-Increase-back-porch.patch similarity index 84% rename from device/linux-samsung-i927/0025-drm-panel-s6e63m0-Increase-back-porch.patch rename to device/linux-samsung-i927/0023-drm-panel-s6e63m0-Increase-back-porch.patch index 5e4a11cc7..f76652e4a 100644 --- a/device/linux-samsung-i927/0025-drm-panel-s6e63m0-Increase-back-porch.patch +++ b/device/linux-samsung-i927/0023-drm-panel-s6e63m0-Increase-back-porch.patch @@ -1,4 +1,4 @@ -From 191217e9006ab051cd2f18accc02582737fe0a38 Mon Sep 17 00:00:00 2001 +From 686aedfeba8decf53b126679266fd5849444ec87 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sat, 9 Feb 2019 20:13:26 +0300 Subject: [PATCH] drm/panel: s6e63m0: Increase back porch @@ -12,10 +12,10 @@ Signed-off-by: Sergey Larin 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c b/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c -index dbd57239359e..b77e3a774291 100644 +index 3c84f3c073ae..db2c34adf26d 100644 --- a/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c +++ b/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c -@@ -112,9 +112,9 @@ static const struct drm_display_mode default_mode = { +@@ -114,9 +114,9 @@ static const struct drm_display_mode default_mode = { .hsync_end = 480 + 16 + 2, .htotal = 480 + 16 + 2 + 16, .vdisplay = 800, @@ -29,5 +29,5 @@ index dbd57239359e..b77e3a774291 100644 .width_mm = 53, .height_mm = 89, -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0026-ARM-dts-tegra20-glide-fix-AK8975.patch b/device/linux-samsung-i927/0024-ARM-dts-tegra20-glide-fix-AK8975.patch similarity index 91% rename from device/linux-samsung-i927/0026-ARM-dts-tegra20-glide-fix-AK8975.patch rename to device/linux-samsung-i927/0024-ARM-dts-tegra20-glide-fix-AK8975.patch index a567c4028..cc9d7c00f 100644 --- a/device/linux-samsung-i927/0026-ARM-dts-tegra20-glide-fix-AK8975.patch +++ b/device/linux-samsung-i927/0024-ARM-dts-tegra20-glide-fix-AK8975.patch @@ -1,4 +1,4 @@ -From cc78d2d1c0b02ee1a94801c4a99924ed85808c41 Mon Sep 17 00:00:00 2001 +From 727e4b1a1d921520b5b5dc08869eb12b11ba248f Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sun, 10 Feb 2019 00:43:16 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: fix AK8975 @@ -25,5 +25,5 @@ index 87d737c62b0a..f1909f55d8e3 100644 }; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0027-Input-mcs_touchkey-Add-parse-DT-function-from-device.patch b/device/linux-samsung-i927/0025-Input-mcs_touchkey-Add-parse-DT-function-from-device.patch similarity index 89% rename from device/linux-samsung-i927/0027-Input-mcs_touchkey-Add-parse-DT-function-from-device.patch rename to device/linux-samsung-i927/0025-Input-mcs_touchkey-Add-parse-DT-function-from-device.patch index df9b9fd0d..911de0815 100644 --- a/device/linux-samsung-i927/0027-Input-mcs_touchkey-Add-parse-DT-function-from-device.patch +++ b/device/linux-samsung-i927/0025-Input-mcs_touchkey-Add-parse-DT-function-from-device.patch @@ -1,4 +1,4 @@ -From bc7a628192bb519681a3c93bc1e1ed3f79c358da Mon Sep 17 00:00:00 2001 +From 399193f1e688a210de9ef6fbab664218ba276c95 Mon Sep 17 00:00:00 2001 From: Beomho Seo Date: Mon, 12 Aug 2013 22:04:13 +0900 Subject: [PATCH] Input: mcs_touchkey: Add parse DT function from device tree @@ -11,10 +11,10 @@ Signed-off-by: Beomho Seo 1 file changed, 71 insertions(+), 4 deletions(-) diff --git a/drivers/input/keyboard/mcs_touchkey.c b/drivers/input/keyboard/mcs_touchkey.c -index be56d4f262a7..2c9d7f63b562 100644 +index 8cb0062b98e4..dae959a5c8f6 100644 --- a/drivers/input/keyboard/mcs_touchkey.c +++ b/drivers/input/keyboard/mcs_touchkey.c -@@ -19,6 +19,8 @@ +@@ -15,6 +15,8 @@ #include #include #include @@ -23,7 +23,7 @@ index be56d4f262a7..2c9d7f63b562 100644 /* MCS5000 Touchkey */ #define MCS5000_TOUCHKEY_STATUS 0x04 -@@ -96,6 +98,61 @@ static irqreturn_t mcs_touchkey_interrupt(int irq, void *dev_id) +@@ -92,6 +94,61 @@ static irqreturn_t mcs_touchkey_interrupt(int irq, void *dev_id) return IRQ_HANDLED; } @@ -85,7 +85,7 @@ index be56d4f262a7..2c9d7f63b562 100644 static int mcs_touchkey_probe(struct i2c_client *client, const struct i2c_device_id *id) { -@@ -107,10 +164,14 @@ static int mcs_touchkey_probe(struct i2c_client *client, +@@ -103,10 +160,14 @@ static int mcs_touchkey_probe(struct i2c_client *client, int error; int i; @@ -103,8 +103,8 @@ index be56d4f262a7..2c9d7f63b562 100644 + return PTR_ERR(pdata); } - data = kzalloc(sizeof(struct mcs_touchkey_data) + -@@ -262,10 +323,16 @@ static const struct i2c_device_id mcs_touchkey_id[] = { + data = kzalloc(struct_size(data, keycodes, pdata->key_maxval + 1), +@@ -257,10 +318,16 @@ static const struct i2c_device_id mcs_touchkey_id[] = { }; MODULE_DEVICE_TABLE(i2c, mcs_touchkey_id); @@ -122,5 +122,5 @@ index be56d4f262a7..2c9d7f63b562 100644 .probe = mcs_touchkey_probe, .remove = mcs_touchkey_remove, -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0028-input-keyboard-mcs_touchkey-Convert-to-devm_-managed.patch b/device/linux-samsung-i927/0026-input-keyboard-mcs_touchkey-Convert-to-devm_-managed.patch similarity index 75% rename from device/linux-samsung-i927/0028-input-keyboard-mcs_touchkey-Convert-to-devm_-managed.patch rename to device/linux-samsung-i927/0026-input-keyboard-mcs_touchkey-Convert-to-devm_-managed.patch index 0049b176e..606ba151c 100644 --- a/device/linux-samsung-i927/0028-input-keyboard-mcs_touchkey-Convert-to-devm_-managed.patch +++ b/device/linux-samsung-i927/0026-input-keyboard-mcs_touchkey-Convert-to-devm_-managed.patch @@ -1,4 +1,4 @@ -From c4ff1dc8430861193f894aa5cb7d4a816dc95b0d Mon Sep 17 00:00:00 2001 +From 4875c8f4b870d206bf05f5335c4bf1f35341b387 Mon Sep 17 00:00:00 2001 From: Beomho Seo Date: Mon, 13 Oct 2014 11:46:26 +0900 Subject: [PATCH] input: keyboard: mcs_touchkey:Convert to devm_* managed @@ -9,21 +9,21 @@ Tis patch use the devm_* managed functions to allocate resources. Change-Id: I9351869922b481a6791ca98f6dd3328d84424906 Signed-off-by: Beomho Seo --- - drivers/input/keyboard/mcs_touchkey.c | 27 +++++++++++---------------- - 1 file changed, 11 insertions(+), 16 deletions(-) + drivers/input/keyboard/mcs_touchkey.c | 28 ++++++++++++--------------- + 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/drivers/input/keyboard/mcs_touchkey.c b/drivers/input/keyboard/mcs_touchkey.c -index 2c9d7f63b562..933429c165b5 100644 +index dae959a5c8f6..b5e2a8a2d3d1 100644 --- a/drivers/input/keyboard/mcs_touchkey.c +++ b/drivers/input/keyboard/mcs_touchkey.c -@@ -174,14 +174,14 @@ static int mcs_touchkey_probe(struct i2c_client *client, +@@ -170,13 +170,14 @@ static int mcs_touchkey_probe(struct i2c_client *client, return PTR_ERR(pdata); } -- data = kzalloc(sizeof(struct mcs_touchkey_data) + -+ data = devm_kzalloc(&client->dev, sizeof(struct mcs_touchkey_data) + - sizeof(data->keycodes[0]) * (pdata->key_maxval + 1), - GFP_KERNEL); +- data = kzalloc(struct_size(data, keycodes, pdata->key_maxval + 1), ++ data = devm_kzalloc(&client->dev, ++ struct_size(data, keycodes, pdata->key_maxval + 1), + GFP_KERNEL); - input_dev = input_allocate_device(); + input_dev = devm_input_allocate_device(&client->dev); if (!data || !input_dev) { @@ -34,7 +34,7 @@ index 2c9d7f63b562..933429c165b5 100644 } data->client = client; -@@ -204,7 +204,7 @@ static int mcs_touchkey_probe(struct i2c_client *client, +@@ -199,7 +200,7 @@ static int mcs_touchkey_probe(struct i2c_client *client, if (fw_ver < 0) { error = fw_ver; dev_err(&client->dev, "i2c read error[%d]\n", error); @@ -43,7 +43,7 @@ index 2c9d7f63b562..933429c165b5 100644 } dev_info(&client->dev, "Firmware version: %d\n", fw_ver); -@@ -237,27 +237,22 @@ static int mcs_touchkey_probe(struct i2c_client *client, +@@ -232,27 +233,22 @@ static int mcs_touchkey_probe(struct i2c_client *client, data->poweron(true); } @@ -79,5 +79,5 @@ index 2c9d7f63b562..933429c165b5 100644 static int mcs_touchkey_remove(struct i2c_client *client) -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0029-input-keyboard-mcs_touchkey-add-sentinel-into-array-.patch b/device/linux-samsung-i927/0027-input-keyboard-mcs_touchkey-add-sentinel-into-array-.patch similarity index 83% rename from device/linux-samsung-i927/0029-input-keyboard-mcs_touchkey-add-sentinel-into-array-.patch rename to device/linux-samsung-i927/0027-input-keyboard-mcs_touchkey-add-sentinel-into-array-.patch index b142d9484..546a16153 100644 --- a/device/linux-samsung-i927/0029-input-keyboard-mcs_touchkey-add-sentinel-into-array-.patch +++ b/device/linux-samsung-i927/0027-input-keyboard-mcs_touchkey-add-sentinel-into-array-.patch @@ -1,4 +1,4 @@ -From 6497c54d598bd7b62c2a54a76d3246b155a1cc4b Mon Sep 17 00:00:00 2001 +From 869e15f976c669fbf6fcc8b4faeb7b43a4580686 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Thu, 4 Dec 2014 20:19:30 +0900 Subject: [PATCH] input: keyboard: mcs_touchkey: add sentinel into array of @@ -14,10 +14,10 @@ Signed-off-by: Seung-Woo Kim 1 file changed, 1 insertion(+) diff --git a/drivers/input/keyboard/mcs_touchkey.c b/drivers/input/keyboard/mcs_touchkey.c -index 933429c165b5..21ceea6bbff5 100644 +index b5e2a8a2d3d1..cd26a5560449 100644 --- a/drivers/input/keyboard/mcs_touchkey.c +++ b/drivers/input/keyboard/mcs_touchkey.c -@@ -321,6 +321,7 @@ MODULE_DEVICE_TABLE(i2c, mcs_touchkey_id); +@@ -317,6 +317,7 @@ MODULE_DEVICE_TABLE(i2c, mcs_touchkey_id); static struct of_device_id mcs_touchkey_dt_match[] = { { .compatible = "mcs5000_touchkey", }, { .compatible = "mcs5080_touchkey", }, @@ -26,5 +26,5 @@ index 933429c165b5..21ceea6bbff5 100644 static struct i2c_driver mcs_touchkey_driver = { -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0030-TRATS2-dts-exynos4412-m0.dts-Add-mcs-touchkey-node.patch b/device/linux-samsung-i927/0028-TRATS2-dts-exynos4412-m0.dts-Add-mcs-touchkey-node.patch similarity index 95% rename from device/linux-samsung-i927/0030-TRATS2-dts-exynos4412-m0.dts-Add-mcs-touchkey-node.patch rename to device/linux-samsung-i927/0028-TRATS2-dts-exynos4412-m0.dts-Add-mcs-touchkey-node.patch index 5bbd98a97..475f91838 100644 --- a/device/linux-samsung-i927/0030-TRATS2-dts-exynos4412-m0.dts-Add-mcs-touchkey-node.patch +++ b/device/linux-samsung-i927/0028-TRATS2-dts-exynos4412-m0.dts-Add-mcs-touchkey-node.patch @@ -1,4 +1,4 @@ -From ecda374fe948e278635b6146320e5a569097b6a6 Mon Sep 17 00:00:00 2001 +From ee20adbc92dde3253b807247df3e512a25f333b8 Mon Sep 17 00:00:00 2001 From: Beomho Seo Date: Mon, 12 Aug 2013 21:51:45 +0900 Subject: [PATCH] TRATS2: dts: exynos4412-m0.dts: Add mcs-touchkey node @@ -45,5 +45,5 @@ index 000000000000..545454112a43 + /* ... */ + }; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0031-ARM-dts-tegra20-glide-Add-touchkey-binding.patch b/device/linux-samsung-i927/0029-ARM-dts-tegra20-glide-Add-touchkey-binding.patch similarity index 94% rename from device/linux-samsung-i927/0031-ARM-dts-tegra20-glide-Add-touchkey-binding.patch rename to device/linux-samsung-i927/0029-ARM-dts-tegra20-glide-Add-touchkey-binding.patch index 7bd31c1a3..882d7f637 100644 --- a/device/linux-samsung-i927/0031-ARM-dts-tegra20-glide-Add-touchkey-binding.patch +++ b/device/linux-samsung-i927/0029-ARM-dts-tegra20-glide-Add-touchkey-binding.patch @@ -1,4 +1,4 @@ -From 5efe0ea2a8014795c7c5926f257336394ce2177e Mon Sep 17 00:00:00 2001 +From 41e9df869d6d0e5b5e9bce90851e15fccdc51215 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sun, 10 Feb 2019 13:19:50 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: Add touchkey binding @@ -42,5 +42,5 @@ index f1909f55d8e3..89f0002789ea 100644 i2c@20 { -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0032-ARM-dts-tegra20-glide-Add-keyboard-backlight-LED.patch b/device/linux-samsung-i927/0030-ARM-dts-tegra20-glide-Add-keyboard-backlight-LED.patch similarity index 92% rename from device/linux-samsung-i927/0032-ARM-dts-tegra20-glide-Add-keyboard-backlight-LED.patch rename to device/linux-samsung-i927/0030-ARM-dts-tegra20-glide-Add-keyboard-backlight-LED.patch index e95bedea0..a947ac4b7 100644 --- a/device/linux-samsung-i927/0032-ARM-dts-tegra20-glide-Add-keyboard-backlight-LED.patch +++ b/device/linux-samsung-i927/0030-ARM-dts-tegra20-glide-Add-keyboard-backlight-LED.patch @@ -1,4 +1,4 @@ -From dd1d90e46c9f1a5d0757330ee2d5801962e9ef60 Mon Sep 17 00:00:00 2001 +From 41c63421d3711853cffdf37fb05f2234a5bc59e1 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sun, 10 Feb 2019 13:21:07 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: Add keyboard backlight LED @@ -33,5 +33,5 @@ index 89f0002789ea..3d419e094665 100644 nvidia,invert-interrupt; nvidia,suspend-mode = <0>; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0033-input-keyboard-mcs_touchkey-LED-support.patch b/device/linux-samsung-i927/0031-input-keyboard-mcs_touchkey-LED-support.patch similarity index 89% rename from device/linux-samsung-i927/0033-input-keyboard-mcs_touchkey-LED-support.patch rename to device/linux-samsung-i927/0031-input-keyboard-mcs_touchkey-LED-support.patch index 42d1dc2c4..b5f216a11 100644 --- a/device/linux-samsung-i927/0033-input-keyboard-mcs_touchkey-LED-support.patch +++ b/device/linux-samsung-i927/0031-input-keyboard-mcs_touchkey-LED-support.patch @@ -1,4 +1,4 @@ -From e91d56736df792ebe7da24644ea551a14b68db7a Mon Sep 17 00:00:00 2001 +From 2ba7eb1a5abad5659b6dfbb2ab0164dc9529212a Mon Sep 17 00:00:00 2001 From: "Kim, HeungJun" Date: Mon, 15 Nov 2010 13:33:30 +0900 Subject: [PATCH] input: keyboard: mcs_touchkey: LED support @@ -12,10 +12,10 @@ Signed-off-by: Sergey Larin 2 files changed, 57 insertions(+), 5 deletions(-) diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig -index 4713957b0cbb..38578298491b 100644 +index 7c4f19dab34f..74c733dff9d6 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig -@@ -397,6 +397,7 @@ config KEYBOARD_MAX7359 +@@ -409,6 +409,7 @@ config KEYBOARD_MAX7359 config KEYBOARD_MCS tristate "MELFAS MCS Touchkey" depends on I2C @@ -24,10 +24,10 @@ index 4713957b0cbb..38578298491b 100644 Say Y here if you have the MELFAS MCS5000/5080 touchkey controller chip in your system. diff --git a/drivers/input/keyboard/mcs_touchkey.c b/drivers/input/keyboard/mcs_touchkey.c -index 21ceea6bbff5..36acbaea9aa1 100644 +index cd26a5560449..a0a168625c06 100644 --- a/drivers/input/keyboard/mcs_touchkey.c +++ b/drivers/input/keyboard/mcs_touchkey.c -@@ -21,18 +21,26 @@ +@@ -17,18 +17,26 @@ #include #include #include @@ -54,7 +54,7 @@ index 21ceea6bbff5..36acbaea9aa1 100644 enum mcs_touchkey_type { MCS5000_TOUCHKEY, -@@ -44,6 +52,8 @@ struct mcs_touchkey_chip { +@@ -40,6 +48,8 @@ struct mcs_touchkey_chip { unsigned int pressbit; unsigned int press_invert; unsigned int baseval; @@ -63,7 +63,7 @@ index 21ceea6bbff5..36acbaea9aa1 100644 }; struct mcs_touchkey_data { -@@ -54,9 +64,25 @@ struct mcs_touchkey_data { +@@ -50,9 +60,25 @@ struct mcs_touchkey_data { struct mcs_touchkey_chip chip; unsigned int key_code; unsigned int key_val; @@ -89,7 +89,7 @@ index 21ceea6bbff5..36acbaea9aa1 100644 static irqreturn_t mcs_touchkey_interrupt(int irq, void *dev_id) { struct mcs_touchkey_data *data = dev_id; -@@ -65,12 +91,21 @@ static irqreturn_t mcs_touchkey_interrupt(int irq, void *dev_id) +@@ -61,12 +87,21 @@ static irqreturn_t mcs_touchkey_interrupt(int irq, void *dev_id) struct input_dev *input = data->input_dev; unsigned int key_val; unsigned int pressed; @@ -116,7 +116,7 @@ index 21ceea6bbff5..36acbaea9aa1 100644 } pressed = (val & (1 << chip->pressbit)) >> chip->pressbit; -@@ -191,12 +226,16 @@ static int mcs_touchkey_probe(struct i2c_client *client, +@@ -187,12 +222,16 @@ static int mcs_touchkey_probe(struct i2c_client *client, data->chip.status_reg = MCS5000_TOUCHKEY_STATUS; data->chip.pressbit = MCS5000_TOUCHKEY_STATUS_PRESS; data->chip.baseval = MCS5000_TOUCHKEY_BASE_VAL; @@ -133,7 +133,7 @@ index 21ceea6bbff5..36acbaea9aa1 100644 fw_reg = MCS5080_TOUCHKEY_FW; } -@@ -252,6 +291,18 @@ static int mcs_touchkey_probe(struct i2c_client *client, +@@ -248,6 +287,18 @@ static int mcs_touchkey_probe(struct i2c_client *client, i2c_set_clientdata(client, data); @@ -153,5 +153,5 @@ index 21ceea6bbff5..36acbaea9aa1 100644 } -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0034-ARM-dts-tegra20-glide-Add-HALL-GPIO-binding.patch b/device/linux-samsung-i927/0032-ARM-dts-tegra20-glide-Add-HALL-GPIO-binding.patch similarity index 95% rename from device/linux-samsung-i927/0034-ARM-dts-tegra20-glide-Add-HALL-GPIO-binding.patch rename to device/linux-samsung-i927/0032-ARM-dts-tegra20-glide-Add-HALL-GPIO-binding.patch index 26dce16db..2ae7ad80f 100644 --- a/device/linux-samsung-i927/0034-ARM-dts-tegra20-glide-Add-HALL-GPIO-binding.patch +++ b/device/linux-samsung-i927/0032-ARM-dts-tegra20-glide-Add-HALL-GPIO-binding.patch @@ -1,4 +1,4 @@ -From ceeecef75e5faa16a3f435eb25bb66c3d983a345 Mon Sep 17 00:00:00 2001 +From 2928e35e48296db3c9bca2630357f7c08056ecda Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sun, 10 Feb 2019 16:55:18 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: Add HALL GPIO binding @@ -44,5 +44,5 @@ index 3d419e094665..ab30b1b8cc29 100644 spi@7000d800 { -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0035-ARM-dts-tegra20-glide-Change-keyboard-keycodes.patch b/device/linux-samsung-i927/0033-ARM-dts-tegra20-glide-Change-keyboard-keycodes.patch similarity index 97% rename from device/linux-samsung-i927/0035-ARM-dts-tegra20-glide-Change-keyboard-keycodes.patch rename to device/linux-samsung-i927/0033-ARM-dts-tegra20-glide-Change-keyboard-keycodes.patch index e57b2c59f..f23b55569 100644 --- a/device/linux-samsung-i927/0035-ARM-dts-tegra20-glide-Change-keyboard-keycodes.patch +++ b/device/linux-samsung-i927/0033-ARM-dts-tegra20-glide-Change-keyboard-keycodes.patch @@ -1,4 +1,4 @@ -From bb7a98455d6ea2ec660621ff047060a4a9816f3e Mon Sep 17 00:00:00 2001 +From b1bf7e12c7ab8c8dd1e6b5223888f076ff866c4a Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sun, 17 Feb 2019 17:05:40 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: Change keyboard keycodes @@ -72,5 +72,5 @@ index ab30b1b8cc29..f2b1805fc8cf 100644 stmpegpio: stmpe_gpio { -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0036-ARM-dts-tegra20-glide-Fix-UART-bindings.patch b/device/linux-samsung-i927/0034-ARM-dts-tegra20-glide-Fix-UART-bindings.patch similarity index 97% rename from device/linux-samsung-i927/0036-ARM-dts-tegra20-glide-Fix-UART-bindings.patch rename to device/linux-samsung-i927/0034-ARM-dts-tegra20-glide-Fix-UART-bindings.patch index f64116539..aca5fd364 100644 --- a/device/linux-samsung-i927/0036-ARM-dts-tegra20-glide-Fix-UART-bindings.patch +++ b/device/linux-samsung-i927/0034-ARM-dts-tegra20-glide-Fix-UART-bindings.patch @@ -1,4 +1,4 @@ -From f2965a337e9971f338d663fc5baa19d08865acad Mon Sep 17 00:00:00 2001 +From 59831748951e92720700af72cf75f185e96afb8d Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sat, 23 Feb 2019 21:03:21 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: Fix UART bindings @@ -124,5 +124,5 @@ index f2b1805fc8cf..751c67924310 100644 status = "okay"; }; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0037-ARM-dts-tegra20-glide-USB-OTG-mode-and-power.patch b/device/linux-samsung-i927/0035-ARM-dts-tegra20-glide-USB-OTG-mode-and-power.patch similarity index 97% rename from device/linux-samsung-i927/0037-ARM-dts-tegra20-glide-USB-OTG-mode-and-power.patch rename to device/linux-samsung-i927/0035-ARM-dts-tegra20-glide-USB-OTG-mode-and-power.patch index 470438bdf..4fdc6376e 100644 --- a/device/linux-samsung-i927/0037-ARM-dts-tegra20-glide-USB-OTG-mode-and-power.patch +++ b/device/linux-samsung-i927/0035-ARM-dts-tegra20-glide-USB-OTG-mode-and-power.patch @@ -1,4 +1,4 @@ -From 5edeb7774dc89c4ba385eb066e31fa1e8774630c Mon Sep 17 00:00:00 2001 +From 9af18d58ad5b4f5d99bd1ae080d615892dbaee88 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sat, 23 Feb 2019 21:14:49 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: USB OTG mode and power @@ -100,5 +100,5 @@ index 751c67924310..aa6cb3a78b2d 100644 compatible = "nvidia,tegra-audio-wm8994"; nvidia,model = "wm8994-aif1"; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0038-ARM-dts-tegra20-glide-Remove-WiFi-host-wake-GPIO.patch b/device/linux-samsung-i927/0036-ARM-dts-tegra20-glide-Remove-WiFi-host-wake-GPIO.patch similarity index 91% rename from device/linux-samsung-i927/0038-ARM-dts-tegra20-glide-Remove-WiFi-host-wake-GPIO.patch rename to device/linux-samsung-i927/0036-ARM-dts-tegra20-glide-Remove-WiFi-host-wake-GPIO.patch index acccf1c6b..62c5a25ee 100644 --- a/device/linux-samsung-i927/0038-ARM-dts-tegra20-glide-Remove-WiFi-host-wake-GPIO.patch +++ b/device/linux-samsung-i927/0036-ARM-dts-tegra20-glide-Remove-WiFi-host-wake-GPIO.patch @@ -1,4 +1,4 @@ -From c68a5b3ceb2a8997a87d9a0bb3370facb9d242b2 Mon Sep 17 00:00:00 2001 +From 4c66aee456ae81c584647bb4f55a9a1bcd5adf26 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sat, 23 Feb 2019 21:26:15 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: Remove WiFi host-wake GPIO @@ -25,5 +25,5 @@ index aa6cb3a78b2d..d7dfa895cf56 100644 }; -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0039-ARM-dts-tegra20-glide-Add-bindings-for-microphone.patch b/device/linux-samsung-i927/0037-ARM-dts-tegra20-glide-Add-bindings-for-microphone.patch similarity index 95% rename from device/linux-samsung-i927/0039-ARM-dts-tegra20-glide-Add-bindings-for-microphone.patch rename to device/linux-samsung-i927/0037-ARM-dts-tegra20-glide-Add-bindings-for-microphone.patch index 4cac46bbe..f3e98b12b 100644 --- a/device/linux-samsung-i927/0039-ARM-dts-tegra20-glide-Add-bindings-for-microphone.patch +++ b/device/linux-samsung-i927/0037-ARM-dts-tegra20-glide-Add-bindings-for-microphone.patch @@ -1,4 +1,4 @@ -From baf8ef830ce0bd32708b131a592c9cc01467c83b Mon Sep 17 00:00:00 2001 +From 32e6469e95ebbb3f8178eb79db3b1d53a2584f91 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Sun, 24 Feb 2019 18:20:08 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: Add bindings for microphone @@ -54,5 +54,5 @@ index d7dfa895cf56..195ccb0a1012 100644 pmc@7000e400 { -- -2.20.1 +2.22.0 diff --git a/device/linux-samsung-i927/0038-extcon-Add-fsa9480-extcon-driver.patch b/device/linux-samsung-i927/0038-extcon-Add-fsa9480-extcon-driver.patch new file mode 100644 index 000000000..14db55314 --- /dev/null +++ b/device/linux-samsung-i927/0038-extcon-Add-fsa9480-extcon-driver.patch @@ -0,0 +1,475 @@ +From cd9f564d0e9c26495bf161cd5b802fbf461dbcbc Mon Sep 17 00:00:00 2001 +From: Tomasz Figa +Date: Sat, 4 Jan 2014 01:47:25 +0100 +Subject: [PATCH] extcon: Add fsa9480 extcon driver +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch adds extcon driver for Fairchild Semiconductor FSA9480 +microUSB switch. + +Signed-off-by: Tomasz Figa +Signed-off-by: Jonathan Bakker +Signed-off-by: Paweł Chmiel +--- + drivers/extcon/Kconfig | 10 + + drivers/extcon/Makefile | 1 + + drivers/extcon/extcon-fsa9480.c | 412 ++++++++++++++++++++++++++++++++ + 3 files changed, 423 insertions(+) + create mode 100644 drivers/extcon/extcon-fsa9480.c + +diff --git a/drivers/extcon/Kconfig b/drivers/extcon/Kconfig +index 6f5af4196b8d..13a42f8751ae 100644 +--- a/drivers/extcon/Kconfig ++++ b/drivers/extcon/Kconfig +@@ -37,6 +37,16 @@ config EXTCON_AXP288 + Say Y here to enable support for USB peripheral detection + and USB MUX switching by X-Power AXP288 PMIC. + ++config EXTCON_FSA9480 ++ tristate "FSA9480 EXTCON Support" ++ depends on INPUT ++ help ++ If you say yes here you get support for the Fairchild Semiconductor ++ FSA9480 microUSB switch and accessory detector chip. The FSA9480 is a USB ++ port accessory detector and switch. The FSA9480 is fully controlled using ++ I2C and enables USB data, stereo and mono audio, video, microphone ++ and UART data to use a common connector port. ++ + config EXTCON_GPIO + tristate "GPIO extcon support" + depends on GPIOLIB || COMPILE_TEST +diff --git a/drivers/extcon/Makefile b/drivers/extcon/Makefile +index d3941a735df3..52096fd8a216 100644 +--- a/drivers/extcon/Makefile ++++ b/drivers/extcon/Makefile +@@ -8,6 +8,7 @@ extcon-core-objs += extcon.o devres.o + obj-$(CONFIG_EXTCON_ADC_JACK) += extcon-adc-jack.o + obj-$(CONFIG_EXTCON_ARIZONA) += extcon-arizona.o + obj-$(CONFIG_EXTCON_AXP288) += extcon-axp288.o ++obj-$(CONFIG_EXTCON_FSA9480) += extcon-fsa9480.o + obj-$(CONFIG_EXTCON_GPIO) += extcon-gpio.o + obj-$(CONFIG_EXTCON_INTEL_INT3496) += extcon-intel-int3496.o + obj-$(CONFIG_EXTCON_INTEL_CHT_WC) += extcon-intel-cht-wc.o +diff --git a/drivers/extcon/extcon-fsa9480.c b/drivers/extcon/extcon-fsa9480.c +new file mode 100644 +index 000000000000..8365c222ca80 +--- /dev/null ++++ b/drivers/extcon/extcon-fsa9480.c +@@ -0,0 +1,412 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * extcon-fsa9480.c - Fairchild Semiconductor FSA9480 extcon driver ++ * ++ * Copyright (c) 2014 Tomasz Figa ++ * ++ * Loosely based on old fsa9480 misc-device driver. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* FSA9480 I2C registers */ ++#define FSA9480_REG_DEVID 0x01 ++#define FSA9480_REG_CTRL 0x02 ++#define FSA9480_REG_INT1 0x03 ++#define FSA9480_REG_INT2 0x04 ++#define FSA9480_REG_INT1_MASK 0x05 ++#define FSA9480_REG_INT2_MASK 0x06 ++#define FSA9480_REG_ADC 0x07 ++#define FSA9480_REG_TIMING1 0x08 ++#define FSA9480_REG_TIMING2 0x09 ++#define FSA9480_REG_DEV_T1 0x0a ++#define FSA9480_REG_DEV_T2 0x0b ++#define FSA9480_REG_BTN1 0x0c ++#define FSA9480_REG_BTN2 0x0d ++#define FSA9480_REG_CK 0x0e ++#define FSA9480_REG_CK_INT1 0x0f ++#define FSA9480_REG_CK_INT2 0x10 ++#define FSA9480_REG_CK_INTMASK1 0x11 ++#define FSA9480_REG_CK_INTMASK2 0x12 ++#define FSA9480_REG_MANSW1 0x13 ++#define FSA9480_REG_MANSW2 0x14 ++#define FSA9480_REG_END 0x15 ++ ++/* Control */ ++#define CON_SWITCH_OPEN (1 << 4) ++#define CON_RAW_DATA (1 << 3) ++#define CON_MANUAL_SW (1 << 2) ++#define CON_WAIT (1 << 1) ++#define CON_INT_MASK (1 << 0) ++#define CON_MASK (CON_SWITCH_OPEN | CON_RAW_DATA | \ ++ CON_MANUAL_SW | CON_WAIT) ++ ++/* Device Type 1 */ ++#define DEV_USB_OTG 7 ++#define DEV_DEDICATED_CHG 6 ++#define DEV_USB_CHG 5 ++#define DEV_CAR_KIT 4 ++#define DEV_UART 3 ++#define DEV_USB 2 ++#define DEV_AUDIO_2 1 ++#define DEV_AUDIO_1 0 ++ ++#define DEV_T1_USB_MASK (DEV_USB_OTG | DEV_USB) ++#define DEV_T1_UART_MASK (DEV_UART) ++#define DEV_T1_CHARGER_MASK (DEV_DEDICATED_CHG | DEV_USB_CHG) ++ ++/* Device Type 2 */ ++#define DEV_AV 14 ++#define DEV_TTY 13 ++#define DEV_PPD 12 ++#define DEV_JIG_UART_OFF 11 ++#define DEV_JIG_UART_ON 10 ++#define DEV_JIG_USB_OFF 9 ++#define DEV_JIG_USB_ON 8 ++ ++#define DEV_T2_USB_MASK (DEV_JIG_USB_OFF | DEV_JIG_USB_ON) ++#define DEV_T2_UART_MASK (DEV_JIG_UART_OFF | DEV_JIG_UART_ON) ++#define DEV_T2_JIG_MASK (DEV_JIG_USB_OFF | DEV_JIG_USB_ON | \ ++ DEV_JIG_UART_OFF | DEV_JIG_UART_ON) ++ ++/* ++ * Manual Switch ++ * D- [7:5] / D+ [4:2] ++ * 000: Open all / 001: USB / 010: AUDIO / 011: UART / 100: V_AUDIO ++ */ ++#define SW_VAUDIO ((4 << 5) | (4 << 2)) ++#define SW_UART ((3 << 5) | (3 << 2)) ++#define SW_AUDIO ((2 << 5) | (2 << 2)) ++#define SW_DHOST ((1 << 5) | (1 << 2)) ++#define SW_AUTO ((0 << 5) | (0 << 2)) ++ ++/* Interrupt 1 */ ++#define INT1_MASK (0xff << 0) ++#define INT_DETACH (1 << 1) ++#define INT_ATTACH (1 << 0) ++ ++/* Interrupt 2 mask */ ++#define INT2_MASK (0x1f << 0) ++ ++/* Timing Set 1 */ ++#define TIMING1_ADC_500MS (0x6 << 0) ++ ++struct fsa9480_usbsw { ++ struct device *dev; ++ struct regmap *regmap; ++ struct extcon_dev *edev; ++ u16 cable; ++}; ++ ++static const unsigned int fsa9480_extcon_cable[] = { ++ EXTCON_USB_HOST, ++ EXTCON_USB, ++ EXTCON_CHG_USB_DCP, ++ EXTCON_CHG_USB_SDP, ++ EXTCON_CHG_USB_ACA, ++ EXTCON_JACK_LINE_OUT, ++ EXTCON_JACK_VIDEO_OUT, ++ EXTCON_JIG, ++ ++ EXTCON_NONE, ++}; ++ ++static const u64 cable_types[] = { ++ [DEV_USB_OTG] = BIT_ULL(EXTCON_USB_HOST), ++ [DEV_DEDICATED_CHG] = BIT_ULL(EXTCON_USB) | BIT_ULL(EXTCON_CHG_USB_DCP), ++ [DEV_USB_CHG] = BIT_ULL(EXTCON_USB) | BIT_ULL(EXTCON_CHG_USB_SDP), ++ [DEV_CAR_KIT] = BIT_ULL(EXTCON_USB) | BIT_ULL(EXTCON_CHG_USB_SDP) ++ | BIT_ULL(EXTCON_JACK_LINE_OUT), ++ [DEV_UART] = BIT_ULL(EXTCON_JIG), ++ [DEV_USB] = BIT_ULL(EXTCON_USB) | BIT_ULL(EXTCON_CHG_USB_SDP), ++ [DEV_AUDIO_2] = BIT_ULL(EXTCON_JACK_LINE_OUT), ++ [DEV_AUDIO_1] = BIT_ULL(EXTCON_JACK_LINE_OUT), ++ [DEV_AV] = BIT_ULL(EXTCON_JACK_LINE_OUT) ++ | BIT_ULL(EXTCON_JACK_VIDEO_OUT), ++ [DEV_TTY] = BIT_ULL(EXTCON_JIG), ++ [DEV_PPD] = BIT_ULL(EXTCON_JACK_LINE_OUT) | BIT_ULL(EXTCON_CHG_USB_ACA), ++ [DEV_JIG_UART_OFF] = BIT_ULL(EXTCON_JIG), ++ [DEV_JIG_UART_ON] = BIT_ULL(EXTCON_JIG), ++ [DEV_JIG_USB_OFF] = BIT_ULL(EXTCON_USB) | BIT_ULL(EXTCON_JIG), ++ [DEV_JIG_USB_ON] = BIT_ULL(EXTCON_USB) | BIT_ULL(EXTCON_JIG), ++}; ++ ++/* Define interrupt list of FSA9480 to register regmap_irq */ ++static const struct regmap_irq fsa9480_irqs[] = { ++ /* INT1 interrupts */ ++ { .reg_offset = 0, .mask = INT_ATTACH, }, ++ { .reg_offset = 0, .mask = INT_DETACH, }, ++}; ++ ++static const struct regmap_irq_chip fsa9480_irq_chip = { ++ .name = "fsa9480", ++ .status_base = FSA9480_REG_INT1, ++ .mask_base = FSA9480_REG_INT1_MASK, ++ .mask_invert = false, ++ .num_regs = 1, ++ .irqs = fsa9480_irqs, ++ .num_irqs = ARRAY_SIZE(fsa9480_irqs), ++}; ++ ++/* Define regmap configuration of FSA9480 for I2C communication */ ++static bool fsa9480_volatile_reg(struct device *dev, unsigned int reg) ++{ ++ switch (reg) { ++ case FSA9480_REG_INT1_MASK: ++ return true; ++ default: ++ break; ++ } ++ return false; ++} ++ ++static const struct regmap_config fsa9480_regmap_config = { ++ .reg_bits = 8, ++ .val_bits = 8, ++ .volatile_reg = fsa9480_volatile_reg, ++ .max_register = FSA9480_REG_END, ++}; ++ ++static int fsa9480_write_reg(struct fsa9480_usbsw *usbsw, int reg, int value) ++{ ++ int ret; ++ ++ ret = regmap_write(usbsw->regmap, reg, value); ++ if (ret < 0) ++ dev_err(usbsw->dev, "%s: err %d\n", __func__, ret); ++ ++ return ret; ++} ++ ++static int fsa9480_read_reg(struct fsa9480_usbsw *usbsw, int reg) ++{ ++ int ret, val; ++ ++ ret = regmap_read(usbsw->regmap, reg, &val); ++ if (ret < 0) { ++ dev_err(usbsw->dev, "%s: err %d\n", __func__, ret); ++ return ret; ++ } ++ ++ return val; ++} ++ ++static int fsa9480_read_irq(struct fsa9480_usbsw *usbsw, int *value) ++{ ++ u8 regs[2]; ++ int ret; ++ ++ ret = regmap_bulk_read(usbsw->regmap, FSA9480_REG_INT1, regs, 2); ++ if (ret < 0) ++ dev_err(usbsw->dev, "%s: err %d\n", __func__, ret); ++ ++ *value = regs[1] << 8 | regs[0]; ++ return ret; ++} ++ ++static void fsa9480_handle_change(struct fsa9480_usbsw *usbsw, ++ u16 mask, bool attached) ++{ ++ while (mask) { ++ int dev = fls64(mask) - 1; ++ u64 cables = cable_types[dev]; ++ ++ while (cables) { ++ int cable = fls64(cables) - 1; ++ ++ extcon_set_state_sync(usbsw->edev, cable, attached); ++ cables &= ~BIT_ULL(cable); ++ } ++ ++ mask &= ~BIT_ULL(dev); ++ } ++} ++ ++static void fsa9480_detect_dev(struct fsa9480_usbsw *usbsw) ++{ ++ int val1, val2; ++ u16 val; ++ ++ val1 = fsa9480_read_reg(usbsw, FSA9480_REG_DEV_T1); ++ val2 = fsa9480_read_reg(usbsw, FSA9480_REG_DEV_T2); ++ if (val1 < 0 || val2 < 0) { ++ dev_err(usbsw->dev, "%s: failed to read registers", __func__); ++ return; ++ } ++ val = val2 << 8 | val1; ++ ++ dev_info(usbsw->dev, "dev1: 0x%x, dev2: 0x%x\n", val1, val2); ++ ++ /* handle detached cables first */ ++ fsa9480_handle_change(usbsw, usbsw->cable & ~val, false); ++ ++ /* then handle attached ones */ ++ fsa9480_handle_change(usbsw, val & ~usbsw->cable, true); ++ ++ usbsw->cable = val; ++} ++ ++static irqreturn_t fsa9480_irq_handler(int irq, void *data) ++{ ++ struct fsa9480_usbsw *usbsw = data; ++ int intr = 0; ++ ++ /* clear interrupt */ ++ fsa9480_read_irq(usbsw, &intr); ++ if (!intr) ++ return IRQ_NONE; ++ ++ /* device detection */ ++ fsa9480_detect_dev(usbsw); ++ ++ return IRQ_HANDLED; ++} ++ ++static int fsa9480_probe(struct i2c_client *client, ++ const struct i2c_device_id *id) ++{ ++ struct fsa9480_usbsw *info; ++ int ret; ++ ++ if (!client->irq) { ++ dev_err(&client->dev, "no interrupt provided\n"); ++ return -EINVAL; ++ } ++ ++ info = devm_kzalloc(&client->dev, sizeof(*info), GFP_KERNEL); ++ if (!info) ++ return -ENOMEM; ++ info->dev = &client->dev; ++ ++ i2c_set_clientdata(client, info); ++ ++ /* External connector */ ++ info->edev = devm_extcon_dev_allocate(info->dev, ++ fsa9480_extcon_cable); ++ if (IS_ERR(info->edev)) { ++ dev_err(info->dev, "failed to allocate memory for extcon\n"); ++ ret = -ENOMEM; ++ return ret; ++ } ++ ++ ret = devm_extcon_dev_register(info->dev, info->edev); ++ if (ret) { ++ dev_err(info->dev, "failed to register extcon device\n"); ++ return ret; ++ } ++ ++ info->regmap = devm_regmap_init_i2c(client, &fsa9480_regmap_config); ++ if (IS_ERR(info->regmap)) { ++ ret = PTR_ERR(info->regmap); ++ dev_err(info->dev, "failed to allocate register map: %d\n", ++ ret); ++ return ret; ++ } ++ ++ /* ADC Detect Time: 500ms */ ++ fsa9480_write_reg(info, FSA9480_REG_TIMING1, TIMING1_ADC_500MS); ++ ++ /* configure automatic switching */ ++ fsa9480_write_reg(info, FSA9480_REG_CTRL, CON_MASK); ++ ++ /* unmask interrupt (attach/detach only) */ ++ fsa9480_write_reg(info, FSA9480_REG_INT1_MASK, ++ INT1_MASK & ~(INT_ATTACH | INT_DETACH)); ++ fsa9480_write_reg(info, FSA9480_REG_INT2_MASK, INT2_MASK); ++ ++ ret = devm_request_threaded_irq(info->dev, client->irq, NULL, ++ fsa9480_irq_handler, ++ IRQF_TRIGGER_FALLING | IRQF_ONESHOT, ++ "fsa9480", info); ++ if (ret) { ++ dev_err(info->dev, "failed to request IRQ\n"); ++ return ret; ++ } ++ ++ device_init_wakeup(info->dev, true); ++ fsa9480_detect_dev(info); ++ ++ return 0; ++} ++ ++static int fsa9480_remove(struct i2c_client *client) ++{ ++ return 0; ++} ++ ++#ifdef CONFIG_PM_SLEEP ++static int fsa9480_suspend(struct device *dev) ++{ ++ struct i2c_client *client = to_i2c_client(dev); ++ ++ if (device_may_wakeup(&client->dev) && client->irq) ++ enable_irq_wake(client->irq); ++ ++ return 0; ++} ++ ++static int fsa9480_resume(struct device *dev) ++{ ++ struct i2c_client *client = to_i2c_client(dev); ++ ++ if (device_may_wakeup(&client->dev) && client->irq) ++ disable_irq_wake(client->irq); ++ ++ return 0; ++} ++#endif ++ ++static const struct dev_pm_ops fsa9480_pm_ops = { ++ SET_SYSTEM_SLEEP_PM_OPS(fsa9480_suspend, fsa9480_resume) ++}; ++ ++static const struct i2c_device_id fsa9480_id[] = { ++ { "fsa9480", 0 }, ++ {} ++}; ++MODULE_DEVICE_TABLE(i2c, fsa9480_id); ++ ++static const struct of_device_id fsa9480_of_match[] = { ++ { .compatible = "fcs,fsa9480", }, ++ { }, ++}; ++MODULE_DEVICE_TABLE(of, fsa9480_of_match); ++ ++static struct i2c_driver fsa9480_i2c_driver = { ++ .driver = { ++ .name = "fsa9480", ++ .pm = &fsa9480_pm_ops, ++ .of_match_table = fsa9480_of_match, ++ }, ++ .probe = fsa9480_probe, ++ .remove = fsa9480_remove, ++ .id_table = fsa9480_id, ++}; ++ ++static int __init fsa9480_module_init(void) ++{ ++ return i2c_add_driver(&fsa9480_i2c_driver); ++} ++subsys_initcall(fsa9480_module_init); ++ ++static void __exit fsa9480_module_exit(void) ++{ ++ i2c_del_driver(&fsa9480_i2c_driver); ++} ++module_exit(fsa9480_module_exit); ++ ++MODULE_DESCRIPTION("Fairchild Semiconductor FSA9480 extcon driver"); ++MODULE_AUTHOR("Tomasz Figa "); ++MODULE_LICENSE("GPL"); +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0039-ARM-dts-tegra20-glide-Workaround-RTC-bugs.patch b/device/linux-samsung-i927/0039-ARM-dts-tegra20-glide-Workaround-RTC-bugs.patch new file mode 100644 index 000000000..5c80643ca --- /dev/null +++ b/device/linux-samsung-i927/0039-ARM-dts-tegra20-glide-Workaround-RTC-bugs.patch @@ -0,0 +1,60 @@ +From 6f64a6f1329e4d61da8f94b4bd68a0a2a62da305 Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 19:47:11 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Workaround RTC bugs + +MAX8907 has broken RTC on this board - alarm reports +always-on IRQ, so as a workaround we use Tegra's RTC. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 26 +++++++++++++++++++++++--- + 1 file changed, 23 insertions(+), 3 deletions(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index 195ccb0a1012..107efb68c99e 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -9,8 +9,9 @@ + compatible = "samsung,i927", "nvidia,tegra20"; + + aliases { +- rtc0 = "/i2c@7000d000/max8907@3c"; +- rtc1 = "/rtc@7000e000"; ++ /* MAX8907 RTC seems to be broken here, so use Tegra's */ ++ rtc0 = "/rtc@7000e000"; ++ rtc1 = "/i2c@7000d000/max8907@3c"; + serial0 = &uartb; + serial1 = &uarta; + serial2 = &uartc; +@@ -585,7 +586,26 @@ + pmic: max8907@3c { + compatible = "maxim,max8907"; + reg = <0x3c>; +- interrupts = ; ++ /* ++ * Ints seem to be broken, even on downstream - ++ * on Whistler board, which uses the same PMIC, ++ * they're marked as LEVEL_HIGH, however, this ++ * makes them always-on, so we get something ++ * like "irq 301: nobody cared" - no interrupt ++ * status reg set, BUT irq line is asserted, and ++ * I don't know how to clear it. Probably it ++ * should be triggered on edge. Downstream ++ * charger driver triggers charging interrupt ++ * on TRIGGER_RISING. Oh, no docs available ++ * on the net. ++ * ++ * Downstream kernel also has broken alarm, but ++ * time readings are correct. ++ * ++ * As a workaround, we use internal Tegra RTC ++ * as a main RTC. ++ */ ++ interrupts = ; + + maxim,system-power-controller; + +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0040-ARM-dts-tegra20-glide-Fixup-GPS-binding.patch b/device/linux-samsung-i927/0040-ARM-dts-tegra20-glide-Fixup-GPS-binding.patch new file mode 100644 index 000000000..ff4ef147e --- /dev/null +++ b/device/linux-samsung-i927/0040-ARM-dts-tegra20-glide-Fixup-GPS-binding.patch @@ -0,0 +1,66 @@ +From 5d5cf4cb138bc06ff76b64f3970af87836451e4a Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 19:54:17 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Fixup GPS binding + +Still doesn't work - UART controller does not detect +any transfers, so we're probably unsupported with +kernel SiRF driver. The chip appears to be GSD4t. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 20 ++++++++++++++++++-- + 1 file changed, 18 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index 107efb68c99e..b55effa69fbe 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -445,8 +445,13 @@ + + // GPS + serial@70006000 { +- compatible = "nvidia,tegra20-hsuart"; ++ // I get a DMA error when HSUART is enabled, fall back to 8250 ++ // Also I get mysterious timed-out errors, no matter what GPIOs are. ++ // compatible = "nvidia,tegra20-hsuart"; + status = "okay"; ++ current-speed = <115200>; ++ // current-speed = <460800>; ++ // current-speed = <9600>; + + /* + * Wakeup GPIO is needed for kernel driver to work, +@@ -461,8 +466,10 @@ + + sirf,onoff-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>; + // reset GPIO: B2 ++ // sirf,onoff-gpios = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_LOW>; + // Also depends on this, but no way to specify it + clocks = <&tegra_car TEGRA20_CLK_BLINK>; ++ vcc-supply = <&gps_en>; + }; + #endif + }; +@@ -1380,8 +1387,17 @@ + gpio = <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +- }; + ++ gps_en: regulator@4 { ++ compatible = "regulator-fixed"; ++ reg = <4>; ++ regulator-name = "gps-en"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ // gpio = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>; ++ // gpio = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_HIGH>; ++ }; ++ }; + + sound { + compatible = "nvidia,tegra-audio-wm8994"; +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0041-regulator-max8893-add-regulator-driver.patch b/device/linux-samsung-i927/0041-regulator-max8893-add-regulator-driver.patch new file mode 100644 index 000000000..4af811e92 --- /dev/null +++ b/device/linux-samsung-i927/0041-regulator-max8893-add-regulator-driver.patch @@ -0,0 +1,238 @@ +From 1f0771d6cb2e929da00c58cdc4e07830d18b23a5 Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 19:58:36 +0300 +Subject: [PATCH] regulator: max8893: add regulator driver + +MAX8893 is a simple regulator which can be found on some of Sasmsung +phones. + +Signed-off-by: Sergey Larin +--- + drivers/regulator/Kconfig | 7 ++ + drivers/regulator/Makefile | 1 + + drivers/regulator/max8893.c | 183 ++++++++++++++++++++++++++++++++++++ + 3 files changed, 191 insertions(+) + create mode 100644 drivers/regulator/max8893.c + +diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig +index 8553bdf87c1d..4a6a5c0120c6 100644 +--- a/drivers/regulator/Kconfig ++++ b/drivers/regulator/Kconfig +@@ -493,6 +493,13 @@ config REGULATOR_MAX8660 + This driver controls a Maxim 8660/8661 voltage output + regulator via I2C bus. + ++config REGULATOR_MAX8893 ++ tristate "Maxim 8893 voltage regulator" ++ depends on I2C ++ help ++ This driver controls a Maxim 8893 voltage output ++ regulator via I2C bus. ++ + config REGULATOR_MAX8907 + tristate "Maxim 8907 voltage regulator" + depends on MFD_MAX8907 +diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile +index 93f53840e8f1..eed0bf2de2ee 100644 +--- a/drivers/regulator/Makefile ++++ b/drivers/regulator/Makefile +@@ -64,6 +64,7 @@ obj-$(CONFIG_REGULATOR_MAX77620) += max77620-regulator.o + obj-$(CONFIG_REGULATOR_MAX77650) += max77650-regulator.o + obj-$(CONFIG_REGULATOR_MAX8649) += max8649.o + obj-$(CONFIG_REGULATOR_MAX8660) += max8660.o ++obj-$(CONFIG_REGULATOR_MAX8893) += max8893.o + obj-$(CONFIG_REGULATOR_MAX8907) += max8907-regulator.o + obj-$(CONFIG_REGULATOR_MAX8925) += max8925-regulator.o + obj-$(CONFIG_REGULATOR_MAX8952) += max8952.o +diff --git a/drivers/regulator/max8893.c b/drivers/regulator/max8893.c +new file mode 100644 +index 000000000000..1519bf760da7 +--- /dev/null ++++ b/drivers/regulator/max8893.c +@@ -0,0 +1,183 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++#include ++#include ++#include ++#include ++#include ++ ++static const struct regulator_ops max8893_ops = { ++ .is_enabled = regulator_is_enabled_regmap, ++ .enable = regulator_enable_regmap, ++ .disable = regulator_disable_regmap, ++ .get_voltage_sel = regulator_get_voltage_sel_regmap, ++ .set_voltage_sel = regulator_set_voltage_sel_regmap, ++ .list_voltage = regulator_list_voltage_linear, ++ .map_voltage = regulator_map_voltage_linear, ++}; ++ ++static const struct regulator_desc max8893_regulators[] = { ++ { ++ .name = "BUCK", ++ .supply_name = "in-buck", ++ .of_match = of_match_ptr("buck"), ++ .regulators_node = of_match_ptr("regulators"), ++ .n_voltages = 0x11, ++ .id = 6, ++ .ops = &max8893_ops, ++ .type = REGULATOR_VOLTAGE, ++ .owner = THIS_MODULE, ++ .min_uV = 800000, ++ .uV_step = 100000, ++ .vsel_reg = 0x4, ++ .vsel_mask = 0x1f, ++ .enable_reg = 0x0, ++ .enable_mask = BIT(7), ++ }, ++ { ++ .name = "LDO1", ++ .supply_name = "in-ldo1", ++ .of_match = of_match_ptr("ldo1"), ++ .regulators_node = of_match_ptr("regulators"), ++ .n_voltages = 0x12, ++ .id = 1, ++ .ops = &max8893_ops, ++ .type = REGULATOR_VOLTAGE, ++ .owner = THIS_MODULE, ++ .min_uV = 1600000, ++ .uV_step = 100000, ++ .vsel_reg = 0x5, ++ .vsel_mask = 0x1f, ++ .enable_reg = 0x0, ++ .enable_mask = BIT(5), ++ }, ++ { ++ .name = "LDO2", ++ .supply_name = "in-ldo2", ++ .of_match = of_match_ptr("ldo2"), ++ .regulators_node = of_match_ptr("regulators"), ++ .n_voltages = 0x16, ++ .id = 2, ++ .ops = &max8893_ops, ++ .type = REGULATOR_VOLTAGE, ++ .owner = THIS_MODULE, ++ .min_uV = 1200000, ++ .uV_step = 100000, ++ .vsel_reg = 0x6, ++ .vsel_mask = 0x1f, ++ .enable_reg = 0x0, ++ .enable_mask = BIT(4), ++ }, ++ { ++ .name = "LDO3", ++ .supply_name = "in-ldo3", ++ .of_match = of_match_ptr("ldo3"), ++ .regulators_node = of_match_ptr("regulators"), ++ .n_voltages = 0x12, ++ .id = 3, ++ .ops = &max8893_ops, ++ .type = REGULATOR_VOLTAGE, ++ .owner = THIS_MODULE, ++ .min_uV = 1600000, ++ .uV_step = 100000, ++ .vsel_reg = 0x7, ++ .vsel_mask = 0x1f, ++ .enable_reg = 0x0, ++ .enable_mask = BIT(3), ++ }, ++ { ++ .name = "LDO4", ++ .supply_name = "in-ldo4", ++ .of_match = of_match_ptr("ldo4"), ++ .regulators_node = of_match_ptr("regulators"), ++ .n_voltages = 0x1a, ++ .id = 4, ++ .ops = &max8893_ops, ++ .type = REGULATOR_VOLTAGE, ++ .owner = THIS_MODULE, ++ .min_uV = 800000, ++ .uV_step = 100000, ++ .vsel_reg = 0x8, ++ .vsel_mask = 0x1f, ++ .enable_reg = 0x0, ++ .enable_mask = BIT(2), ++ }, ++ { ++ .name = "LDO5", ++ .supply_name = "in-ldo5", ++ .of_match = of_match_ptr("ldo5"), ++ .regulators_node = of_match_ptr("regulators"), ++ .n_voltages = 0x1a, ++ .id = 5, ++ .ops = &max8893_ops, ++ .type = REGULATOR_VOLTAGE, ++ .owner = THIS_MODULE, ++ .min_uV = 800000, ++ .uV_step = 100000, ++ .vsel_reg = 0x9, ++ .vsel_mask = 0x1f, ++ .enable_reg = 0x0, ++ .enable_mask = BIT(1), ++ } ++}; ++ ++static const struct regmap_config max8893_regmap = { ++ .reg_bits = 8, ++ .val_bits = 8, ++}; ++ ++static int max8893_probe_new(struct i2c_client *i2c) ++{ ++ int id, ret; ++ struct regulator_config config = {.dev = &i2c->dev}; ++ struct regmap *regmap = devm_regmap_init_i2c(i2c, &max8893_regmap); ++ ++ if (IS_ERR(regmap)) { ++ ret = PTR_ERR(regmap); ++ dev_err(&i2c->dev, "regmap init failed: %d\n", ret); ++ return ret; ++ } ++ ++ for (id = 0; id < ARRAY_SIZE(max8893_regulators); id++) { ++ struct regulator_dev *rdev; ++ rdev = devm_regulator_register(&i2c->dev, ++ &max8893_regulators[id], ++ &config); ++ if (IS_ERR(rdev)) { ++ ret = PTR_ERR(rdev); ++ dev_err(&i2c->dev, "failed to register %s: %d\n", ++ max8893_regulators[id].name, ret); ++ return ret; ++ } ++ } ++ ++ return 0; ++} ++ ++#ifdef CONFIG_OF ++static const struct of_device_id max8893_dt_match[] = { ++ { .compatible = "maxim,max8893" }, ++ { /* sentinel */ }, ++}; ++MODULE_DEVICE_TABLE(of, max8893_dt_match); ++#endif ++ ++static const struct i2c_device_id max8893_ids[] = { ++ { "max8893", 0 }, ++ { }, ++}; ++MODULE_DEVICE_TABLE(i2c, max8893_ids); ++ ++static struct i2c_driver max8893_driver = { ++ .probe_new = max8893_probe_new, ++ .driver = { ++ .name = "max8893", ++ .of_match_table = of_match_ptr(max8893_dt_match), ++ }, ++ .id_table = max8893_ids, ++}; ++ ++module_i2c_driver(max8893_driver); ++ ++MODULE_DESCRIPTION("Maxim MAX8893 PMIC driver"); ++MODULE_AUTHOR("Sergey Larin "); ++MODULE_LICENSE("GPL"); +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0042-ARM-dts-tegra20-glide-Add-cameras-regulators.patch b/device/linux-samsung-i927/0042-ARM-dts-tegra20-glide-Add-cameras-regulators.patch new file mode 100644 index 000000000..636010706 --- /dev/null +++ b/device/linux-samsung-i927/0042-ARM-dts-tegra20-glide-Add-cameras-regulators.patch @@ -0,0 +1,138 @@ +From bce4b77a6c6ca82e4e0518c80444d3b879c7b60e Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 20:03:09 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Add cameras regulators + +Cameras use multiple power sources on this board. Labels near the regulator +indicate the camera which uses the regulator and the order of powering on. + +Also, the reset GPIO is specified to keep the info inside DT. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 94 ++++++++++++++++++++++++++++- + 1 file changed, 91 insertions(+), 3 deletions(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index b55effa69fbe..f2af07aba8a3 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -578,6 +578,7 @@ + /* Not supported - no DT binding */ + /* m5mo@1f { + reg = <0x1f>; ++ reset-gpios = <&gpio TEGRA_GPIO(D, 2) GPIO_ACTIVE_HIGH>; + }; */ + + /* Not supported - no DT binding */ +@@ -997,10 +998,48 @@ + #address-cells = <1>; + #size-cells = <0>; + +- /* Not supported - no driver?/no DT binding? */ +- /* m5mo_pmic@3e { ++ max8893@3e { ++ compatible = "maxim,max8893"; + reg = <0x3e>; +- }; */ ++ ++ regulators { ++ /* Front camera - s5k6aafx, back - m5mo */ ++ /* Numbers used to indicate the sequence */ ++ front_1_back_1: buck { ++ regulator-name = "cam_isp_core_1v2"; ++ regulator-min-microvolt = <1200000>; ++ regulator-max-microvolt = <1200000>; ++ }; ++ ++ front_4_back_5: ldo1 { ++ regulator-name = "vt_io_1v8,cam_isp_1v8"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ }; ++ ++ front_3_back_4: ldo2 { ++ regulator-name = "vt_core_1v5"; ++ regulator-min-microvolt = <1500000>; ++ regulator-max-microvolt = <1500000>; ++ }; ++ ++ front_5_back_6: ldo3 { ++ regulator-name = "vt_cam_1v8,vt_sensor_io_1v8"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ }; ++ ++ ldo4 { ++ /* not used */ ++ }; ++ ++ back_7: ldo5 { ++ regulator-name = "cam_sensor_io_1v8"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ }; ++ }; ++ }; + }; + + i2c@17 { +@@ -1397,6 +1436,55 @@ + // gpio = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>; + // gpio = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_HIGH>; + }; ++ ++ front_2_back_3: regulator@5 { ++ compatible = "regulator-fixed"; ++ reg = <5>; ++ regulator-name = "cam-pmic-en2"; ++ /* voltage is unknown */ ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ gpio = <&gpio TEGRA_GPIO(T, 3) GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ }; ++ ++ /* ++ * on m5mo, this needs to be disabled after ++ * cam-vt-nrst GPIO, but I don't know how to ++ * write this here properly. Probably will need ++ * to dance with pinmux? ++ */ ++ front_6_back_8_10: regulator@6 { ++ compatible = "regulator-fixed"; ++ reg = <6>; ++ regulator-name = "cam-vt-nstby"; ++ /* voltage is unknown */ ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ gpio = <&gpio TEGRA_GPIO(D, 5) GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ }; ++ ++ front_7_back_9: regulator@7 { ++ compatible = "regulator-fixed"; ++ reg = <7>; ++ regulator-name = "cam-vt-nrst"; ++ /* voltage is unknown */ ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ gpio = <&gpio TEGRA_GPIO(T, 4) GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ }; ++ ++ back_2: regulator@8 { ++ compatible = "regulator-fixed"; ++ reg = <8>; ++ regulator-name = "cam-mega-core-1p2-en"; ++ regulator-min-microvolt = <1200000>; ++ regulator-max-microvolt = <1200000>; ++ gpio = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ }; + }; + + sound { +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0043-ARM-dts-tegra20-glide-Disable-BBAT-regualtor.patch b/device/linux-samsung-i927/0043-ARM-dts-tegra20-glide-Disable-BBAT-regualtor.patch new file mode 100644 index 000000000..1acd5fbc3 --- /dev/null +++ b/device/linux-samsung-i927/0043-ARM-dts-tegra20-glide-Disable-BBAT-regualtor.patch @@ -0,0 +1,27 @@ +From a3ceabcdcd82397a6f6be19d7e3f55c534102025 Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 20:08:45 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Disable BBAT regualtor + +This regulator is unused on this board, so disable it. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index f2af07aba8a3..2e40b051546f 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -819,7 +819,6 @@ + + bbat { + regulator-name = "bbat"; +- regulator-always-on; + }; + + sdby { +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0044-ARM-dts-tegra20-glide-Set-boot-on-property-to-vdd_ar.patch b/device/linux-samsung-i927/0044-ARM-dts-tegra20-glide-Set-boot-on-property-to-vdd_ar.patch new file mode 100644 index 000000000..fe229aec6 --- /dev/null +++ b/device/linux-samsung-i927/0044-ARM-dts-tegra20-glide-Set-boot-on-property-to-vdd_ar.patch @@ -0,0 +1,28 @@ +From 990843643ca68c40b5e9371212c775054eb19b95 Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 20:09:50 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Set boot-on property to vdd_arm + regulator + +This is used to keep the stock voltage specified by bootloader. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index 2e40b051546f..e9a05dccb734 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -842,6 +842,7 @@ + regulator-min-microvolt = <770000>; + regulator-max-microvolt = <1100000>; + regulator-always-on; ++ regulator-boot-on; + }; + }; + +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0045-ARM-dts-tegra20-glide-Fix-STMPE-GPIO-binding.patch b/device/linux-samsung-i927/0045-ARM-dts-tegra20-glide-Fix-STMPE-GPIO-binding.patch new file mode 100644 index 000000000..d5cb458ec --- /dev/null +++ b/device/linux-samsung-i927/0045-ARM-dts-tegra20-glide-Fix-STMPE-GPIO-binding.patch @@ -0,0 +1,33 @@ +From bcbcf94f3224c2cf5c312b41667187c6b2e6d3ee Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 20:12:18 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Fix STMPE GPIO binding + +These GPIOs are also used as interrupts. + +norequest-mask is set to avoid conflicts with keyboard. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index e9a05dccb734..90f2a6eb9d77 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -1173,8 +1173,11 @@ + + stmpegpio: stmpe_gpio { + compatible = "st,stmpe-gpio"; ++ st,norequest-mask = <0x7fff>; + gpio-controller; + #gpio-cells = <2>; ++ interrupt-controller; ++ #interrupt-cells = <2>; + }; + }; + }; +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0046-power-supply-Add-regulator-to-max8903-charger-for-VB.patch b/device/linux-samsung-i927/0046-power-supply-Add-regulator-to-max8903-charger-for-VB.patch new file mode 100644 index 000000000..c9b4931f6 --- /dev/null +++ b/device/linux-samsung-i927/0046-power-supply-Add-regulator-to-max8903-charger-for-VB.patch @@ -0,0 +1,167 @@ +From 0f7667b7fbbea13855b4a34b4cf17595357463f0 Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 20:19:35 +0300 +Subject: [PATCH] power: supply: Add regulator to max8903 charger for VBUS + control + +When OTG cable is inserted, the host needs to enable VBUS in order to +supply power to the connected device. However, the charger detects that +and starts charging the battery, draining the supplied power. + +Avoid this by using an optional regulator subnode which disables charging +when enabled. + +Signed-off-by: Sergey Larin +--- + drivers/power/supply/Kconfig | 1 + + drivers/power/supply/max8903_charger.c | 72 +++++++++++++++++++++++++- + 2 files changed, 72 insertions(+), 1 deletion(-) + +diff --git a/drivers/power/supply/Kconfig b/drivers/power/supply/Kconfig +index dd7da41f230c..9d394ae8a3b8 100644 +--- a/drivers/power/supply/Kconfig ++++ b/drivers/power/supply/Kconfig +@@ -440,6 +440,7 @@ config CHARGER_ISP1704 + + config CHARGER_MAX8903 + tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power" ++ depends on REGULATOR + help + Say Y to enable support for the MAX8903 DC-DC charger and sysfs. + The driver supports controlling charger-enable and current-limit +diff --git a/drivers/power/supply/max8903_charger.c b/drivers/power/supply/max8903_charger.c +index 0bd39b0cc257..465fdae7179b 100644 +--- a/drivers/power/supply/max8903_charger.c ++++ b/drivers/power/supply/max8903_charger.c +@@ -16,15 +16,18 @@ + #include + #include + #include ++#include + + struct max8903_data { + struct max8903_pdata *pdata; + struct device *dev; + struct power_supply *psy; + struct power_supply_desc psy_desc; ++ struct regulator_desc otg_rdesc; + bool fault; + bool usb_in; + bool ta_in; ++ bool otg_en; + }; + + static enum power_supply_property max8903_charger_props[] = { +@@ -43,7 +46,7 @@ static int max8903_get_property(struct power_supply *psy, + case POWER_SUPPLY_PROP_STATUS: + val->intval = POWER_SUPPLY_STATUS_UNKNOWN; + if (gpio_is_valid(data->pdata->chg)) { +- if (gpio_get_value(data->pdata->chg) == 0) ++ if (gpio_get_value_cansleep(data->pdata->chg) == 0) + val->intval = POWER_SUPPLY_STATUS_CHARGING; + else if (data->usb_in || data->ta_in) + val->intval = POWER_SUPPLY_STATUS_NOT_CHARGING; +@@ -75,6 +78,8 @@ static irqreturn_t max8903_dcin(int irq, void *_data) + bool ta_in; + enum power_supply_type old_type; + ++ /* Do not touch OTG mode */ ++ + ta_in = gpio_get_value(pdata->dok) ? false : true; + + if (ta_in == data->ta_in) +@@ -116,6 +121,10 @@ static irqreturn_t max8903_usbin(int irq, void *_data) + bool usb_in; + enum power_supply_type old_type; + ++ /* Don't do anything if OTG is active */ ++ if (data->otg_en) ++ return IRQ_HANDLED; ++ + usb_in = gpio_get_value(pdata->uok) ? false : true; + + if (usb_in == data->usb_in) +@@ -330,12 +339,55 @@ static int max8903_setup_gpios(struct platform_device *pdev) + return 0; + } + ++static int max8903_otg_enable(struct regulator_dev *rdev) ++{ ++ struct max8903_data *data = rdev_get_drvdata(rdev); ++ struct max8903_pdata *pdata = data->pdata; ++ ++ /* Disable charging */ ++ data->otg_en = true; ++ if (data->usb_in) ++ gpio_set_value(pdata->cen, 1); ++ data->usb_in = false; ++ ++ if (data->psy_desc.type != POWER_SUPPLY_TYPE_BATTERY) ++ { ++ data->psy_desc.type = POWER_SUPPLY_TYPE_BATTERY; ++ power_supply_changed(data->psy); ++ } ++ ++ return 0; ++} ++ ++static int max8903_otg_disable(struct regulator_dev *rdev) ++{ ++ struct max8903_data *data = rdev_get_drvdata(rdev); ++ ++ /* Enable charging */ ++ data->otg_en = false; ++ return 0; ++} ++ ++static int max8903_otg_is_enabled(struct regulator_dev *rdev) ++{ ++ struct max8903_data *data = rdev_get_drvdata(rdev); ++ return data->otg_en; ++} ++ ++struct regulator_ops otg_ops = { ++ .enable = max8903_otg_enable, ++ .disable = max8903_otg_disable, ++ .is_enabled = max8903_otg_is_enabled, ++}; ++ + static int max8903_probe(struct platform_device *pdev) + { + struct max8903_data *data; + struct device *dev = &pdev->dev; + struct max8903_pdata *pdata = pdev->dev.platform_data; + struct power_supply_config psy_cfg = {}; ++ struct regulator_config config = {}; ++ struct regulator_dev *otg_reg; + int ret = 0; + + data = devm_kzalloc(dev, sizeof(struct max8903_data), GFP_KERNEL); +@@ -420,6 +472,24 @@ static int max8903_probe(struct platform_device *pdev) + } + } + ++ data->otg_rdesc.id = -1; ++ data->otg_rdesc.name = "otg-vbus"; ++ data->otg_rdesc.ops = &otg_ops; ++ data->otg_rdesc.owner = THIS_MODULE; ++ data->otg_rdesc.type = REGULATOR_VOLTAGE; ++ data->otg_rdesc.supply_name = "usb-otg-in"; ++ data->otg_rdesc.of_match = of_match_ptr("otg-vbus"); ++ ++ config.dev = dev; ++ config.driver_data = data; ++ ++ otg_reg = devm_regulator_register(dev, &data->otg_rdesc, ++ &config); ++ if (IS_ERR(otg_reg)) ++ { ++ dev_info(dev, "regulator not registered"); ++ } ++ + return 0; + } + +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0047-ARM-dts-tegra20-glide-Add-binding-for-charger.patch b/device/linux-samsung-i927/0047-ARM-dts-tegra20-glide-Add-binding-for-charger.patch new file mode 100644 index 000000000..e9194a83d --- /dev/null +++ b/device/linux-samsung-i927/0047-ARM-dts-tegra20-glide-Add-binding-for-charger.patch @@ -0,0 +1,58 @@ +From 0675c1ad70a49437fe6711f7456dd14be29a9913 Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 20:22:08 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Add binding for charger + +MAX8922 is compatible with MAX8903's driver, which is very flexible. So +we use it to detect the cable insertion and control the charging. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 21 +++++++++++++++++++-- + 1 file changed, 19 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index 90f2a6eb9d77..b8f3916ec35b 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -853,8 +853,6 @@ + i2c-gpio,delay-us = <1>; + #address-cells = <1>; + #size-cells = <0>; +- //interrupt-parent = <&gpio>; +- //interrupts = ; + + // Use 17040 as 17043 is compatible - no ALRT feature + max17043@36 { +@@ -862,9 +860,28 @@ + reg = <0x36>; + interrupt-parent = <&gpio>; + interrupts = ; ++ power-supplies = <&usb_ta_charger>; ++ /* Fuel alert - not supported (for now?) */ ++ //interrupt-parent = <&gpio>; ++ //interrupts = ; + }; + }; + ++ usb_ta_charger: max8922-charger { ++ compatible = "maxim,max8903"; ++ chg-gpios = <&stmpegpio 16 GPIO_ACTIVE_LOW>; ++ cen-gpios = <&gpio TEGRA_GPIO(R, 3) GPIO_ACTIVE_HIGH>; ++ uok-gpios = <&gpio TEGRA_GPIO(T, 0) GPIO_ACTIVE_HIGH>; ++ /* ++ * Original sources also use FSA9480 for USB charger ++ * detection, but it's on extcon and not GPIO, ++ * so skip it since dok (GPIO_TA_nCONNECTED) works fine. ++ * (specified as uok since USB is detected) ++ */ ++ ++ charger_supply: otg-vbus {}; ++ }; ++ + i2c@7 { + compatible = "i2c-gpio"; + sda-gpios = <&gpio TEGRA_GPIO(O, 4) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0048-ARM-dts-tegra20-glide-Add-binding-for-FSA9480.patch b/device/linux-samsung-i927/0048-ARM-dts-tegra20-glide-Add-binding-for-FSA9480.patch new file mode 100644 index 000000000..38241497d --- /dev/null +++ b/device/linux-samsung-i927/0048-ARM-dts-tegra20-glide-Add-binding-for-FSA9480.patch @@ -0,0 +1,39 @@ +From 98e6d3ea7aa540d68edb5e3773cd7d85b574fc46 Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 20:24:45 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Add binding for FSA9480 + +FSA9480 is a USB cable detector and switch. This board uses this +to provide USB, USB-OTG, MHL and UART functionality over one microUSB port. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index b8f3916ec35b..fc4aca8a1c47 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -941,13 +941,13 @@ + i2c-gpio,delay-us = <1>; + #address-cells = <1>; + #size-cells = <0>; +- interrupt-parent = <&gpio>; +- interrupts = ; + +- /* Not supported - no DT bindings */ +- /* fsa9480@25 { ++ fsa9480@25 { ++ compatible = "fcs,fsa9480"; + reg = <0x25>; +- }; */ ++ interrupt-parent = <&gpio>; ++ interrupts = ; ++ }; + }; + + hdmi_ddc: i2c@13 { +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0049-ARM-dts-tegra20-glide-Remove-combined-power-req-prop.patch b/device/linux-samsung-i927/0049-ARM-dts-tegra20-glide-Remove-combined-power-req-prop.patch new file mode 100644 index 000000000..a85b544c0 --- /dev/null +++ b/device/linux-samsung-i927/0049-ARM-dts-tegra20-glide-Remove-combined-power-req-prop.patch @@ -0,0 +1,28 @@ +From 92533301876cd45f4b5ec0f36c1f39c49575b428 Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 20:27:26 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Remove combined-power-req property + +This board uses separate-power-req, however, this property is unused +in the driver. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index fc4aca8a1c47..7d3b6066ac0c 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -1245,7 +1245,6 @@ + nvidia,core-pwr-off-time = <0>; + nvidia,core-power-req-active-high; + nvidia,sys-clock-req-active-high; +- nvidia,combined-power-req; + nvidia,lp0-vec = <0x1819E000 8192>; + }; + +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0050-ARM-dts-tegra20-glide-Add-EMC-memory-timings.patch b/device/linux-samsung-i927/0050-ARM-dts-tegra20-glide-Add-EMC-memory-timings.patch new file mode 100644 index 000000000..2040efa45 --- /dev/null +++ b/device/linux-samsung-i927/0050-ARM-dts-tegra20-glide-Add-EMC-memory-timings.patch @@ -0,0 +1,299 @@ +From b302defd02e5db34787d577adfbe56c1323385ee Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 20:29:17 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Add EMC memory timings + +There's one memory module inside, so the timings are not versioned. +Extracted from downstream with regex and VIM magic. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 272 ++++++++++++++++++++++++++++ + 1 file changed, 272 insertions(+) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index 7d3b6066ac0c..0c6a903ef0c7 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -1248,6 +1248,278 @@ + nvidia,lp0-vec = <0x1819E000 8192>; + }; + ++ memory-controller@7000f400 { ++ emc-table@25000 { ++ compatible = "nvidia,tegra20-emc-table"; ++ reg = <25000>; ++ clock-frequency = < 25000 >; /* SDRAM frquency */ ++ nvidia,emc-registers = < ++ 0x00000002 /* RC */ ++ 0x00000006 /* RFC */ ++ 0x00000003 /* RAS */ ++ 0x00000003 /* RP */ ++ 0x00000006 /* R2W */ ++ 0x00000004 /* W2R */ ++ 0x00000002 /* R2P */ ++ 0x0000000b /* W2P */ ++ 0x00000003 /* RD_RCD */ ++ 0x00000003 /* WR_RCD */ ++ 0x00000002 /* RRD */ ++ 0x00000002 /* REXT */ ++ 0x00000003 /* WDV */ ++ 0x00000005 /* QUSE */ ++ 0x00000004 /* QRST */ ++ 0x00000008 /* QSAFE */ ++ 0x0000000c /* RDV */ ++ 0x0000004d /* REFRESH */ ++ 0x00000000 /* BURST_REFRESH_NUM */ ++ 0x00000003 /* PDEX2WR */ ++ 0x00000003 /* PDEX2RD */ ++ 0x00000003 /* PCHG2PDEN */ ++ 0x00000008 /* ACT2PDEN */ ++ 0x00000001 /* AR2PDEN */ ++ 0x0000000b /* RW2PDEN */ ++ 0x00000004 /* TXSR */ ++ 0x00000003 /* TCKE */ ++ 0x00000008 /* TFAW */ ++ 0x00000004 /* TRPAB */ ++ 0x00000008 /* TCLKSTABLE */ ++ 0x00000002 /* TCLKSTOP */ ++ 0x00000068 /* TREFBW */ ++ 0x00000000 /* QUSE_EXTRA */ ++ 0x00000003 /* FBIO_CFG6 */ ++ 0x00000000 /* ODT_WRITE */ ++ 0x00000000 /* ODT_READ */ ++ 0x00000082 /* FBIO_CFG5 */ ++ 0xa06a04ae /* CFG_DIG_DLL */ ++ 0x00080000 /* DLL_XFORM_DQS */ ++ 0x00000000 /* DLL_XFORM_QUSE */ ++ 0x00000000 /* ZCAL_REF_CNT */ ++ 0x00000003 /* ZCAL_WAIT_CNT */ ++ 0x00000000 /* AUTO_CAL_INTERVAL */ ++ 0x00000000 /* CFG_CLKTRIM_0 */ ++ 0x00000000 /* CFG_CLKTRIM_1 */ ++ 0x00000000 /* CFG_CLKTRIM_2 */ ++ >; ++ }; ++ ++ emc-table@50000 { ++ compatible = "nvidia,tegra20-emc-table"; ++ reg = <50000>; ++ clock-frequency = < 50000 >; /* SDRAM frquency */ ++ nvidia,emc-registers = < ++ 0x00000003 /* RC */ ++ 0x00000007 /* RFC */ ++ 0x00000003 /* RAS */ ++ 0x00000003 /* RP */ ++ 0x00000006 /* R2W */ ++ 0x00000004 /* W2R */ ++ 0x00000002 /* R2P */ ++ 0x0000000b /* W2P */ ++ 0x00000003 /* RD_RCD */ ++ 0x00000003 /* WR_RCD */ ++ 0x00000002 /* RRD */ ++ 0x00000002 /* REXT */ ++ 0x00000003 /* WDV */ ++ 0x00000006 /* QUSE */ ++ 0x00000004 /* QRST */ ++ 0x00000008 /* QSAFE */ ++ 0x0000000c /* RDV */ ++ 0x0000009f /* REFRESH */ ++ 0x00000000 /* BURST_REFRESH_NUM */ ++ 0x00000003 /* PDEX2WR */ ++ 0x00000003 /* PDEX2RD */ ++ 0x00000003 /* PCHG2PDEN */ ++ 0x00000008 /* ACT2PDEN */ ++ 0x00000001 /* AR2PDEN */ ++ 0x0000000b /* RW2PDEN */ ++ 0x00000007 /* TXSR */ ++ 0x00000003 /* TCKE */ ++ 0x00000008 /* TFAW */ ++ 0x00000004 /* TRPAB */ ++ 0x00000008 /* TCLKSTABLE */ ++ 0x00000002 /* TCLKSTOP */ ++ 0x000000d0 /* TREFBW */ ++ 0x00000000 /* QUSE_EXTRA */ ++ 0x00000000 /* FBIO_CFG6 */ ++ 0x00000000 /* ODT_WRITE */ ++ 0x00000000 /* ODT_READ */ ++ 0x00000082 /* FBIO_CFG5 */ ++ 0xa06a04ae /* CFG_DIG_DLL */ ++ 0x00080000 /* DLL_XFORM_DQS */ ++ 0x00000000 /* DLL_XFORM_QUSE */ ++ 0x00000000 /* ZCAL_REF_CNT */ ++ 0x00000005 /* ZCAL_WAIT_CNT */ ++ 0x00000000 /* AUTO_CAL_INTERVAL */ ++ 0x00000000 /* CFG_CLKTRIM_0 */ ++ 0x00000000 /* CFG_CLKTRIM_1 */ ++ 0x00000000 /* CFG_CLKTRIM_2 */ ++ >; ++ }; ++ ++ emc-table@75000 { ++ compatible = "nvidia,tegra20-emc-table"; ++ reg = <75000>; ++ clock-frequency = < 75000 >; /* SDRAM frquency */ ++ nvidia,emc-registers = < ++ 0x00000005 /* RC */ ++ 0x0000000a /* RFC */ ++ 0x00000004 /* RAS */ ++ 0x00000003 /* RP */ ++ 0x00000006 /* R2W */ ++ 0x00000004 /* W2R */ ++ 0x00000002 /* R2P */ ++ 0x0000000b /* W2P */ ++ 0x00000003 /* RD_RCD */ ++ 0x00000003 /* WR_RCD */ ++ 0x00000002 /* RRD */ ++ 0x00000002 /* REXT */ ++ 0x00000003 /* WDV */ ++ 0x00000006 /* QUSE */ ++ 0x00000004 /* QRST */ ++ 0x00000008 /* QSAFE */ ++ 0x0000000c /* RDV */ ++ 0x000000ff /* REFRESH */ ++ 0x00000000 /* BURST_REFRESH_NUM */ ++ 0x00000003 /* PDEX2WR */ ++ 0x00000003 /* PDEX2RD */ ++ 0x00000003 /* PCHG2PDEN */ ++ 0x00000008 /* ACT2PDEN */ ++ 0x00000001 /* AR2PDEN */ ++ 0x0000000b /* RW2PDEN */ ++ 0x0000000b /* TXSR */ ++ 0x00000003 /* TCKE */ ++ 0x00000008 /* TFAW */ ++ 0x00000004 /* TRPAB */ ++ 0x00000008 /* TCLKSTABLE */ ++ 0x00000002 /* TCLKSTOP */ ++ 0x00000138 /* TREFBW */ ++ 0x00000000 /* QUSE_EXTRA */ ++ 0x00000000 /* FBIO_CFG6 */ ++ 0x00000000 /* ODT_WRITE */ ++ 0x00000000 /* ODT_READ */ ++ 0x00000082 /* FBIO_CFG5 */ ++ 0xa06a04ae /* CFG_DIG_DLL */ ++ 0x00080000 /* DLL_XFORM_DQS */ ++ 0x00000000 /* DLL_XFORM_QUSE */ ++ 0x00000000 /* ZCAL_REF_CNT */ ++ 0x00000007 /* ZCAL_WAIT_CNT */ ++ 0x00000000 /* AUTO_CAL_INTERVAL */ ++ 0x00000000 /* CFG_CLKTRIM_0 */ ++ 0x00000000 /* CFG_CLKTRIM_1 */ ++ 0x00000000 /* CFG_CLKTRIM_2 */ ++ >; ++ }; ++ ++ emc-table@150000 { ++ compatible = "nvidia,tegra20-emc-table"; ++ reg = <150000>; ++ clock-frequency = < 150000 >; /* SDRAM frquency */ ++ nvidia,emc-registers = < ++ 0x00000009 /* RC */ ++ 0x00000014 /* RFC */ ++ 0x00000007 /* RAS */ ++ 0x00000003 /* RP */ ++ 0x00000006 /* R2W */ ++ 0x00000004 /* W2R */ ++ 0x00000002 /* R2P */ ++ 0x0000000b /* W2P */ ++ 0x00000003 /* RD_RCD */ ++ 0x00000003 /* WR_RCD */ ++ 0x00000002 /* RRD */ ++ 0x00000002 /* REXT */ ++ 0x00000003 /* WDV */ ++ 0x00000006 /* QUSE */ ++ 0x00000004 /* QRST */ ++ 0x00000008 /* QSAFE */ ++ 0x0000000c /* RDV */ ++ 0x0000021f /* REFRESH */ ++ 0x00000000 /* BURST_REFRESH_NUM */ ++ 0x00000003 /* PDEX2WR */ ++ 0x00000003 /* PDEX2RD */ ++ 0x00000003 /* PCHG2PDEN */ ++ 0x00000008 /* ACT2PDEN */ ++ 0x00000001 /* AR2PDEN */ ++ 0x0000000b /* RW2PDEN */ ++ 0x00000015 /* TXSR */ ++ 0x00000003 /* TCKE */ ++ 0x00000008 /* TFAW */ ++ 0x00000004 /* TRPAB */ ++ 0x00000008 /* TCLKSTABLE */ ++ 0x00000002 /* TCLKSTOP */ ++ 0x00000270 /* TREFBW */ ++ 0x00000000 /* QUSE_EXTRA */ ++ 0x00000001 /* FBIO_CFG6 */ ++ 0x00000000 /* ODT_WRITE */ ++ 0x00000000 /* ODT_READ */ ++ 0x00000082 /* FBIO_CFG5 */ ++ 0xa04c04ae /* CFG_DIG_DLL */ ++ 0x007dea10 /* DLL_XFORM_DQS */ ++ 0x00000000 /* DLL_XFORM_QUSE */ ++ 0x00000000 /* ZCAL_REF_CNT */ ++ 0x0000000e /* ZCAL_WAIT_CNT */ ++ 0x00000000 /* AUTO_CAL_INTERVAL */ ++ 0x00000000 /* CFG_CLKTRIM_0 */ ++ 0x00000000 /* CFG_CLKTRIM_1 */ ++ 0x00000000 /* CFG_CLKTRIM_2 */ ++ >; ++ }; ++ ++ emc-table@300000 { ++ compatible = "nvidia,tegra20-emc-table"; ++ reg = <300000>; ++ clock-frequency = < 300000 >; /* SDRAM frquency */ ++ nvidia,emc-registers = < ++ 0x00000012 /* RC */ ++ 0x00000027 /* RFC */ ++ 0x0000000d /* RAS */ ++ 0x00000006 /* RP */ ++ 0x00000007 /* R2W */ ++ 0x00000005 /* W2R */ ++ 0x00000003 /* R2P */ ++ 0x0000000b /* W2P */ ++ 0x00000006 /* RD_RCD */ ++ 0x00000006 /* WR_RCD */ ++ 0x00000003 /* RRD */ ++ 0x00000003 /* REXT */ ++ 0x00000003 /* WDV */ ++ 0x00000007 /* QUSE */ ++ 0x00000004 /* QRST */ ++ 0x00000009 /* QSAFE */ ++ 0x0000000d /* RDV */ ++ 0x0000045f /* REFRESH */ ++ 0x00000000 /* BURST_REFRESH_NUM */ ++ 0x00000004 /* PDEX2WR */ ++ 0x00000004 /* PDEX2RD */ ++ 0x00000006 /* PCHG2PDEN */ ++ 0x00000008 /* ACT2PDEN */ ++ 0x00000001 /* AR2PDEN */ ++ 0x0000000f /* RW2PDEN */ ++ 0x0000002a /* TXSR */ ++ 0x00000003 /* TCKE */ ++ 0x0000000f /* TFAW */ ++ 0x00000007 /* TRPAB */ ++ 0x00000007 /* TCLKSTABLE */ ++ 0x00000002 /* TCLKSTOP */ ++ 0x000004e0 /* TREFBW */ ++ 0x00000006 /* QUSE_EXTRA */ ++ 0x00000002 /* FBIO_CFG6 */ ++ 0x00000000 /* ODT_WRITE */ ++ 0x00000000 /* ODT_READ */ ++ 0x00000282 /* FBIO_CFG5 */ ++ 0xe03c048b /* CFG_DIG_DLL */ ++ 0x007e0010 /* DLL_XFORM_DQS */ ++ 0x00000000 /* DLL_XFORM_QUSE */ ++ 0x00000000 /* ZCAL_REF_CNT */ ++ 0x0000001b /* ZCAL_WAIT_CNT */ ++ 0x00000000 /* AUTO_CAL_INTERVAL */ ++ 0x00000000 /* CFG_CLKTRIM_0 */ ++ 0x00000000 /* CFG_CLKTRIM_1 */ ++ 0x00000000 /* CFG_CLKTRIM_2 */ ++ >; ++ }; ++ }; ++ + usb@c5000000 { + compatible = "nvidia,tegra20-udc"; + status = "okay"; +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0051-ARM-dts-tegra20-glide-USB-OTG-bindings.patch b/device/linux-samsung-i927/0051-ARM-dts-tegra20-glide-USB-OTG-bindings.patch new file mode 100644 index 000000000..a1be475da --- /dev/null +++ b/device/linux-samsung-i927/0051-ARM-dts-tegra20-glide-USB-OTG-bindings.patch @@ -0,0 +1,77 @@ +From 4729b2a505cf18d16d484af5deb8627f937b773d Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 20:31:45 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: USB OTG bindings + +OTG here is provided by ChipIdea controller, which uses OTG FSM to +power on the connected device. However, OTG specification says that +the device needs to receive power in 100ms, but this is not a strict +requirement. We need to disable the charger first and then power on VBUS, +which is slow process so we set a delay for the regulator to workaround +this. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 25 ++++++++++++++++++++++--- + 1 file changed, 22 insertions(+), 3 deletions(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index 0c6a903ef0c7..56e5407b2f42 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -1520,15 +1520,28 @@ + }; + }; + ++ /* ++ * There's funny thing going on with OTG power ++ * which I don't know how to fix properly. ++ * When the OTG cable is plugged in, USB ++ * controller detects this and enables VBUS ++ * power. However, charger thinks that the ++ * charging cable is plugged in and enables ++ * charging. After that there's no power on ++ * the port :) ++ * ++ * So we use a bit modified driver with "dummy" ++ * regulator which disables charging when enabled. ++ */ + usb@c5000000 { + compatible = "nvidia,tegra20-udc"; + status = "okay"; +- dr_mode = "otg"; +- vbus-supply = <&vbus_reg>; ++ vbus-supply = <&otg_reg>; + }; + + usb-phy@c5000000 { + status = "okay"; ++ dr_mode = "otg"; + vbus-supply = <&usb_phy_reg>; + }; + +@@ -1708,7 +1721,7 @@ + enable-active-high; + }; + +- vbus_reg: regulator@3 { ++ otg_reg: regulator@3 { + compatible = "regulator-fixed"; + reg = <3>; + regulator-name = "otg-en"; +@@ -1716,6 +1729,12 @@ + regulator-max-microvolt = <5000000>; + gpio = <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>; + enable-active-high; ++ /* ++ * CI HDRC controller requires delay in 100ms, but ++ * this thing is so slow! ++ */ ++ regulator-enable-ramp-delay = <350000>; ++ vin-supply = <&charger_supply>; + }; + + gps_en: regulator@4 { +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0052-ARM-dts-tegra20-glide-Fixup-MMC-bindings.patch b/device/linux-samsung-i927/0052-ARM-dts-tegra20-glide-Fixup-MMC-bindings.patch new file mode 100644 index 000000000..205f0be7b --- /dev/null +++ b/device/linux-samsung-i927/0052-ARM-dts-tegra20-glide-Fixup-MMC-bindings.patch @@ -0,0 +1,61 @@ +From 724efaa6ddffddc839ae3413a07d2424624cc8e5 Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Thu, 20 Jun 2019 20:39:05 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Fixup MMC bindings + +This is needed to avoid some warnings at boot. Someone reported that +card detection is broken, but these changes should fix this too. + +Also WiFi timings are bumped to avoid issues on suspend-resume. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index 56e5407b2f42..ef5145ce16ac 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -1559,8 +1559,8 @@ + compatible = "mmc-pwrseq-simple"; + clocks = <&tegra_car TEGRA20_CLK_BLINK>; + clock-names = "ext_clock"; +- power-off-delay-us = <100000>; +- post-power-on-delay-ms = <100>; ++ power-off-delay-us = <200000>; ++ post-power-on-delay-ms = <200>; + }; + + sdhci@c8000000 { +@@ -1571,6 +1571,7 @@ + non-removable; + wakeup-source; + post-power-on-delay-ms = <100>; ++ no-1-8-v; + + #address-cells = <1>; + #size-cells = <0>; +@@ -1590,8 +1591,11 @@ + // cd-gpios = <&stmpegpio 16 GPIO_ACTIVE_HIGH>; + cd-gpios = <&gpio TEGRA_GPIO(V, 6) GPIO_ACTIVE_HIGH>; + vmmc-supply = <&vmmc_reg>; ++ post-power-on-delay-ms = <100>; ++ disable-wp; + broken-cd; + keep-power-in-suspend; ++ no-1-8-v; + }; + + // internal memory +@@ -1599,6 +1603,7 @@ + status = "okay"; + bus-width = <8>; + non-removable; ++ disable-wp; + keep-power-in-suspend; + }; + +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0053-ARM-dts-tegra20-glide-Uncomment-SII9234-MHL-nodes.patch b/device/linux-samsung-i927/0053-ARM-dts-tegra20-glide-Uncomment-SII9234-MHL-nodes.patch new file mode 100644 index 000000000..27c4849c6 --- /dev/null +++ b/device/linux-samsung-i927/0053-ARM-dts-tegra20-glide-Uncomment-SII9234-MHL-nodes.patch @@ -0,0 +1,54 @@ +From 5891c9c0ef408034de2c01df1e483d5b0aaf7041 Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Fri, 28 Jun 2019 22:51:59 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Uncomment SII9234/MHL nodes + +This chip should work well with proper Xorg configuration, and it looks like +this speeds up booting time significantly. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index ef5145ce16ac..6a85ab96b763 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -46,7 +46,7 @@ + nvidia,panel = <&panel>; + }; + }; +-#if 0 ++ + hdmi@54280000 { + status = "okay"; + +@@ -63,7 +63,6 @@ + }; + }; + }; +-#endif + }; + + pinmux@70000014 { +@@ -966,7 +965,7 @@ + i2c-gpio,delay-us = <5>; + #address-cells = <1>; + #size-cells = <0>; +-#if 0 ++ + sii9234@39 { + compatible = "sil,sii9234"; + reg = <0x39>; +@@ -984,7 +983,6 @@ + }; + }; + }; +-#endif + }; + + i2c@15 { +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0054-ARM-dts-tegra20-glide-Fix-audio-power-binding.patch b/device/linux-samsung-i927/0054-ARM-dts-tegra20-glide-Fix-audio-power-binding.patch new file mode 100644 index 000000000..deb4a38ea --- /dev/null +++ b/device/linux-samsung-i927/0054-ARM-dts-tegra20-glide-Fix-audio-power-binding.patch @@ -0,0 +1,62 @@ +From 2dbda86d5f83841ad6904a75ae5a04f1241133fe Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Fri, 28 Jun 2019 22:54:20 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Fix audio power binding + +The LDO definition in wm8994 node is used for internal LDOs, but not for +powering the chip, so we use the fixed regulator to resolve this. +All regulators of wm8994 are defined to suppress messages in dmesg. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 23 +++++++++++++++++++++-- + 1 file changed, 21 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index 6a85ab96b763..74edc637f4d1 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -908,12 +908,21 @@ + compatible = "wlf,wm8994"; + reg = <0x1a>; + ++ DBVDD-supply = <&wlf_ldo>; ++ DCVDD-supply = <&wlf_ldo>; ++ AVDD1-supply = <&wlf_ldo>; ++ AVDD2-supply = <&wlf_ldo>; ++ CPVDD-supply = <&wlf_ldo>; ++ SPKVDD1-supply = <&wlf_ldo>; ++ SPKVDD2-supply = <&wlf_ldo>; ++ + gpio-controller; + #gpio-cells = <2>; + +- wlf,ldo1ena = <&gpio TEGRA_GPIO(X, 5) GPIO_ACTIVE_HIGH>; +- wlf,gpio-cfg = <0xA101 0 0 0 0 0 0 0 0 0 0>; ++ /* Probably doesn't make sense because typoed in driver */ ++ wlf,ldoena-always-driven; + ++ wlf,gpio-cfg = <0xA101 0 0 0 0 0 0 0 0 0 0>; + }; + }; + +@@ -1798,6 +1807,16 @@ + gpio = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>; + enable-active-high; + }; ++ ++ wlf_ldo: regulator@9 { ++ compatible = "regulator-fixed"; ++ reg = <9>; ++ regulator-name = "wlf-wm8994-ldo"; ++ gpio = <&gpio TEGRA_GPIO(X, 5) GPIO_ACTIVE_HIGH>; ++ regulator-enable-ramp-delay = <125000>; ++ regulator-boot-on; ++ enable-active-high; ++ }; + }; + + sound { +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0055-ARM-dts-tegra20-glide-Set-up-VSENSOR-regulator.patch b/device/linux-samsung-i927/0055-ARM-dts-tegra20-glide-Set-up-VSENSOR-regulator.patch new file mode 100644 index 000000000..c854677d5 --- /dev/null +++ b/device/linux-samsung-i927/0055-ARM-dts-tegra20-glide-Set-up-VSENSOR-regulator.patch @@ -0,0 +1,52 @@ +From de32110f32933b2eb0fc2dbe23951a7771b0941f Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Sat, 29 Jun 2019 15:30:57 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Set up VSENSOR regulator + +This is not configured in downstream kernel, but it was identified that +disabling this regulator makes these sensors not working (note: kxtf9 +included). + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index 74edc637f4d1..c3698603ee69 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -512,6 +512,8 @@ + mount-matrix = "0", "1", "0", + "-1", "0", "0", + "0", "0", "-1"; ++ vdd-supply = <&vsensor>; ++ vlogic-supply = <&vsensor>; + + i2c-gate { + #address-cells = <1>; +@@ -729,12 +731,10 @@ + regulator-max-microvolt = <3300000>; + }; + +- ldo10 { ++ vsensor: ldo10 { + regulator-name = "nvvdd_ldo10,vsensor_1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; +- regulator-always-on; +- regulator-boot-on; + }; + + ldo11 { +@@ -893,6 +893,7 @@ + compatible = "asahi-kasei,ak8975"; + reg = <0xc>; + gpios = <&gpio TEGRA_GPIO(K, 4) GPIO_ACTIVE_HIGH>; ++ vdd-supply = <&vsensor>; + }; + }; + +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0056-ARM-dts-tegra20-glide-Lower-GPIO-I2C-frequency.patch b/device/linux-samsung-i927/0056-ARM-dts-tegra20-glide-Lower-GPIO-I2C-frequency.patch new file mode 100644 index 000000000..d6886b158 --- /dev/null +++ b/device/linux-samsung-i927/0056-ARM-dts-tegra20-glide-Lower-GPIO-I2C-frequency.patch @@ -0,0 +1,93 @@ +From a9b327e26842789cd17d259b5424d2c0486096b9 Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Sun, 14 Jul 2019 19:06:48 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Lower GPIO I2C frequency + +Defaults used by downstream kernel are very high. This should resolve +communication issues and improve stability. Values are set according to +the comments near I2C structs in original kernel. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index c3698603ee69..013f46d159a1 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -849,7 +849,7 @@ + compatible = "i2c-gpio"; + sda-gpios = <&gpio TEGRA_GPIO(O, 0) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios = <&gpio TEGRA_GPIO(O, 7) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; +- i2c-gpio,delay-us = <1>; ++ i2c-gpio,delay-us = <5>; + #address-cells = <1>; + #size-cells = <0>; + +@@ -901,7 +901,7 @@ + compatible = "i2c-gpio"; + sda-gpios = <&gpio TEGRA_GPIO(G, 3) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios = <&gpio TEGRA_GPIO(I, 0) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; +- i2c-gpio,delay-us = <1>; ++ i2c-gpio,delay-us = <5>; + #address-cells = <1>; + #size-cells = <0>; + +@@ -947,7 +947,7 @@ + compatible = "i2c-gpio"; + sda-gpios = <&gpio TEGRA_GPIO(BB, 4) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios = <&gpio TEGRA_GPIO(BB, 1) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; +- i2c-gpio,delay-us = <1>; ++ i2c-gpio,delay-us = <5>; + #address-cells = <1>; + #size-cells = <0>; + +@@ -999,7 +999,7 @@ + compatible = "i2c-gpio"; + sda-gpios = <&gpio TEGRA_GPIO(Y, 3) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios = <&gpio TEGRA_GPIO(Y, 1) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; +- i2c-gpio,delay-us = <1>; ++ i2c-gpio,delay-us = <5>; + #address-cells = <1>; + #size-cells = <0>; + interrupt-parent = <&gpio>; +@@ -1019,7 +1019,7 @@ + compatible = "i2c-gpio"; + sda-gpios = <&gpio TEGRA_GPIO(L, 7) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios = <&gpio TEGRA_GPIO(L, 6) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; +- i2c-gpio,delay-us = <1>; ++ i2c-gpio,delay-us = <5>; + #address-cells = <1>; + #size-cells = <0>; + +@@ -1071,7 +1071,7 @@ + compatible = "i2c-gpio"; + sda-gpios = <&gpio TEGRA_GPIO(Z, 3) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios = <&gpio TEGRA_GPIO(C, 6) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; +- i2c-gpio,delay-us = <1>; ++ i2c-gpio,delay-us = <5>; + #address-cells = <1>; + #size-cells = <0>; + +@@ -1102,7 +1102,7 @@ + compatible = "i2c-gpio"; + sda-gpios = <&gpio TEGRA_GPIO(T, 6) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios = <&gpio TEGRA_GPIO(T, 5) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; +- i2c-gpio,delay-us = <1>; ++ i2c-gpio,delay-us = <5>; + #address-cells = <1>; + #size-cells = <0>; + +@@ -1120,7 +1120,7 @@ + compatible = "i2c-gpio"; + sda-gpios = <&gpio TEGRA_GPIO(X, 2) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios = <&gpio TEGRA_GPIO(X, 0) (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; +- i2c-gpio,delay-us = <1>; ++ i2c-gpio,delay-us = <5>; + #address-cells = <1>; + #size-cells = <0>; + +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0057-ASoC-tegra_wm8994-New-driver-based-on-WM8903.patch b/device/linux-samsung-i927/0057-ASoC-tegra_wm8994-New-driver-based-on-WM8903.patch new file mode 100644 index 000000000..772dffc7d --- /dev/null +++ b/device/linux-samsung-i927/0057-ASoC-tegra_wm8994-New-driver-based-on-WM8903.patch @@ -0,0 +1,459 @@ +From c96dc7817d36eedb85d8ac3b8775e4d9803f8467 Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Sun, 14 Jul 2019 20:22:44 +0300 +Subject: [PATCH] ASoC: tegra_wm8994: New driver based on WM8903 + +This fully routed driver resolves issues with suspend/resume state not being +correctly restored. It also provides headphone detection and internal/external +mic switching (however, mic detection is probably broken). + +Signed-off-by: Sergey Larin +--- + sound/soc/tegra/tegra_wm8994.c | 295 +++++++++++++++++++++------------ + 1 file changed, 188 insertions(+), 107 deletions(-) + +diff --git a/sound/soc/tegra/tegra_wm8994.c b/sound/soc/tegra/tegra_wm8994.c +index 87cb36df3bcf..5e59b3b34f72 100755 +--- a/sound/soc/tegra/tegra_wm8994.c ++++ b/sound/soc/tegra/tegra_wm8994.c +@@ -1,8 +1,10 @@ + /* + * tegra_wm8994.c - Tegra machine ASoC driver for boards using WM8994 codec. + * ++ * Author: Sergey Larin ++ * Based on driver for wm8994 by: + * Author: Stephen Warren +- * Copyright (C) 2010-2011 - NVIDIA, Inc. ++ * Copyright (C) 2010-2012 - NVIDIA, Inc. + * + * Based on code copyright/by: + * +@@ -28,29 +30,29 @@ + * + */ + +-#include +- + #include + #include + #include + #include +-#include ++#include + + #include ++#include + #include + #include + #include + +-#include "tegra_pcm.h" +-#include "tegra_asoc_utils.h" ++#include "../codecs/wm8994.h" + +-#ifdef CONFIG_ARCH_TEGRA_2x_SOC +-#include "tegra20_das.h" +-#endif ++#include "tegra_asoc_utils.h" + + #define DRV_NAME "tegra-snd-wm8994" + + struct tegra_wm8994 { ++ int gpio_hp_det; ++ int gpio_ear_sel; ++ int gpio_int_mic_en; ++ int gpio_ext_mic_en; + struct tegra_asoc_utils_data util_data; + }; + +@@ -59,10 +61,9 @@ static int tegra_wm8994_hw_params(struct snd_pcm_substream *substream, + { + struct snd_soc_pcm_runtime *rtd = substream->private_data; + struct snd_soc_dai *codec_dai = rtd->codec_dai; +- struct snd_soc_dai *cpu_dai = rtd->cpu_dai; + struct snd_soc_card *card = rtd->card; + struct tegra_wm8994 *machine = snd_soc_card_get_drvdata(card); +- int srate, mclk, i2s_daifmt; ++ int srate, mclk; + int err; + + srate = params_rate(params); +@@ -82,104 +83,152 @@ static int tegra_wm8994_hw_params(struct snd_pcm_substream *substream, + + err = tegra_asoc_utils_set_rate(&machine->util_data, srate, mclk); + if (err < 0) { +- if (!(machine->util_data.set_mclk % mclk)) +- mclk = machine->util_data.set_mclk; +- else { +- dev_err(card->dev, "Can't configure clocks\n"); +- return err; +- } +- } +- +- i2s_daifmt = SND_SOC_DAIFMT_NB_NF | +- SND_SOC_DAIFMT_CBS_CFS; +- +- /* Use DSP mode for mono on Tegra20 */ +- // if ((params_channels(params) != 2) && +- // (machine_is_ventana() || machine_is_harmony() || +- // machine_is_kaen() || machine_is_aebl())) +- // i2s_daifmt |= SND_SOC_DAIFMT_DSP_A; +- // else +- i2s_daifmt |= SND_SOC_DAIFMT_I2S; +- +- err = snd_soc_dai_set_fmt(codec_dai, i2s_daifmt); +- if (err < 0) { +- dev_err(card->dev, "codec_dai fmt not set\n"); ++ dev_err(card->dev, "Can't configure clocks\n"); + return err; + } + +- err = snd_soc_dai_set_fmt(cpu_dai, i2s_daifmt); +- if (err < 0) { +- dev_err(card->dev, "cpu_dai fmt not set\n"); +- return err; +- } +- /* Need to check clk id */ +- err = snd_soc_dai_set_sysclk(codec_dai, 1, mclk, ++ err = snd_soc_dai_set_sysclk(codec_dai, WM8994_SYSCLK_MCLK1, mclk, + SND_SOC_CLOCK_IN); + if (err < 0) { + dev_err(card->dev, "codec_dai clock not set\n"); + return err; + } + +-#ifdef CONFIG_ARCH_TEGRA_2x_SOC +- err = tegra20_das_connect_dac_to_dap(TEGRA20_DAS_DAP_SEL_DAC1, +- TEGRA20_DAS_DAP_ID_1); +- if (err < 0) { +- dev_err(card->dev, "failed to set dap-dac path\n"); +- return err; +- } +- +- err = tegra20_das_connect_dap_to_dac(TEGRA20_DAS_DAP_ID_1, +- TEGRA20_DAS_DAP_SEL_DAC1); +- if (err < 0) { +- dev_err(card->dev, "failed to set dac-dap path\n"); +- return err; +- } +-#endif + return 0; + } + +-static int tegra_hw_free(struct snd_pcm_substream *substream) ++static const struct snd_soc_ops tegra_wm8994_ops = { ++ .hw_params = tegra_wm8994_hw_params, ++}; ++ ++static struct snd_soc_jack tegra_wm8994_hp_jack; ++ ++static struct snd_soc_jack_pin tegra_wm8994_hp_jack_pins[] = { ++ { ++ .pin = "Headphone Jack", ++ .mask = SND_JACK_HEADPHONE, ++ }, ++}; ++ ++static struct snd_soc_jack_gpio tegra_wm8994_hp_jack_gpio = { ++ .name = "headphone detect", ++ .report = SND_JACK_HEADPHONE, ++ .debounce_time = 150, ++ .invert = 1, ++}; ++ ++static struct snd_soc_jack tegra_wm8994_mic_jack; ++ ++static struct snd_soc_jack_pin tegra_wm8994_mic_jack_pins[] = { ++ { ++ .pin = "Mic Jack", ++ .mask = SND_JACK_MICROPHONE, ++ }, ++}; ++ ++static int tegra_wm8994_event_ext_mic(struct snd_soc_dapm_widget *w, ++ struct snd_kcontrol *k, int event) + { ++ struct snd_soc_dapm_context *dapm = w->dapm; ++ struct snd_soc_card *card = dapm->card; ++ struct tegra_wm8994 *machine = snd_soc_card_get_drvdata(card); ++ ++ pr_info("EXT MIC event: %s", SND_SOC_DAPM_EVENT_ON(event) ? "on" : "off"); ++ ++ if (gpio_is_valid(machine->gpio_ext_mic_en)) ++ { ++ gpio_set_value_cansleep(machine->gpio_ext_mic_en, ++ SND_SOC_DAPM_EVENT_ON(event)); ++ } ++ ++ if (gpio_is_valid(machine->gpio_int_mic_en)) ++ { ++ gpio_set_value_cansleep(machine->gpio_int_mic_en, ++ !SND_SOC_DAPM_EVENT_ON(event)); ++ } ++ ++ /* Internal/external mic switch */ ++ if (gpio_is_valid(machine->gpio_ear_sel)) ++ { ++ gpio_set_value_cansleep(machine->gpio_ear_sel, ++ SND_SOC_DAPM_EVENT_ON(event)); ++ } ++ + return 0; + } + +-static struct snd_soc_ops tegra_wm8994_ops = { +- .hw_params = tegra_wm8994_hw_params, +- .hw_free = tegra_hw_free, ++static const struct snd_soc_dapm_widget tegra_wm8994_dapm_widgets[] = { ++ SND_SOC_DAPM_SPK("Int Spk", NULL), ++ SND_SOC_DAPM_HP("Headphone Jack", NULL), ++ SND_SOC_DAPM_MIC("Mic Jack", tegra_wm8994_event_ext_mic), ++ SND_SOC_DAPM_SPK("Earpiece Spk", NULL), ++}; ++ ++static const struct snd_kcontrol_new tegra_wm8994_controls[] = { ++ SOC_DAPM_PIN_SWITCH("Int Spk"), + }; + + static int tegra_wm8994_init(struct snd_soc_pcm_runtime *rtd) + { +- pr_info("%s\n", __func__); ++ struct snd_soc_dai *codec_dai = rtd->codec_dai; ++ struct snd_soc_component *component = codec_dai->component; ++ struct snd_soc_card *card = rtd->card; ++ struct tegra_wm8994 *machine = snd_soc_card_get_drvdata(card); ++ ++ if (gpio_is_valid(machine->gpio_hp_det)) { ++ tegra_wm8994_hp_jack_gpio.gpio = machine->gpio_hp_det; ++ snd_soc_card_jack_new(rtd->card, "Headphone Jack", ++ SND_JACK_HEADPHONE, &tegra_wm8994_hp_jack, ++ tegra_wm8994_hp_jack_pins, ++ ARRAY_SIZE(tegra_wm8994_hp_jack_pins)); ++ snd_soc_jack_add_gpios(&tegra_wm8994_hp_jack, ++ 1, ++ &tegra_wm8994_hp_jack_gpio); ++ } ++ ++ snd_soc_card_jack_new(rtd->card, "Mic Jack", SND_JACK_MICROPHONE, ++ &tegra_wm8994_mic_jack, ++ tegra_wm8994_mic_jack_pins, ++ ARRAY_SIZE(tegra_wm8994_mic_jack_pins)); ++ wm8994_mic_detect(component, &tegra_wm8994_mic_jack, 1); ++ + return 0; + } + + static int tegra_wm8994_remove(struct snd_soc_card *card) + { +- pr_info("%s\n", __func__); ++ struct snd_soc_pcm_runtime *rtd = ++ snd_soc_get_pcm_runtime(card, card->dai_link[0].name); ++ struct snd_soc_dai *codec_dai = rtd->codec_dai; ++ struct snd_soc_component *component = codec_dai->component; ++ ++ wm8994_mic_detect(component, NULL, 1); ++ + return 0; + } + +-static struct snd_soc_dai_link tegra_wm8994_dai[] = { +- { +- .name = "WM8994", +- .stream_name = "WM8994 PCM", +- .codec_dai_name = "wm8994-aif1", +- .init = tegra_wm8994_init, +- +- // .codec_name = "WM8994 I2C Codec.8-001b", +- // .platform_name = "tegra-pcm-audio", +- // .cpu_dai_name = "tegra20-i2s.0", +- // .codec_dai_name = "WM8994 PAIFRX", +- .ops = &tegra_wm8994_ops, +- }, ++static struct snd_soc_dai_link tegra_wm8994_dai = { ++ .name = "WM8994", ++ .stream_name = "WM8994 PCM", ++ .codec_dai_name = "wm8994-aif1", ++ .init = tegra_wm8994_init, ++ .ops = &tegra_wm8994_ops, ++ .dai_fmt = SND_SOC_DAIFMT_I2S | ++ SND_SOC_DAIFMT_NB_NF | ++ SND_SOC_DAIFMT_CBS_CFS, + }; + + static struct snd_soc_card snd_soc_tegra_wm8994 = { + .name = "tegra-wm8994", +- .dai_link = tegra_wm8994_dai, +- .num_links = ARRAY_SIZE(tegra_wm8994_dai), ++ .owner = THIS_MODULE, ++ .dai_link = &tegra_wm8994_dai, ++ .num_links = 1, + .remove = tegra_wm8994_remove, ++ .controls = tegra_wm8994_controls, ++ .num_controls = ARRAY_SIZE(tegra_wm8994_controls), ++ .dapm_widgets = tegra_wm8994_dapm_widgets, ++ .num_dapm_widgets = ARRAY_SIZE(tegra_wm8994_dapm_widgets), ++ .fully_routed = true, + }; + + static int tegra_wm8994_driver_probe(struct platform_device *pdev) +@@ -189,59 +238,95 @@ static int tegra_wm8994_driver_probe(struct platform_device *pdev) + struct tegra_wm8994 *machine; + int ret; + +- pr_info("%s\n", __func__); +- +- if (!pdev->dev.platform_data && !pdev->dev.of_node) { +- dev_err(&pdev->dev, "No platform data supplied\n"); +- return -EINVAL; +- } +- + machine = devm_kzalloc(&pdev->dev, sizeof(struct tegra_wm8994), +- GFP_KERNEL); +- if (!machine) { +- dev_err(&pdev->dev, "Can't allocate tegra_wm8994 struct\n"); +- ret = -ENOMEM; +- goto err; +- } ++ GFP_KERNEL); ++ if (!machine) ++ return -ENOMEM; + + card->dev = &pdev->dev; +- platform_set_drvdata(pdev, card); + snd_soc_card_set_drvdata(card, machine); + +- // Parse device tree nodes ++ machine->gpio_ear_sel = of_get_named_gpio(np, "nvidia,ear-sel-gpios", ++ 0); ++ if (machine->gpio_ear_sel == -EPROBE_DEFER) ++ return -EPROBE_DEFER; ++ if (gpio_is_valid(machine->gpio_ear_sel)) { ++ ret = devm_gpio_request_one(&pdev->dev, machine->gpio_ear_sel, ++ GPIOF_OUT_INIT_HIGH, "ear_sel"); ++ if (ret) { ++ dev_err(card->dev, "cannot get ear_sel gpio\n"); ++ return ret; ++ } ++ gpio_set_value_cansleep(machine->gpio_ear_sel, 0); ++ } + +- // ... ++ machine->gpio_hp_det = of_get_named_gpio(np, "nvidia,hp-det-gpios", 0); ++ if (machine->gpio_hp_det == -EPROBE_DEFER) ++ return -EPROBE_DEFER; ++ ++ machine->gpio_int_mic_en = of_get_named_gpio(np, ++ "nvidia,int-mic-en-gpios", 0); ++ if (machine->gpio_int_mic_en == -EPROBE_DEFER) ++ return -EPROBE_DEFER; ++ if (gpio_is_valid(machine->gpio_int_mic_en)) { ++ /* Disable int mic; enable signal is active-high */ ++ ret = devm_gpio_request_one(&pdev->dev, ++ machine->gpio_int_mic_en, ++ GPIOF_OUT_INIT_LOW, "int_mic_en"); ++ if (ret) { ++ dev_err(card->dev, "cannot get int_mic_en gpio\n"); ++ return ret; ++ } ++ gpio_set_value_cansleep(machine->gpio_int_mic_en, 1); ++ } ++ ++ machine->gpio_ext_mic_en = of_get_named_gpio(np, ++ "nvidia,ext-mic-en-gpios", 0); ++ if (machine->gpio_ext_mic_en == -EPROBE_DEFER) ++ return -EPROBE_DEFER; ++ if (gpio_is_valid(machine->gpio_ext_mic_en)) { ++ /* Enable ext mic; enable signal is active-low */ ++ ret = devm_gpio_request_one(&pdev->dev, ++ machine->gpio_ext_mic_en, ++ GPIOF_OUT_INIT_LOW, "ext_mic_en"); ++ if (ret) { ++ dev_err(card->dev, "cannot get ext_mic_en gpio\n"); ++ return ret; ++ } ++ gpio_set_value_cansleep(machine->gpio_ext_mic_en, 0); ++ } + + ret = snd_soc_of_parse_card_name(card, "nvidia,model"); + if (ret) + goto err; + ++ ret = snd_soc_of_parse_audio_routing(card, "nvidia,audio-routing"); ++ if (ret) ++ goto err; + +- tegra_wm8994_dai[0].codec_of_node = of_parse_phandle(np, ++ tegra_wm8994_dai.codec_of_node = of_parse_phandle(np, + "nvidia,audio-codec", 0); +- if (!tegra_wm8994_dai[0].codec_of_node) { ++ if (!tegra_wm8994_dai.codec_of_node) { + dev_err(&pdev->dev, + "Property 'nvidia,audio-codec' missing or invalid\n"); + ret = -EINVAL; + goto err; + } + +- tegra_wm8994_dai[0].cpu_of_node = of_parse_phandle(np, ++ tegra_wm8994_dai.cpu_of_node = of_parse_phandle(np, + "nvidia,i2s-controller", 0); +- if (!tegra_wm8994_dai[0].cpu_of_node) { ++ if (!tegra_wm8994_dai.cpu_of_node) { + dev_err(&pdev->dev, + "Property 'nvidia,i2s-controller' missing or invalid\n"); + ret = -EINVAL; + goto err; + } + +- tegra_wm8994_dai[0].platform_of_node = tegra_wm8994_dai[0].cpu_of_node; ++ tegra_wm8994_dai.platform_of_node = tegra_wm8994_dai.cpu_of_node; ++ + ret = tegra_asoc_utils_init(&machine->util_data, &pdev->dev); +- if (ret) { +- dev_err(&pdev->dev, "tegra_asoc_utils_init failed (%d)\n", +- ret); ++ if (ret) + goto err; +- } + + ret = snd_soc_register_card(card); + if (ret) { +@@ -250,9 +335,6 @@ static int tegra_wm8994_driver_probe(struct platform_device *pdev) + goto err_fini_utils; + } + +- pr_info("%s: probed\n", __func__); +- +- + return 0; + + err_fini_utils: +@@ -265,6 +347,7 @@ static int tegra_wm8994_driver_remove(struct platform_device *pdev) + { + struct snd_soc_card *card = platform_get_drvdata(pdev); + struct tegra_wm8994 *machine = snd_soc_card_get_drvdata(card); ++ + snd_soc_unregister_card(card); + + tegra_asoc_utils_fini(&machine->util_data); +@@ -280,17 +363,15 @@ static const struct of_device_id tegra_wm8994_of_match[] = { + static struct platform_driver tegra_wm8994_driver = { + .driver = { + .name = DRV_NAME, +- .owner = THIS_MODULE, + .pm = &snd_soc_pm_ops, + .of_match_table = tegra_wm8994_of_match, + }, + .probe = tegra_wm8994_driver_probe, + .remove = tegra_wm8994_driver_remove, + }; +- + module_platform_driver(tegra_wm8994_driver); + +-MODULE_AUTHOR("Stephen Warren "); ++MODULE_AUTHOR("Sergey Larin "); + MODULE_DESCRIPTION("Tegra+WM8994 machine ASoC driver"); + MODULE_LICENSE("GPL"); + MODULE_ALIAS("platform:" DRV_NAME); +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0058-ARM-dts-tegra20-glide-Bindings-for-new-audio-driver.patch b/device/linux-samsung-i927/0058-ARM-dts-tegra20-glide-Bindings-for-new-audio-driver.patch new file mode 100644 index 000000000..fd4e024c7 --- /dev/null +++ b/device/linux-samsung-i927/0058-ARM-dts-tegra20-glide-Bindings-for-new-audio-driver.patch @@ -0,0 +1,68 @@ +From 7e74b78bb09db386fba009554f0bbe60c7c18a5a Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Sun, 14 Jul 2019 20:29:24 +0300 +Subject: [PATCH] ARM: dts: tegra20-glide: Bindings for new audio driver + +Remove old GPIO LEDs for mic switching and move the power management to +the audio driver. Also specify DAPM routing - modem and bluetooth routes +are not present because they're currently not used. + +Signed-off-by: Sergey Larin +--- + arch/arm/boot/dts/tegra20-glide.dts | 34 ++++++++++++++--------------- + 1 file changed, 16 insertions(+), 18 deletions(-) + +diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts +index 013f46d159a1..9321a751a000 100644 +--- a/arch/arm/boot/dts/tegra20-glide.dts ++++ b/arch/arm/boot/dts/tegra20-glide.dts +@@ -1224,24 +1224,6 @@ + linux,default-trigger = "gpio"; + default-state = "off"; + }; +- +- micbias1 { +- label = "MICBIAS1"; +- gpios = <&gpio TEGRA_GPIO(X, 6) GPIO_ACTIVE_HIGH>; +- default-state = "on"; +- }; +- +- micbias2 { +- label = "MICBIAS2"; +- gpios = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>; +- default-state = "off"; +- }; +- +- earsel { +- label = "EAR_SEL"; +- gpios = <&gpio TEGRA_GPIO(I, 4) GPIO_ACTIVE_HIGH>; +- default-state = "off"; +- }; + }; + + pmc@7000e400 { +@@ -1831,5 +1813,21 @@ + <&tegra_car TEGRA20_CLK_PLL_A_OUT0>, + <&tegra_car TEGRA20_CLK_CDEV1>; + clock-names = "pll_a", "pll_a_out0", "mclk"; ++ ++ nvidia,ear-sel-gpios = <&gpio TEGRA_GPIO(I, 4) GPIO_ACTIVE_HIGH>; ++ nvidia,int-mic-en-gpios = <&gpio TEGRA_GPIO(X, 6) GPIO_ACTIVE_HIGH>; ++ nvidia,ext-mic-en-gpios = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>; ++ nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(L, 3) GPIO_ACTIVE_HIGH>; ++ ++ nvidia,audio-routing = ++ "Int Spk", "SPKOUTLP", ++ "Int Spk", "SPKOUTLN", ++ "Headphone Jack", "HPOUT1L", ++ "Headphone Jack", "HPOUT1R", ++ "Earpiece Spk", "HPOUT2P", ++ "Earpiece Spk", "HPOUT2N", ++ "IN1LP", "Mic Jack", ++ "IN1LN", "Mic Jack"; ++ /* TODO: routes for modem and, probably, BT SCO */ + }; + }; +-- +2.22.0 + diff --git a/device/linux-samsung-i927/0059-drm-panel-s6e63m0-Workaround-screen-corruption-on-bo.patch b/device/linux-samsung-i927/0059-drm-panel-s6e63m0-Workaround-screen-corruption-on-bo.patch new file mode 100644 index 000000000..682b94bcf --- /dev/null +++ b/device/linux-samsung-i927/0059-drm-panel-s6e63m0-Workaround-screen-corruption-on-bo.patch @@ -0,0 +1,51 @@ +From 41a364dd10b44827986f6713932b297a79bd4778 Mon Sep 17 00:00:00 2001 +From: Sergey Larin +Date: Sun, 14 Jul 2019 22:42:00 +0300 +Subject: [PATCH] drm/panel: s6e63m0: Workaround screen corruption on boot + +The panel driver gets probed before PMIC, so the regulator_bulk_get() call +fails with EPROBE_DEFER, making the driver to probe later in the boot +process. However, the screen gets corrupted in some time with noise +displayed. To resolve this, reset GPIO is now requested before the +regulator, setting the panel to the reset state. + +Signed-off-by: Sergey Larin +--- + drivers/gpu/drm/panel/panel-samsung-s6e63m0.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c b/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c +index db2c34adf26d..753906c32fe0 100644 +--- a/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c ++++ b/drivers/gpu/drm/panel/panel-samsung-s6e63m0.c +@@ -449,6 +449,13 @@ static int s6e63m0_probe(struct spi_device *spi) + ctx->enabled = false; + ctx->prepared = false; + ++ ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); ++ if (IS_ERR(ctx->reset_gpio)) { ++ DRM_DEV_ERROR(dev, "cannot get reset-gpios %ld\n", ++ PTR_ERR(ctx->reset_gpio)); ++ return PTR_ERR(ctx->reset_gpio); ++ } ++ + ctx->supplies[0].supply = "vdd3"; + ctx->supplies[1].supply = "vci"; + ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(ctx->supplies), +@@ -458,13 +465,6 @@ static int s6e63m0_probe(struct spi_device *spi) + return ret; + } + +- ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); +- if (IS_ERR(ctx->reset_gpio)) { +- DRM_DEV_ERROR(dev, "cannot get reset-gpios %ld\n", +- PTR_ERR(ctx->reset_gpio)); +- return PTR_ERR(ctx->reset_gpio); +- } +- + spi->bits_per_word = 9; + spi->mode = SPI_MODE_3; + ret = spi_setup(spi); +-- +2.22.0 + diff --git a/device/linux-samsung-i927/APKBUILD b/device/linux-samsung-i927/APKBUILD index f6ae720f2..7914dcb0f 100644 --- a/device/linux-samsung-i927/APKBUILD +++ b/device/linux-samsung-i927/APKBUILD @@ -2,8 +2,8 @@ # Kernel config based on: arch/arm/configs/tegra_defconfig pkgname="linux-samsung-i927" -pkgver=4.20.4 -pkgrel=2 +pkgver=5.2.1 +pkgrel=0 pkgdesc="Samsung Captivate Glide kernel fork" arch="armv7" _carch="arm" @@ -21,47 +21,67 @@ HOSTCC="${HOSTCC#${CROSS_COMPILE}}" _repository="linux" _config="config-${_flavor}.${arch}" source=" - $pkgname-$pkgver.tar.gz::https://kernel.org/pub/linux/kernel/v4.x/linux-$pkgver.tar.gz + $pkgname-$pkgver.tar.gz::https://kernel.org/pub/linux/kernel/v5.x/linux-$pkgver.tar.gz $_config 0001-dt-bindings-drm-panel-Add-Samsung-s6e63m0-panel-docu.patch 0002-drm-panel-Add-driver-for-Samsung-S6E63M0-panel.patch 0003-drm-tegra-Hacks-for-S6E63M0.patch - 0004-iio-gyro-mpu3050-get-chip-ID-correctly.patch - 0005-soc-tegra-fix-build-for-Tegra.patch - 0006-mmc-core-Add-a-quirk-for-NVIDIA-Tegra-EMMC.patch - 0007-leds-Add-led-class-support-isa1200-vibration-motor.patch - 0008-iio-accel-kxcjk-Add-device-tree-support.patch - 0009-ARM-dts-tegra20-glide-Samsung-SGH-I927-support.patch - 0010-Input-stmpe-keypad-add-STMPE1801-support.patch - 0011-Add-tegra_wm8994-driver.patch - 0012-HACK-Fix-wm8994-Kconfig.patch - 0013-ASoC-tegra_wm8994-cleanup.patch - 0014-ARM-dts-tegra20-glide-Device-Tree-changes.patch - 0015-ARM-dts-tegra20-glide-add-memory-node-address.patch - 0016-ARM-dts-tegra20-glide-comment-out-MHL.patch - 0017-ARM-dts-tegra20-glide-fix-duplicate-i2c-bus-address.patch - 0018-ARM-dts-tegra20-glide-fix-USB-gadget-mode.patch - 0019-ARM-dts-tegra20-glide-change-display-timings.patch - 0020-ARM-dts-tegra20-glide-add-intrrupt-binding-for-charg.patch - 0021-drm-panel-s6e63m0-disable-rotation.patch - 0022-ARM-dts-tegra20-glide-set-panel-reset-GPIO-pin-to-ac.patch - 0023-power-supply-max17040-Fix-voltage-reporting.patch - 0024-power-supply-max17040-Set-initial-RCOMP-value.patch - 0025-drm-panel-s6e63m0-Increase-back-porch.patch - 0026-ARM-dts-tegra20-glide-fix-AK8975.patch - 0027-Input-mcs_touchkey-Add-parse-DT-function-from-device.patch - 0028-input-keyboard-mcs_touchkey-Convert-to-devm_-managed.patch - 0029-input-keyboard-mcs_touchkey-add-sentinel-into-array-.patch - 0030-TRATS2-dts-exynos4412-m0.dts-Add-mcs-touchkey-node.patch - 0031-ARM-dts-tegra20-glide-Add-touchkey-binding.patch - 0032-ARM-dts-tegra20-glide-Add-keyboard-backlight-LED.patch - 0033-input-keyboard-mcs_touchkey-LED-support.patch - 0034-ARM-dts-tegra20-glide-Add-HALL-GPIO-binding.patch - 0035-ARM-dts-tegra20-glide-Change-keyboard-keycodes.patch - 0036-ARM-dts-tegra20-glide-Fix-UART-bindings.patch - 0037-ARM-dts-tegra20-glide-USB-OTG-mode-and-power.patch - 0038-ARM-dts-tegra20-glide-Remove-WiFi-host-wake-GPIO.patch - 0039-ARM-dts-tegra20-glide-Add-bindings-for-microphone.patch + 0004-soc-tegra-fix-build-for-Tegra.patch + 0005-mmc-core-Add-a-quirk-for-NVIDIA-Tegra-EMMC.patch + 0006-leds-Add-led-class-support-isa1200-vibration-motor.patch + 0007-ARM-dts-tegra20-glide-Samsung-SGH-I927-support.patch + 0008-Input-stmpe-keypad-add-STMPE1801-support.patch + 0009-Add-tegra_wm8994-driver.patch + 0010-HACK-Fix-wm8994-Kconfig.patch + 0011-ASoC-tegra_wm8994-cleanup.patch + 0012-ARM-dts-tegra20-glide-Device-Tree-changes.patch + 0013-ARM-dts-tegra20-glide-add-memory-node-address.patch + 0014-ARM-dts-tegra20-glide-comment-out-MHL.patch + 0015-ARM-dts-tegra20-glide-fix-duplicate-i2c-bus-address.patch + 0016-ARM-dts-tegra20-glide-fix-USB-gadget-mode.patch + 0017-ARM-dts-tegra20-glide-change-display-timings.patch + 0018-ARM-dts-tegra20-glide-add-intrrupt-binding-for-charg.patch + 0019-drm-panel-s6e63m0-disable-rotation.patch + 0020-ARM-dts-tegra20-glide-set-panel-reset-GPIO-pin-to-ac.patch + 0021-power-supply-max17040-Fix-voltage-reporting.patch + 0022-power-supply-max17040-Set-initial-RCOMP-value.patch + 0023-drm-panel-s6e63m0-Increase-back-porch.patch + 0024-ARM-dts-tegra20-glide-fix-AK8975.patch + 0025-Input-mcs_touchkey-Add-parse-DT-function-from-device.patch + 0026-input-keyboard-mcs_touchkey-Convert-to-devm_-managed.patch + 0027-input-keyboard-mcs_touchkey-add-sentinel-into-array-.patch + 0028-TRATS2-dts-exynos4412-m0.dts-Add-mcs-touchkey-node.patch + 0029-ARM-dts-tegra20-glide-Add-touchkey-binding.patch + 0030-ARM-dts-tegra20-glide-Add-keyboard-backlight-LED.patch + 0031-input-keyboard-mcs_touchkey-LED-support.patch + 0032-ARM-dts-tegra20-glide-Add-HALL-GPIO-binding.patch + 0033-ARM-dts-tegra20-glide-Change-keyboard-keycodes.patch + 0034-ARM-dts-tegra20-glide-Fix-UART-bindings.patch + 0035-ARM-dts-tegra20-glide-USB-OTG-mode-and-power.patch + 0036-ARM-dts-tegra20-glide-Remove-WiFi-host-wake-GPIO.patch + 0037-ARM-dts-tegra20-glide-Add-bindings-for-microphone.patch + 0038-extcon-Add-fsa9480-extcon-driver.patch + 0039-ARM-dts-tegra20-glide-Workaround-RTC-bugs.patch + 0040-ARM-dts-tegra20-glide-Fixup-GPS-binding.patch + 0041-regulator-max8893-add-regulator-driver.patch + 0042-ARM-dts-tegra20-glide-Add-cameras-regulators.patch + 0043-ARM-dts-tegra20-glide-Disable-BBAT-regualtor.patch + 0044-ARM-dts-tegra20-glide-Set-boot-on-property-to-vdd_ar.patch + 0045-ARM-dts-tegra20-glide-Fix-STMPE-GPIO-binding.patch + 0046-power-supply-Add-regulator-to-max8903-charger-for-VB.patch + 0047-ARM-dts-tegra20-glide-Add-binding-for-charger.patch + 0048-ARM-dts-tegra20-glide-Add-binding-for-FSA9480.patch + 0049-ARM-dts-tegra20-glide-Remove-combined-power-req-prop.patch + 0050-ARM-dts-tegra20-glide-Add-EMC-memory-timings.patch + 0051-ARM-dts-tegra20-glide-USB-OTG-bindings.patch + 0052-ARM-dts-tegra20-glide-Fixup-MMC-bindings.patch + 0053-ARM-dts-tegra20-glide-Uncomment-SII9234-MHL-nodes.patch + 0054-ARM-dts-tegra20-glide-Fix-audio-power-binding.patch + 0055-ARM-dts-tegra20-glide-Set-up-VSENSOR-regulator.patch + 0056-ARM-dts-tegra20-glide-Lower-GPIO-I2C-frequency.patch + 0057-ASoC-tegra_wm8994-New-driver-based-on-WM8903.patch + 0058-ARM-dts-tegra20-glide-Bindings-for-new-audio-driver.patch + 0059-drm-panel-s6e63m0-Workaround-screen-corruption-on-bo.patch " builddir="$srcdir/${_repository}-${pkgver}" @@ -108,44 +128,64 @@ package() { INSTALL_MOD_PATH="$pkgdir" } -sha512sums="5f9eb065932e404091dd9e4afd5a92b6382ddbc81488684c42981cdfe227da9a423356c19ec236ca1a9a7f4bf042cf351aa8b3cd4f7488b0d8b1245d69221a5c linux-samsung-i927-4.20.4.tar.gz -31f3fd4989c4e49bb0933e3c96e978956782f27fdf4842c6f98b62e0b8eaa09c916cb3ab2655c785405e105aaf679437711c07cdd12ce31ddf17e645668b3d85 config-samsung-i927.armv7 -7dfb712823f783f9263622fe16a3e65b8ae11c3d0661f17e5f527c2e30ded0f89a38f0de998e4ba12ea89cbae5ddbe8a27c9ce87e8f54344d838f5a5dcff1c9f 0001-dt-bindings-drm-panel-Add-Samsung-s6e63m0-panel-docu.patch -fcf88346c9c7ace5918d7b87acdab346e8f2fd6a189a293db6b5aa879108e535b148827cf001df65742a4e0177fcd8c9cf7ba2ad1ab8e89bdab753ab536fe807 0002-drm-panel-Add-driver-for-Samsung-S6E63M0-panel.patch -29e9510202e0ccdb1be3b05de42c82c65fafaa52a78a252a92d5278293b6d136eef1b182ad58b5375248ceaf5b3513c1c0691902d1ace007576948bf2285748a 0003-drm-tegra-Hacks-for-S6E63M0.patch -3b05c9d840d1ace9769d4ac577ff363458f5fa70a2efd467c5ff140ff7e328a1bdbee988e450deb267c1747158a0c809f7418d9871d3470049ad42d7d800aa6f 0004-iio-gyro-mpu3050-get-chip-ID-correctly.patch -f76ea98539052453ec9937f92de4001c6b676262939fd1938723597d663da72f77f75371f4fa97b10dc9146336a4be315545142de4bfd6ed90af8c89799bd254 0005-soc-tegra-fix-build-for-Tegra.patch -f88ba68f43a53e5a73155bfd73eed060f8ce506eb8238aa73f60e9f03a14325278eea34a82e913992f5045def866003cd576106c06018970b77e67cbe07097d2 0006-mmc-core-Add-a-quirk-for-NVIDIA-Tegra-EMMC.patch -7329673a287a4e6b088b2a8accb20fca80939e1a6762993b38d7b8219c1787df1e72515afaed135957b3501f4dfb53f5d21dc718d4fa73e693ac6b880c203297 0007-leds-Add-led-class-support-isa1200-vibration-motor.patch -f071517e12b195ae8e95784cdd0dcf61766015f25b08b8d86fc928218e46457e706ff4cce6ca04e2b70763d2910f858d32167441df4d3f234ace25add550c897 0008-iio-accel-kxcjk-Add-device-tree-support.patch -2994910eeee9bc5a7049ebc4fd9a0607e233849411c03a71bc1bf83aa68c087293723b5ca9b8468a6865c9cd38a6a158b25176bfb9bed159ca0e2574e21c7fcc 0009-ARM-dts-tegra20-glide-Samsung-SGH-I927-support.patch -b1179f041735d9f3197e77f4cf7588bbe07b1dc11c73798abf9d6f06e4e13b284a9b347ff8d2512592374451e8c6cfabb8e5f36105f95ed913b8b647ef7823cb 0010-Input-stmpe-keypad-add-STMPE1801-support.patch -d5f7b94d14e0ab122d40b2ce6fe56c9fb617ea3060ba35892487c61de5032d068ad582ece0db5dff4d340bb440c0037a905b270841faef980242a72aa8438029 0011-Add-tegra_wm8994-driver.patch -926be3e6a37bfe37b17fc42022445c3354a178716bb460f445fa332b4aae8cfc2c6bf49b28799c01ae2ea3c010cd61c192f89987dd931aeca7708d88a82eaee7 0012-HACK-Fix-wm8994-Kconfig.patch -449da7e1adac68fbf31a01240f10a573ef65b739b1d8f1180bb72321095119a792210b98563e89d7c230f8aa577940261ffca1239f435a64bb1fabf7a7250e2b 0013-ASoC-tegra_wm8994-cleanup.patch -05bd5d1a21eb20c0fb373d3fea6829942f7f7591bb8dd3b37ebe8d544652e1134e69348be6a2c1728fc30abc5a68cb0188595861e2487712e7c49411abb03586 0014-ARM-dts-tegra20-glide-Device-Tree-changes.patch -42c70a41c5fbd989ee2a23f7abf9bc28cb65a6de6764db5ad5fd102b17b5ed69a696e7b3ffc0f24ddafb93985b1e0cbdc16cac42ec6b9aea1c9caa97ccbc225d 0015-ARM-dts-tegra20-glide-add-memory-node-address.patch -2fda20516869817dd13324d89d5ebf4347cb15aa5de5d44a87ddba4402ce4c9b4f913dd7a34911a0783cd221d7b75e3a2b0e50b76811c883f55bf06a047e4af9 0016-ARM-dts-tegra20-glide-comment-out-MHL.patch -9a0000f4b69dce55d542eb9efe3dd568403b1056cccaa0b91db9ebd007091eabd6675ceb59c17b900985776ea6747f421df36b34de52c311bb5bcc530d2eb236 0017-ARM-dts-tegra20-glide-fix-duplicate-i2c-bus-address.patch -898cfe0fb15702f40b236e8ae12ea07db960d61e58d1474abdbbe35bd2cfc87748228e78b6c2f2f3058e78982a64a0986a533eca412d2fc2ef344b806c9ecd41 0018-ARM-dts-tegra20-glide-fix-USB-gadget-mode.patch -dae4e3a9bfe17fb58e568ef4467f2344ebd8cff9614f03ee245bca1aec614c0fceaa1a693e8d3aba4cb29577760bf312b3c4c4fbf6223ef606c79b3c4fe7e702 0019-ARM-dts-tegra20-glide-change-display-timings.patch -3919c2f80a0cf6529f2b469c560c822113e703fa0ee40b35f9fc0a244b0060b6b535960c17ce0ba73f9623aeede809f736345cc4db6ff14f41ff2a11be75b4dd 0020-ARM-dts-tegra20-glide-add-intrrupt-binding-for-charg.patch -2e7a2341734c3164803ec589d81a63c85923482c30a51e3cfed8a11b672b75628b77965e554bffbc53e25ccb696f361b163c52b02d5ca52093be3464ef1510d2 0021-drm-panel-s6e63m0-disable-rotation.patch -898cc2e189a0032b7e87208a7d932e43504fded1642e012e6fb97ba34027e5645740c82ca0afd51e951ede548e6343e3bbd0ccd1defe4c7a9b30d4f90a577987 0022-ARM-dts-tegra20-glide-set-panel-reset-GPIO-pin-to-ac.patch -0db0a631fcbefa3df40de808cf4d9e5c09bff05456e99ccb1d728e29c57798a89dacc7fb3b9d294ece40ae188437f3d2e653a91273b7b056dd759bf9b177480d 0023-power-supply-max17040-Fix-voltage-reporting.patch -a9c2ea83254fdf682835f040a4f7803e189c62362834eafce97618b3e364a753cb91ac55b8eecb2341f01186d743dc544685475fa934244e9fb7bd6a575b092c 0024-power-supply-max17040-Set-initial-RCOMP-value.patch -5171517d32de9df58731bd01d5bcde646a9ea556c6b49840d09a66a95d4ad0c9785e507b314684bb8902d7e073406e3fc198f124baad0c02f21a506cc0298896 0025-drm-panel-s6e63m0-Increase-back-porch.patch -9ba9c82b0eca98d82fed651aac20e95299347bb42115e19d58d0d9af806cf95ff61e027986054aebee8c7e6cdb830453130281f38ae27c68e57fc6bcfcab35af 0026-ARM-dts-tegra20-glide-fix-AK8975.patch -f0822d4adc53b5ba9f1c1f1584785b65c6a830bebdd6f87015d33198764274153f69954ed3329e5300b48d7ddcdc90bce5a24e1cbb29169dcf7915f483d6b730 0027-Input-mcs_touchkey-Add-parse-DT-function-from-device.patch -032013b850cc2dadcb49d5184744fb9b9d8c7860e8cbc9b7250e6bc4a37a22e12bb3a1c871fff325ccd11163aa19073171d2fcce0355d7434ef66af435eb9053 0028-input-keyboard-mcs_touchkey-Convert-to-devm_-managed.patch -ff77927fb87dd283484feccf8c9ef073f42ccebd2192a87c1fe78a9423dd7b3bcc1e3dfdb0999a5500452a42135151c2ed9e77d3c34e0b9b84ca7f4a1dead8d4 0029-input-keyboard-mcs_touchkey-add-sentinel-into-array-.patch -f02cbe2baeb4784eebdc491aa4b12e97ae7fdaf2a5130231b3eb1f562c32e7257cc6eb416c4cd36c6d176741c5e9d98c9b194d255383f6a36ed5ae723896b3c7 0030-TRATS2-dts-exynos4412-m0.dts-Add-mcs-touchkey-node.patch -17841e65cf2e0a8cc2959055f854982bfa1060e5a50c54658a6023919c2c1591acb800c64b779ebb9f2647c5160e05066c82d0fe36345030cdb5074fc9a75541 0031-ARM-dts-tegra20-glide-Add-touchkey-binding.patch -ceae739b569fcc7ce1fb88903bd5a5d2640c5a843a1904beed761f6a26eb515baa5c3f8881b76e4c16b7d264381ee9e9e390d5a524fbd0e9556b32c544703286 0032-ARM-dts-tegra20-glide-Add-keyboard-backlight-LED.patch -815fa2ad4f00f9252a7162924ebb9e21ca535697dd80b50580049549589760ab20d43263d0963877cb21a9ab0018bfed4c01f7989263d88ae5bcd67deeaaa0f3 0033-input-keyboard-mcs_touchkey-LED-support.patch -e0a33d3478fbb9a9041e435996fac6ef0e1c93c435b2dc73f80d1f329d5e0dbdcecf749888a8d4d3d164854288075d4b99f129df3caee7593ca8d2b3d9307d4b 0034-ARM-dts-tegra20-glide-Add-HALL-GPIO-binding.patch -74991393af78bc7cd495eed25ba6f3d75ef05e7ee6be7e2f0085db52eda8838d338721ef7ef7ddfc37bbc55a1462d58dbf74c0494e3fa0248643421e0f0f38cd 0035-ARM-dts-tegra20-glide-Change-keyboard-keycodes.patch -9f88dadbe76eb9694b42bb6ab5031a63e03cee1f3a046036dc255761001d49c852a617b44c14868def7d17602c2f3f7d25e5f66d65232cc9d0b80f05a9e605b4 0036-ARM-dts-tegra20-glide-Fix-UART-bindings.patch -ecf0d3d69e073d8725e31cae8c1ffc6dcd983b6f8ec9c37b40d1cbbcba3f82326cfd2ad89a4e53f272f9bea2b9f06abb1e662e987e52429ef8eb72b9cb3c79ed 0037-ARM-dts-tegra20-glide-USB-OTG-mode-and-power.patch -18d59fcd6e78410e874db04d6f4dce7e427c67cef3821b01488b0b815ad6dfc4d18e420c56385686a19e44dadb33c760824136dcb1938bc5d3a052ca2f515000 0038-ARM-dts-tegra20-glide-Remove-WiFi-host-wake-GPIO.patch -3ebb4b6b495e1b78bb591f47024158041a724004441de30272fe35f65a09703c6259759d3add1a7cd6774d46c09c976ac1607ee6e8018871dc5e4fde3caae21c 0039-ARM-dts-tegra20-glide-Add-bindings-for-microphone.patch" +sha512sums="cfe43b47430039e9b1fee49c6055050fa1f1a1dfc480f85e9fdc381ce44d7109f7fb86e5ff2d47178896da3e42f5b0dc2e44a661933ea38a934586718550611e linux-samsung-i927-5.2.1.tar.gz +1197e089dcd206b9a9a4547314ec0d726da65a3f11889fab3d0528d088aaaca8f7447e78e8704b7cdc6ae908052a043cd2ad2d399178654d6382033373435191 config-samsung-i927.armv7 +e69f22d680e13a8d50e5269167e8d7f34306cebf50749b83be584af0ba8e95aee8737946e4cc04aee0f6cdbce3eac4675286a011d860d289871c1533425cd764 0001-dt-bindings-drm-panel-Add-Samsung-s6e63m0-panel-docu.patch +63d16fdc9f214a31dbacc5122c5a428f53af30cd64eb79ee3809a6108ffa76dccb6e70edb99f6ad21b73b84dc948aad6eba2314becfe3a936fc0f2d945eab0c6 0002-drm-panel-Add-driver-for-Samsung-S6E63M0-panel.patch +2f2957bff6762b3bb31291eb77bd72634d4dc77b390bf92e8b04e4f05566eaae405b5892431c2094a153bf53c4886052785eae9b6552e80d349b1547907003cb 0003-drm-tegra-Hacks-for-S6E63M0.patch +df473d00bcef434badc0cb656a03a7fecaa54cb63111024f562a02a3499b881acce051653efd0761787c5a8344b1756d948cdff3b1f0f93ac26a75d64551e035 0004-soc-tegra-fix-build-for-Tegra.patch +84fad38c64e49bf26d23ff720e67e78cc767fa6325f9cc6682b1d06ab331571787be6caf67b4e5a03756a468e490354ee81ad5faada733c9b0cee86e88e5d89f 0005-mmc-core-Add-a-quirk-for-NVIDIA-Tegra-EMMC.patch +99efab40b6ff345fcb5cb23a14b17ce084d7476ac9f0295f71ce7cbb003ad19ace1f4bd8f4775324a035524e1fd2fdfe32dc244cd482543ae7a2a121931dfb76 0006-leds-Add-led-class-support-isa1200-vibration-motor.patch +0cbd9290e508bbe5b90b9f8a26acb9298382b0e2edd947afc736dedec2e52c038ebd1fc2985ad52e6e3529edf4e2c3a60b7530cd1f5eb41e5b36c64936a1c52a 0007-ARM-dts-tegra20-glide-Samsung-SGH-I927-support.patch +fb77c76f628f42167d99c92d89b4a550346b79975e45a6bc1df32a5b2ef093a13a08d4395cdc3fff7821f29e150cce5a2807455d32d300f4b1e14a3c1ea111fd 0008-Input-stmpe-keypad-add-STMPE1801-support.patch +79adccc51552d6a88e087d7c7dd1e9baf6791790b40a2bbc02fa4cdd469fed4b47f408c2197112d59f66db882fbf9efd2939a580ed2585453d53a9dbef891dda 0009-Add-tegra_wm8994-driver.patch +e3fa16e72b22d076a7961b4eeead19e9dfcf26a75f9c3c1c34289b770ece68c0a48b47a245f548fba737a2dad2227fcaf8857debc2a8bf7c6363099ffce859a7 0010-HACK-Fix-wm8994-Kconfig.patch +76788105ae46ab2fe302509eeccd5ce2e00632d6ebca3bcdc17200839016cd3b9ca498a5a502861039e4ef9ee5d7d1d13270e5707329b6faa21388fe00d9b499 0011-ASoC-tegra_wm8994-cleanup.patch +06a1a596a4a85b6c513d03b67002b8e5a58ad2c3bf789850777e10885eb8006619c5bdba5fdd6aacec01883a0bd29fdfe14a8d591282231ad600ecffb6455ef4 0012-ARM-dts-tegra20-glide-Device-Tree-changes.patch +29c24ac202c2cef85ffca654dede5babfca03f46e4e80f32b2dd9342b51943af27b99a37ef083817d3420b96ff7a763e110574eb4d7a097f20055ef6ab3e9225 0013-ARM-dts-tegra20-glide-add-memory-node-address.patch +1928622bb065f8129caced31bd68582207ba7a162892605e9226b1f953b41ea2a546a19337d35960c5a6b077b20b850fa5058319f673e8b740d875425b9456f2 0014-ARM-dts-tegra20-glide-comment-out-MHL.patch +7b8bf94bea2f3d002f626951f4158888b987482b2f7f056bb00bb4bfc5eccbd23bb8ba324f7a2b7c68adae4a43ebe5c4e777a723b02725588098dcc4bca5211b 0015-ARM-dts-tegra20-glide-fix-duplicate-i2c-bus-address.patch +a91fd639069ef0b6905f36b6e61a690c15f050e6beaf13f60e5785c8f2587ae5589f85b247bf4d04ba741b059cffe9bb87bff1e3463aabad40aa0d948c1a720d 0016-ARM-dts-tegra20-glide-fix-USB-gadget-mode.patch +0792f60bbc18caedb79c3a776a28826a72acda524f95db41c576ccdc5e458e9b934cbd8902601cdfe5735fde086a99eca451d454fb705f9e52117cf9db41e3b9 0017-ARM-dts-tegra20-glide-change-display-timings.patch +3ada824e78ea141f344bf83c7e72c8113fa47a66ad9d1f64be6d9d1a54fc7e99e388cb0d266188c2b42bf20e1291fc4744ff5fbc81a8fa71451de29819409ef7 0018-ARM-dts-tegra20-glide-add-intrrupt-binding-for-charg.patch +650a00272e1cf711bb055ea493f025914247a2fa9e2403b03046df8f7519aa3950a2da75e603a7a334ef787d343ebc4e0df37512a7cd80584d15a9ae9b8b30c4 0019-drm-panel-s6e63m0-disable-rotation.patch +e5e1eac8b4ac0ad8b84815ae105106d5889c1f128ca87a23aabe2e620521d6e49ffaa26ccc3e0dcdd04462e45ffd419a183fdcb15ca6c38c6d23b8d9c4a66e42 0020-ARM-dts-tegra20-glide-set-panel-reset-GPIO-pin-to-ac.patch +8b2f13129caf53fb96e2814610b01519972e04dd7844cf6bf86ee0c559134228d50da8c77d2bbd8d1d80300dc9471c7ce742bdd283e154c42e47b33598d912a0 0021-power-supply-max17040-Fix-voltage-reporting.patch +d6f906779a159b6ac1f8cd170d249a967df47c3c03d5275a86ca74124d9a3453472994d21dfd78d46571a3e791550c8abf5e854a1dbd225a2007eea8baef172f 0022-power-supply-max17040-Set-initial-RCOMP-value.patch +0299d7402a12f0cf7e83a21a8670b1c38db23e64d9ffa45d223274c02367317736bd56151056d276158f43b6d4b802b5e3f6bd4262e73cd2984089e116e01105 0023-drm-panel-s6e63m0-Increase-back-porch.patch +01b240d94b0f6d5823b594437836b8fbfd7296204f01abea5ba8f36b8e047259cc6845412856396e542b5f62d9bcdf8832ccc968a8fed5889d5c76fb565d2675 0024-ARM-dts-tegra20-glide-fix-AK8975.patch +134bcb83572eef64718f188dd754c96a8b9011909c1735b84d9c6740f1fa9db7ef3554c3b9135d70aa054c92a85850846ed1092f5bf7641abe9723af359861a7 0025-Input-mcs_touchkey-Add-parse-DT-function-from-device.patch +5b8ceaae7e4305dc740dd78960d3c5279eacc9ba77d1984f9593a666b803e4a69ee8e55b59d5f2dc3adaa2f35d7ad0c4fb804f934db9e469a42b116471ba51d8 0026-input-keyboard-mcs_touchkey-Convert-to-devm_-managed.patch +e6f9650babb47dbab25cfdafb9782c0b1740755ff7d40614d26cd00aeec791c1d27a861587997db7f7664f84ac2feeca876cffa8b47748acdb52ecc95d4411b0 0027-input-keyboard-mcs_touchkey-add-sentinel-into-array-.patch +6ec724ec74c5b434343e9ea9fdb26abca83d44077a2ecc6868374260136d4bbf1a82e13b79a7245b672a58a983429c41fd6aaddd692c4689bfa310d7a8f7bba9 0028-TRATS2-dts-exynos4412-m0.dts-Add-mcs-touchkey-node.patch +115349dcb99893918cfb98be2073d9c42002d194be826c0d141ac2c2d192d787f33c85de09039d8b006a62c9e9f45238837ff844b8a4ecd9437224f028882d60 0029-ARM-dts-tegra20-glide-Add-touchkey-binding.patch +c4a5ad73e005749c21c70829e764e8614b9df8cee0959df2f9157fa5173c3f21c3e94647a84382bf712c0819ab7f662c98c724dcbbe4a991c6f735947bf4e27a 0030-ARM-dts-tegra20-glide-Add-keyboard-backlight-LED.patch +b98956c0ee84d6b4821438d58dd11b75566f5d133964ddcaada7ba12e9e91c01a88c057d0a9d8e42f43f0391b6121b445504f007791b183b21b14cef75d53470 0031-input-keyboard-mcs_touchkey-LED-support.patch +b2ed9499c04c2a2c9d34f85164ed778f072b914628d7ba79323d41fc7c0f908715eb6399768c5169c6d0eaf912361613cd63beae70e82c30b3697f2431b83690 0032-ARM-dts-tegra20-glide-Add-HALL-GPIO-binding.patch +a2a5dc18b28eace66027a5a0a504eefc98b399425899ce7e2970e6c1a701b954d2416ce71c15e547a49e272dfcd6d33770f864cf3435b5aa4f98b2a25417a2a3 0033-ARM-dts-tegra20-glide-Change-keyboard-keycodes.patch +ab057baf5679591de61061ec6b52838d4ec5d39591b3817c57d5af9c1d10eec32b2d81eb325e6423efb0e583f427fedd27a8d3c2f035e5f9057bf42cd63306f2 0034-ARM-dts-tegra20-glide-Fix-UART-bindings.patch +c44f97e0aa5709cd89e00bbe7c5bb4ca2820a1761b9da02a1aebb67d155b36d509d2f21114a8286c0c0117df4b0d49873b957980461c09615c7f2e0d2c1db856 0035-ARM-dts-tegra20-glide-USB-OTG-mode-and-power.patch +61e1a6a801b2830f2bbe2346e7618439d5dbe7deb82d3259534e3180fc3629ecf6f62409cea40b8ae9ea79113e69556a838a543f4dedc81832db69cc528e06db 0036-ARM-dts-tegra20-glide-Remove-WiFi-host-wake-GPIO.patch +ff05cc1bdd00bfb3f06fcd4696ecd95074dc521bdf36fe8e5a0f2cb70e783dfd0a343e8f6ac205ad53fe520c0a4439f464d0c02640fd809503d798afd85b975f 0037-ARM-dts-tegra20-glide-Add-bindings-for-microphone.patch +04975057b05eb6513a5c1c56cc665fd4b37d43957839de789e1ac28a679571746c4cb796795eac7b83b8512589ee2b046fce74a3d270dac78e554366c6984764 0038-extcon-Add-fsa9480-extcon-driver.patch +a2808d1a7980f2d8685ad8b2db5afe15cfa022662da4a37d78096d630e1c927be320458cb828e91e57457057ac79000878f7b04b3cfb1d248d67cc45f48f994d 0039-ARM-dts-tegra20-glide-Workaround-RTC-bugs.patch +d6a137e21fe73c43900cb4908c53197ccbf6e4847aa30e1639719454853e41971420d5ca55235b0aebfe67b0af3e5c410458033153122d2900cb517bb6e38d6d 0040-ARM-dts-tegra20-glide-Fixup-GPS-binding.patch +b83c78dc91a3262c419b1d0a895de18f876c8d32585af0aa1f789a8a76793c5e4a5835728f8f6d20d5838d857d92033e804b41bd7d92608ca940649c87139386 0041-regulator-max8893-add-regulator-driver.patch +c61090815d9c8ac068ba06fc8f8164f3b7eca7e2e7478f84002e6f16dc480f05414acec351ff96890eb6a93d5e3d0dadb82efa8ff04184fcf4406543f371d04b 0042-ARM-dts-tegra20-glide-Add-cameras-regulators.patch +98d66a74d4fd74ce98128bb4ff81ac3ff86dc9c15e999016f7c86a18f2d8c47a032b8e54a8cb8bc5a39652cbf4058a0b1256809246c956be43596a2d4d785ad9 0043-ARM-dts-tegra20-glide-Disable-BBAT-regualtor.patch +03c29a82f7c46a6d2e47c4ff9012a44aee4abdb81d3d16f52016700dd150a81eae866c38f5168280a1397363774647e6623993eaaf940cba03f6088957fedee1 0044-ARM-dts-tegra20-glide-Set-boot-on-property-to-vdd_ar.patch +3e6cfb8075e6a14b9d1b841fe535e1bc2f617692f668348e1e8017017f027c2eb842688db39b525c32305c9001436273999ac6c081a17a90c0d5911df204508f 0045-ARM-dts-tegra20-glide-Fix-STMPE-GPIO-binding.patch +e9e377606771c5e7430f90636675e7344a57129c2270da667340d7230baecf20602f9f560b73b3b400fe40c5fab4974755fbcd32dd6a758b9927917c6dbb75cd 0046-power-supply-Add-regulator-to-max8903-charger-for-VB.patch +c07078576f3de7d8b71f3bc2daaffee646bd34b3e99528fe8321c19353ba8cbbe0e047c38db6bc1651269fc87eb831cb53b37ad828e64d67013344fc2a77767b 0047-ARM-dts-tegra20-glide-Add-binding-for-charger.patch +db62d3f55e98243e5ba5271598dd0f81082f2bb95a1f260c78ebe390a3fad48a96e401155597c00f9d336ad6a3dc9f272e3607939f191900cfc42ec01ea66053 0048-ARM-dts-tegra20-glide-Add-binding-for-FSA9480.patch +d60843e183736b2cc980d0841a28aee3f7b60e808a435bea9c70fd53bd93d1e3dd85cd70f6ae4b85e55204399682106f8f83bcd9d9e0541e6e8fcddc87046e52 0049-ARM-dts-tegra20-glide-Remove-combined-power-req-prop.patch +7a65bea256f2dc9fb3ba79a83c72668a420f94634e6a32af1c96e6f8c672c889ecb786f4e757445cce244161e3377e5737e5c3349f8145e6cd727489342a27cc 0050-ARM-dts-tegra20-glide-Add-EMC-memory-timings.patch +3a466387563e1164d0a5945de8f5c58fedb8e096866e0104ffe3955b42beae2bfe193c59dc37b4e15571a0a3c2bd27932ba91f98e46fd02f6a1d14936fce0553 0051-ARM-dts-tegra20-glide-USB-OTG-bindings.patch +031c3828ec68ad9ee781debf0fbe963e01906cdc5501a0a3a8c96568d54b603be93717d4566b4a20931bd3241d8f3fd4ba11d4e79ad510208f1e34e483f0bdc3 0052-ARM-dts-tegra20-glide-Fixup-MMC-bindings.patch +00de35a696ae8157cfcf6e01969b0d4fc6baa78411de9453cfa7b5604fab7e38b8e8632afa53a9bf6d9881819be0ed68b8025b5d38a22be779a74a7db1a815af 0053-ARM-dts-tegra20-glide-Uncomment-SII9234-MHL-nodes.patch +d2d496363a99ae0f4ca035db529c94f6947888096452792b05ceb4c6062071fc662c187c3253d2d53669eb5fa5618d0d1a299feae66812e70adc31eb0b61d591 0054-ARM-dts-tegra20-glide-Fix-audio-power-binding.patch +e6afa8f6874020c35d17604a358ef3005b37062154967d99d0b01a45fb60cb1831878331388b176009c2e4dc6e427f83d5ef4e5f41153a5da12cc6c51282416c 0055-ARM-dts-tegra20-glide-Set-up-VSENSOR-regulator.patch +19eabc6df1544b96ec2fcd263bc02c1d86cde7377ec44bd825f1d542858b01fd7569d9809bdfe1c3ff141d098f5daa9181f5469539a626a9316792531cf8f465 0056-ARM-dts-tegra20-glide-Lower-GPIO-I2C-frequency.patch +5e51d492a47b8c5e9f7c61afba59b90c341a8d3c4783526b23a26d4486e6ebae180030cbfeecf6a78c724efc2fea87ef7b48cc81e28ebc0b7f7e772bde9faa93 0057-ASoC-tegra_wm8994-New-driver-based-on-WM8903.patch +15cf6ea4a27297ca24bb1c7a01abbde983b9783ce24339b59561c9aef09f3d86c36e183babeb603a20f9ca24cbf3b8274ee9d9d9467aa77450c30eeb4b3262aa 0058-ARM-dts-tegra20-glide-Bindings-for-new-audio-driver.patch +feb09eeed8df63c732d8bd0d394d3be3524f88c77d7a5168d3ba712fe703f9063f63d2f210b600e1efd5a0139d6d4eed898a5b0b07803b1a2c11bc04c96b238d 0059-drm-panel-s6e63m0-Workaround-screen-corruption-on-bo.patch" diff --git a/device/linux-samsung-i927/config-samsung-i927.armv7 b/device/linux-samsung-i927/config-samsung-i927.armv7 index b2daddc07..b106bdb7a 100644 --- a/device/linux-samsung-i927/config-samsung-i927.armv7 +++ b/device/linux-samsung-i927/config-samsung-i927.armv7 @@ -1,14 +1,16 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 4.20.4 Kernel Configuration +# Linux/arm 5.2.1 Kernel Configuration # # -# Compiler: arm-none-eabi-gcc (Arch Repository) 7.3.0 +# Compiler: armv7-alpine-linux-musleabihf-gcc (Alpine 8.3.0) 8.3.0 # CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=70300 +CONFIG_GCC_VERSION=80300 CONFIG_CLANG_VERSION=0 +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y @@ -47,12 +49,16 @@ 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_IRQ_DOMAIN=y CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + CONFIG_GENERIC_IRQ_MULTI_HANDLER=y CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_GENERIC_TIME_VSYSCALL=y @@ -70,6 +76,8 @@ CONFIG_NO_HZ_IDLE=y # CONFIG_NO_HZ_FULL is not set # CONFIG_NO_HZ is not set CONFIG_HIGH_RES_TIMERS=y +# end of Timers subsystem + # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y @@ -84,6 +92,8 @@ CONFIG_TICK_CPU_ACCOUNTING=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 # @@ -96,9 +106,11 @@ CONFIG_TREE_SRCU=y CONFIG_TASKS_RCU=y CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_NEED_SEGCBLIST=y -CONFIG_BUILD_BIN2C=y +# end of RCU Subsystem + CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y +# CONFIG_IKHEADERS is not set CONFIG_LOG_BUF_SHIFT=17 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 @@ -138,7 +150,6 @@ CONFIG_RD_GZIP=y CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y -CONFIG_ANON_INODES=y CONFIG_HAVE_UID16=y CONFIG_BPF=y # CONFIG_EXPERT is not set @@ -160,6 +171,7 @@ CONFIG_TIMERFD=y CONFIG_EVENTFD=y CONFIG_SHMEM=y CONFIG_AIO=y +CONFIG_IO_URING=y CONFIG_ADVISE_SYSCALLS=y CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y @@ -176,6 +188,8 @@ CONFIG_PERF_USE_VMALLOC=y # Kernel Performance Events And Counters # CONFIG_PERF_EVENTS=y +# end of Kernel Performance Events And Counters + CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLUB_DEBUG=y CONFIG_COMPAT_BRK=y @@ -184,18 +198,19 @@ CONFIG_SLUB=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLAB_FREELIST_RANDOM is not set # CONFIG_SLAB_FREELIST_HARDENED is not set +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set CONFIG_SLUB_CPU_PARTIAL=y CONFIG_SYSTEM_DATA_VERIFICATION=y # CONFIG_PROFILING is not set +# end of General setup + CONFIG_ARM=y CONFIG_ARM_HAS_SG_CHAIN=y -CONFIG_MIGHT_HAVE_PCI=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_HAVE_PROC_CPU=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y @@ -240,6 +255,8 @@ CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_MULTI_V6 is not set CONFIG_ARCH_MULTI_V7=y CONFIG_ARCH_MULTI_V6_V7=y +# end of Multiple platform selection + # CONFIG_ARCH_VIRT is not set # CONFIG_ARCH_ACTIONS is not set # CONFIG_ARCH_ALPINE is not set @@ -255,6 +272,7 @@ CONFIG_ARCH_MULTI_V6_V7=y # CONFIG_ARCH_KEYSTONE is not set # CONFIG_ARCH_MEDIATEK is not set # CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MILBEAUT is not set # CONFIG_ARCH_MMP is not set # CONFIG_ARCH_MVEBU is not set # CONFIG_ARCH_NPCM is not set @@ -268,8 +286,11 @@ CONFIG_ARCH_MULTI_V6_V7=y # CONFIG_SOC_AM33XX is not set # CONFIG_SOC_AM43XX is not set # CONFIG_SOC_DRA7XX is not set +# end of TI OMAP/AM/DM/DRA Family + # CONFIG_ARCH_SIRF is not set # CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_RDA is not set # CONFIG_ARCH_REALVIEW is not set # CONFIG_ARCH_ROCKCHIP is not set # CONFIG_ARCH_S5PV210 is not set @@ -287,13 +308,6 @@ CONFIG_ARCH_TEGRA=y # CONFIG_ARCH_WM8850 is not set # CONFIG_ARCH_ZX is not set # CONFIG_ARCH_ZYNQ is not set -CONFIG_ARCH_SUPPORTS_FIRMWARE=y -CONFIG_ARCH_SUPPORTS_TRUSTED_FOUNDATIONS=y - -# -# Firmware options -# -# CONFIG_TRUSTED_FOUNDATIONS is not set # # Processor Type @@ -354,17 +368,12 @@ CONFIG_ARM_ERRATA_764369=y # CONFIG_ARM_ERRATA_825619 is not set # CONFIG_ARM_ERRATA_852421 is not set # CONFIG_ARM_ERRATA_852423 is not set +# end of System Type # # Bus support # -# CONFIG_PCI is not set - -# -# PCI Endpoint -# -# CONFIG_PCI_ENDPOINT is not set -# CONFIG_PCCARD is not set +# end of Bus support # # Kernel Features @@ -416,6 +425,7 @@ CONFIG_ALIGNMENT_TRAP=y # CONFIG_PARAVIRT is not set # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set # CONFIG_XEN is not set +# end of Kernel Features # # Boot options @@ -434,6 +444,7 @@ CONFIG_CMDLINE="" # CONFIG_CRASH_DUMP is not set CONFIG_AUTO_ZRELADDR=y # CONFIG_EFI is not set +# end of Boot options # # CPU Power Management @@ -465,6 +476,7 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y # CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set CONFIG_ARM_TEGRA20_CPUFREQ=y # CONFIG_QORIQ_CPUFREQ is not set +# end of CPU Frequency scaling # # CPU Idle @@ -473,13 +485,18 @@ CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y # CONFIG_CPU_IDLE_GOV_LADDER is not set CONFIG_CPU_IDLE_GOV_MENU=y +# CONFIG_CPU_IDLE_GOV_TEO is not set CONFIG_DT_IDLE_STATES=y # # ARM CPU Idle Drivers # CONFIG_ARM_CPUIDLE=y +# end of ARM CPU Idle Drivers + CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED=y +# end of CPU Idle +# end of CPU Power Management # # Floating point emulation @@ -491,6 +508,7 @@ CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED=y CONFIG_VFP=y CONFIG_VFPv3=y # CONFIG_NEON is not set +# end of Floating point emulation # # Power management options @@ -508,14 +526,17 @@ CONFIG_APM_EMULATION=y CONFIG_PM_CLK=y # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set CONFIG_CPU_PM=y +# CONFIG_ENERGY_MODEL is not set CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARM_CPU_SUSPEND=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y +# end of Power management options # # Firmware Drivers # # CONFIG_FW_CFG_SYSFS is not set +# CONFIG_TRUSTED_FOUNDATIONS is not set CONFIG_HAVE_ARM_SMCCC=y # CONFIG_GOOGLE_FIRMWARE is not set @@ -523,6 +544,9 @@ CONFIG_HAVE_ARM_SMCCC=y # Tegra firmware driver # # CONFIG_TEGRA_IVC is not set +# end of Tegra firmware driver +# end of Firmware Drivers + CONFIG_ARM_CRYPTO=y CONFIG_CRYPTO_SHA1_ARM=y # CONFIG_CRYPTO_SHA256_ARM is not set @@ -547,8 +571,10 @@ CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_GENERIC_IDLE_POLL_SETUP=y CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_KEEPINITRD=y CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_ARCH_32BIT_OFF_T=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_RSEQ=y CONFIG_HAVE_CLK=y @@ -574,6 +600,8 @@ CONFIG_ARCH_MMAP_RND_BITS=8 CONFIG_CLONE_BACKWARDS=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_OLD_SIGACTION=y +CONFIG_64BIT_TIME=y +CONFIG_COMPAT_32BIT_TIME=y CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y @@ -582,14 +610,19 @@ CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y CONFIG_STRICT_MODULE_RWX=y CONFIG_ARCH_HAS_PHYS_TO_DMA=y CONFIG_REFCOUNT_FULL=y +# CONFIG_LOCK_EVENT_COUNTS is not set # # GCOV-based kernel profiling # +# CONFIG_GCOV_KERNEL is not set CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y -CONFIG_PLUGIN_HOSTCC="g++" +# end of GCOV-based kernel profiling + +CONFIG_PLUGIN_HOSTCC="" CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set +# end of General architecture-dependent options + CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 CONFIG_MODULES=y @@ -603,7 +636,6 @@ CONFIG_MODULE_FORCE_UNLOAD=y # CONFIG_TRIM_UNUSED_KSYMS is not set CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y -CONFIG_LBDAF=y CONFIG_BLK_SCSI_REQUEST=y CONFIG_BLK_DEV_BSG=y # CONFIG_BLK_DEV_BSGLIB is not set @@ -611,6 +643,7 @@ CONFIG_BLK_DEV_BSG=y # CONFIG_BLK_DEV_ZONED is not set CONFIG_BLK_CMDLINE_PARSER=y # CONFIG_BLK_WBT is not set +CONFIG_BLK_DEBUG_FS=y # CONFIG_BLK_SED_OPAL is not set # @@ -636,21 +669,18 @@ CONFIG_MSDOS_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_SYSV68_PARTITION is not set CONFIG_CMDLINE_PARTITION=y +# end of Partition Types + CONFIG_BLK_PM=y # # IO Schedulers # -CONFIG_IOSCHED_NOOP=y -CONFIG_IOSCHED_DEADLINE=y -CONFIG_IOSCHED_CFQ=y -# CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_CFQ=y -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="cfq" CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y # CONFIG_IOSCHED_BFQ is not set +# end of IO Schedulers + CONFIG_ASN1=y CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y @@ -670,12 +700,14 @@ CONFIG_BINFMT_SCRIPT=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=y CONFIG_COREDUMP=y +# end of Executable file formats # # Memory Management options # CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_ARCH_KEEP_MEMBLOCK=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_COMPACTION=y CONFIG_MIGRATION=y @@ -692,6 +724,8 @@ CONFIG_GENERIC_EARLY_IOREMAP=y # CONFIG_IDLE_PAGE_TRACKING is not set # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_BENCHMARK is not set +# end of Memory Management options + CONFIG_NET=y CONFIG_NET_INGRESS=y @@ -701,14 +735,10 @@ CONFIG_NET_INGRESS=y CONFIG_PACKET=y # CONFIG_PACKET_DIAG is not set CONFIG_UNIX=y +CONFIG_UNIX_SCM=y # CONFIG_UNIX_DIAG is not set # CONFIG_TLS is not set -CONFIG_XFRM=y # CONFIG_XFRM_USER is not set -# CONFIG_XFRM_INTERFACE is not set -# CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set -# CONFIG_XFRM_STATISTICS is not set # CONFIG_NET_KEY is not set CONFIG_INET=y # CONFIG_IP_MULTICAST is not set @@ -729,9 +759,6 @@ CONFIG_NET_IP_TUNNEL=y # CONFIG_INET_ESP is not set # CONFIG_INET_IPCOMP is not set CONFIG_INET_TUNNEL=y -CONFIG_INET_XFRM_MODE_TRANSPORT=y -CONFIG_INET_XFRM_MODE_TUNNEL=y -CONFIG_INET_XFRM_MODE_BEET=y CONFIG_INET_DIAG=y CONFIG_INET_TCP_DIAG=y # CONFIG_INET_UDP_DIAG is not set @@ -749,10 +776,6 @@ CONFIG_IPV6=y # CONFIG_INET6_IPCOMP is not set # CONFIG_IPV6_MIP6 is not set # CONFIG_IPV6_ILA is not set -CONFIG_INET6_XFRM_MODE_TRANSPORT=y -CONFIG_INET6_XFRM_MODE_TUNNEL=y -CONFIG_INET6_XFRM_MODE_BEET=y -# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set # CONFIG_IPV6_VTI is not set CONFIG_IPV6_SIT=y # CONFIG_IPV6_SIT_6RD is not set @@ -832,7 +855,6 @@ CONFIG_NETFILTER_XT_MATCH_HL=y # CONFIG_NETFILTER_XT_MATCH_NFACCT is not set # CONFIG_NETFILTER_XT_MATCH_OSF is not set # CONFIG_NETFILTER_XT_MATCH_OWNER is not set -# CONFIG_NETFILTER_XT_MATCH_POLICY is not set # CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set # CONFIG_NETFILTER_XT_MATCH_QUOTA is not set # CONFIG_NETFILTER_XT_MATCH_RATEEST is not set @@ -845,6 +867,8 @@ CONFIG_NETFILTER_XT_MATCH_HL=y # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set # CONFIG_NETFILTER_XT_MATCH_TIME is not set # CONFIG_NETFILTER_XT_MATCH_U32 is not set +# end of Core Netfilter Configuration + # CONFIG_IP_SET is not set # CONFIG_IP_VS is not set @@ -871,6 +895,7 @@ CONFIG_IP_NF_MANGLE=y CONFIG_IP_NF_ARPTABLES=y CONFIG_IP_NF_ARPFILTER=y # CONFIG_IP_NF_ARP_MANGLE is not set +# end of IP: Netfilter Configuration # # IPv6: Netfilter Configuration @@ -881,6 +906,8 @@ CONFIG_IP_NF_ARPFILTER=y # CONFIG_NF_REJECT_IPV6 is not set # CONFIG_NF_LOG_IPV6 is not set # CONFIG_IP6_NF_IPTABLES is not set +# end of IPv6: Netfilter Configuration + # CONFIG_BPFILTER is not set # CONFIG_IP_DCCP is not set # CONFIG_IP_SCTP is not set @@ -927,6 +954,9 @@ CONFIG_NET_FLOW_LIMIT=y # Network testing # # CONFIG_NET_PKTGEN is not set +# end of Network testing +# end of Networking options + # CONFIG_HAMRADIO is not set # CONFIG_CAN is not set CONFIG_BT=y @@ -940,6 +970,7 @@ CONFIG_BT_HIDP=y CONFIG_BT_HS=y CONFIG_BT_LE=y # CONFIG_BT_LEDS is not set +CONFIG_BT_DEBUGFS=y # # Bluetooth device drivers @@ -965,7 +996,10 @@ CONFIG_BT_HCIUART_BCM=y # CONFIG_BT_HCIBFUSB is not set # CONFIG_BT_HCIVHCI is not set # CONFIG_BT_MRVL 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_WIRELESS=y @@ -977,6 +1011,7 @@ CONFIG_CFG80211=y CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set CONFIG_CFG80211_CRDA_SUPPORT=y CONFIG_CFG80211_WEXT=y # CONFIG_MAC80211 is not set @@ -995,8 +1030,6 @@ CONFIG_RFKILL_INPUT=y # CONFIG_LWTUNNEL is not set CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y -# CONFIG_NET_DEVLINK is not set -CONFIG_MAY_USE_DEVLINK=y # CONFIG_FAILOVER is not set CONFIG_HAVE_EBPF_JIT=y @@ -1005,6 +1038,9 @@ CONFIG_HAVE_EBPF_JIT=y # CONFIG_ARM_AMBA=y CONFIG_TEGRA_AHB=y +CONFIG_HAVE_PCI=y +# CONFIG_PCI is not set +# CONFIG_PCCARD is not set # # Generic Driver Options @@ -1022,6 +1058,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y CONFIG_EXTRA_FIRMWARE="" # CONFIG_FW_LOADER_USER_HELPER is not set +# end of Firmware loader + CONFIG_ALLOW_DEV_COREDUMP=y # CONFIG_TEST_ASYNC_DRIVER_PROBE is not set CONFIG_GENERIC_CPU_AUTOPROBE=y @@ -1034,6 +1072,7 @@ 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 @@ -1042,8 +1081,11 @@ CONFIG_GENERIC_ARCH_TOPOLOGY=y # CONFIG_SIMPLE_PM_BUS is not set CONFIG_TEGRA_GMI=y # CONFIG_VEXPRESS_CONFIG is not set +# end of Bus devices + # CONFIG_CONNECTOR is not set CONFIG_GNSS=y +# CONFIG_GNSS_MTK_SERIAL is not set CONFIG_GNSS_SIRF_SERIAL=y # CONFIG_GNSS_UBX_SERIAL is not set # CONFIG_MTD is not set @@ -1077,6 +1119,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # # CONFIG_NVME_FC is not set # CONFIG_NVME_TARGET is not set +# end of NVME Support # # Misc devices @@ -1095,10 +1138,11 @@ CONFIG_APDS9802ALS=y # CONFIG_SENSORS_APDS990X is not set # CONFIG_HMC6352 is not set # CONFIG_DS1682 is not set -CONFIG_USB_SWITCH_FSA9480=y +# CONFIG_USB_SWITCH_FSA9480 is not set # CONFIG_LATTICE_ECP3_CONFIG is not set CONFIG_SRAM=y CONFIG_SRAM_EXEC=y +# CONFIG_PVPANIC is not set # CONFIG_C2PORT is not set # @@ -1112,11 +1156,14 @@ CONFIG_SRAM_EXEC=y # CONFIG_EEPROM_93XX46 is not set # CONFIG_EEPROM_IDT_89HPESX is not set # CONFIG_EEPROM_EE1004 is not set +# end of EEPROM support # # Texas Instruments shared transport line discipline # # CONFIG_TI_ST is not set +# end of Texas Instruments shared transport line discipline + # CONFIG_SENSORS_LIS3_SPI is not set # CONFIG_SENSORS_LIS3_I2C is not set # CONFIG_ALTERA_STAPL is not set @@ -1136,6 +1183,7 @@ CONFIG_SRAM_EXEC=y # # VOP Bus Driver # +# CONFIG_VOP_BUS is not set # # Intel MIC Host Driver @@ -1156,15 +1204,53 @@ CONFIG_SRAM_EXEC=y # # VOP Driver # +# end of Intel MIC & related support + # CONFIG_ECHO is not set # CONFIG_MISC_RTSX_USB is not set +# end of Misc devices # # SCSI device support # CONFIG_SCSI_MOD=y # CONFIG_RAID_ATTRS is not set -# CONFIG_SCSI is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# end of SCSI Transports + +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# end of SCSI device support + # CONFIG_ATA is not set CONFIG_MD=y # CONFIG_BLK_DEV_MD is not set @@ -1184,6 +1270,8 @@ CONFIG_DM_CRYPT=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 @@ -1200,6 +1288,8 @@ CONFIG_NET_CORE=y # CONFIG_MACVLAN is not set # CONFIG_IPVLAN is not set # CONFIG_VXLAN is not set +# CONFIG_GENEVE is not set +# CONFIG_GTP is not set # CONFIG_MACSEC is not set # CONFIG_NETCONSOLE is not set # CONFIG_TUN is not set @@ -1214,6 +1304,8 @@ CONFIG_NET_CORE=y # # Distributed Switch Architecture drivers # +# end of Distributed Switch Architecture drivers + # CONFIG_ETHERNET is not set # CONFIG_MDIO_DEVICE is not set # CONFIG_PHYLIB is not set @@ -1255,11 +1347,13 @@ CONFIG_BRCMFMAC_SDIO=y # CONFIG_WLAN_VENDOR_ZYDAS is not set # CONFIG_WLAN_VENDOR_QUANTENNA is not set # CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_VIRT_WIFI is not set # # Enable WiMAX (Networking options) to see the WiMAX drivers # # CONFIG_WAN is not set +# CONFIG_NETDEVSIM is not set # CONFIG_NET_FAILOVER is not set # CONFIG_ISDN is not set # CONFIG_NVM is not set @@ -1290,6 +1384,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_ADP5588 is not set # CONFIG_KEYBOARD_ADP5589 is not set # CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_KEYBOARD_QT1050 is not set # CONFIG_KEYBOARD_QT1070 is not set # CONFIG_KEYBOARD_QT2160 is not set # CONFIG_KEYBOARD_DLINK_DIR685 is not set @@ -1384,15 +1479,18 @@ CONFIG_TOUCHSCREEN_ATMEL_MXT=y # 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_INPUT_MISC=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ATMEL_CAPTOUCH is not set # CONFIG_INPUT_BMA150 is not set # CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MSM_VIBRATOR is not set # CONFIG_INPUT_MMA8450 is not set # CONFIG_INPUT_GP2A is not set # CONFIG_INPUT_GPIO_BEEPER is not set # CONFIG_INPUT_GPIO_DECODER is not set +# CONFIG_INPUT_GPIO_VIBRA is not set # CONFIG_INPUT_ATI_REMOTE2 is not set # CONFIG_INPUT_KEYSPAN_REMOTE is not set # CONFIG_INPUT_KXTJ9 is not set @@ -1427,6 +1525,8 @@ CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_GPIO_PS2 is not set # CONFIG_USERIO is not set # CONFIG_GAMEPORT is not set +# end of Hardware I/O ports +# end of Input device support # # Character devices @@ -1443,6 +1543,8 @@ CONFIG_UNIX98_PTYS=y # CONFIG_SERIAL_NONSTANDARD is not set # CONFIG_N_GSM is not set # CONFIG_TRACE_SINK is not set +# CONFIG_NULL_TTY is not set +CONFIG_LDISC_AUTOLOAD=y CONFIG_DEVMEM=y # CONFIG_DEVKMEM is not set @@ -1463,7 +1565,7 @@ CONFIG_SERIAL_8250_FSL=y # CONFIG_SERIAL_8250_DW is not set # CONFIG_SERIAL_8250_EM is not set # CONFIG_SERIAL_8250_RT288X is not set -# CONFIG_SERIAL_OF_PLATFORM is not set +CONFIG_SERIAL_OF_PLATFORM=y # # Non-8250 serial port support @@ -1477,6 +1579,7 @@ CONFIG_SERIAL_TEGRA=y # CONFIG_SERIAL_UARTLITE is not set CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_SIFIVE is not set # CONFIG_SERIAL_SCCNXP is not set # CONFIG_SERIAL_SC16IS7XX is not set # CONFIG_SERIAL_BCM63XX is not set @@ -1488,15 +1591,17 @@ CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set # CONFIG_SERIAL_ST_ASC is not set +# end of Serial drivers + CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_HVC_DCC is not set # CONFIG_IPMI_HANDLER is not set # CONFIG_HW_RANDOM is not set -# CONFIG_R3964 is not set # CONFIG_RAW_DRIVER is not set # CONFIG_TCG_TPM is not set # CONFIG_XILLYBUS is not set +# end of Character devices # # I2C support @@ -1520,6 +1625,8 @@ CONFIG_I2C_MUX_PINCTRL=y # 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 @@ -1555,11 +1662,16 @@ CONFIG_I2C_TEGRA=y # # Other I2C/SMBus bus drivers # +# end of I2C Hardware Bus support + # CONFIG_I2C_STUB is not set # CONFIG_I2C_SLAVE is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set +# end of I2C support + +# CONFIG_I3C is not set CONFIG_SPI=y CONFIG_SPI_MASTER=y # CONFIG_SPI_MEM is not set @@ -1572,12 +1684,15 @@ CONFIG_SPI_MASTER=y # CONFIG_SPI_BITBANG is not set # CONFIG_SPI_CADENCE is not set # CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_NXP_FLEXSPI is not set # CONFIG_SPI_GPIO is not set # CONFIG_SPI_FSL_SPI is not set # CONFIG_SPI_OC_TINY is not set # CONFIG_SPI_PL022 is not set # CONFIG_SPI_ROCKCHIP is not set # CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_MXIC is not set # CONFIG_SPI_TEGRA114 is not set CONFIG_SPI_TEGRA20_SFLASH=y CONFIG_SPI_TEGRA20_SLINK=y @@ -1604,6 +1719,8 @@ CONFIG_SPI_TEGRA20_SLINK=y # # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. # +# end of PTP clock support + CONFIG_PINCTRL=y CONFIG_PINMUX=y CONFIG_PINCONF=y @@ -1612,6 +1729,8 @@ CONFIG_GENERIC_PINCONF=y # CONFIG_PINCTRL_MCP23S08 is not set # CONFIG_PINCTRL_SINGLE is not set # CONFIG_PINCTRL_SX150X is not set +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_OCELOT is not set CONFIG_PINCTRL_TEGRA=y CONFIG_PINCTRL_TEGRA20=y CONFIG_PINCTRL_TEGRA_XUSB=y @@ -1627,29 +1746,33 @@ CONFIG_GPIOLIB_IRQCHIP=y # # CONFIG_GPIO_74XX_MMIO is not set # CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_CADENCE is not set # CONFIG_GPIO_DWAPB is not set # CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set # CONFIG_GPIO_HLWD is not set # CONFIG_GPIO_MB86S7X is not set -# CONFIG_GPIO_MOCKUP is not set # CONFIG_GPIO_MPC8XXX is not set # CONFIG_GPIO_PL061 is not set CONFIG_GPIO_TEGRA=y # CONFIG_GPIO_XILINX is not set # CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_AMD_FCH is not set +# end of Memory mapped GPIO drivers # # I2C GPIO expanders # # CONFIG_GPIO_ADP5588 is not set # CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_GW_PLD is not set # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX732X is not set # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_TPIC2810 is not set +# end of I2C GPIO expanders # # MFD GPIO expanders @@ -1657,6 +1780,7 @@ CONFIG_GPIO_TEGRA=y # CONFIG_HTC_EGPIO is not set CONFIG_GPIO_STMPE=y # CONFIG_GPIO_WM8994 is not set +# end of MFD GPIO expanders # # SPI GPIO expanders @@ -1667,10 +1791,14 @@ CONFIG_GPIO_STMPE=y # CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_XRA1403 is not set +# end of SPI GPIO expanders # # USB GPIO expanders # +# end of USB GPIO expanders + +# CONFIG_GPIO_MOCKUP is not set # CONFIG_W1 is not set # CONFIG_POWER_AVS is not set # CONFIG_POWER_RESET is not set @@ -1692,11 +1820,11 @@ CONFIG_POWER_SUPPLY=y CONFIG_BATTERY_MAX17040=y # CONFIG_BATTERY_MAX17042 is not set # CONFIG_CHARGER_ISP1704 is not set -# CONFIG_CHARGER_MAX8903 is not set +CONFIG_CHARGER_MAX8903=y # CONFIG_CHARGER_LP8727 is not set # CONFIG_CHARGER_GPIO is not set # CONFIG_CHARGER_MANAGER is not set -# CONFIG_CHARGER_LTC3651 is not set +# CONFIG_CHARGER_LT3651 is not set # CONFIG_CHARGER_DETECTOR_MAX14656 is not set # CONFIG_CHARGER_BQ2415X is not set # CONFIG_CHARGER_BQ24190 is not set @@ -1706,6 +1834,7 @@ CONFIG_BATTERY_MAX17040=y # CONFIG_CHARGER_SMB347 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set # CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_UCS1002 is not set CONFIG_HWMON=y # CONFIG_HWMON_DEBUG_CHIP is not set @@ -1794,6 +1923,7 @@ CONFIG_SENSORS_LM90=y # CONFIG_SENSORS_NCT7802 is not set # CONFIG_SENSORS_NCT7904 is not set # CONFIG_SENSORS_NPCM7XX is not set +# CONFIG_SENSORS_OCC_P8_I2C is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_PMBUS is not set # CONFIG_SENSORS_SHT15 is not set @@ -1855,16 +1985,15 @@ CONFIG_THERMAL_GOV_STEP_WISE=y # CONFIG_CPU_THERMAL is not set # CONFIG_CLOCK_THERMAL is not set # CONFIG_THERMAL_EMULATION is not set +# CONFIG_THERMAL_MMIO is not set # CONFIG_QORIQ_THERMAL is not set -# -# ACPI INT340X thermal drivers -# - # # NVIDIA Tegra thermal drivers # CONFIG_TEGRA_SOCTHERM=y +# end of NVIDIA Tegra thermal drivers + # CONFIG_GENERIC_ADC_THERMAL is not set CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y @@ -1872,6 +2001,11 @@ CONFIG_WATCHDOG_CORE=y CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y # CONFIG_WATCHDOG_SYSFS is not set +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set + # # Watchdog Device Drivers # @@ -1884,6 +2018,7 @@ CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y # CONFIG_FTWDT010_WATCHDOG is not set # CONFIG_DW_WATCHDOG is not set # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_IMX_SC_WDT is not set CONFIG_TEGRA_WATCHDOG=y # CONFIG_MEN_A21_WDT is not set @@ -1891,11 +2026,6 @@ CONFIG_TEGRA_WATCHDOG=y # USB-based Watchdog Cards # # CONFIG_USBPCWATCHDOG is not set - -# -# Watchdog Pretimeout Governors -# -# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set CONFIG_SSB_POSSIBLE=y # CONFIG_SSB is not set CONFIG_BCMA_POSSIBLE=y @@ -1910,7 +2040,6 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_AS3722 is not set # CONFIG_PMIC_ADP5520 is not set # CONFIG_MFD_AAT2870_CORE is not set -# CONFIG_MFD_AT91_USART is not set # CONFIG_MFD_ATMEL_FLEXCOM is not set # CONFIG_MFD_ATMEL_HLCDC is not set # CONFIG_MFD_BCM590XX is not set @@ -1938,6 +2067,7 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_88PM860X is not set # CONFIG_MFD_MAX14577 is not set # CONFIG_MFD_MAX77620 is not set +# CONFIG_MFD_MAX77650 is not set # CONFIG_MFD_MAX77686 is not set # CONFIG_MFD_MAX77693 is not set # CONFIG_MFD_MAX77843 is not set @@ -1970,6 +2100,8 @@ CONFIG_MFD_STMPE=y # CONFIG_STMPE_I2C=y # CONFIG_STMPE_SPI is not set +# end of STMicroelectronics STMPE Interface Drivers + # CONFIG_MFD_SYSCON is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set # CONFIG_MFD_LP3943 is not set @@ -1998,6 +2130,8 @@ CONFIG_STMPE_I2C=y # CONFIG_MFD_T7L66XB is not set # CONFIG_MFD_TC6387XB is not set # CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_TQMX86 is not set +# CONFIG_MFD_LOCHNAGAR is not set # CONFIG_MFD_ARIZONA_I2C is not set # CONFIG_MFD_ARIZONA_SPI is not set # CONFIG_MFD_WM8400 is not set @@ -2006,7 +2140,11 @@ CONFIG_STMPE_I2C=y # CONFIG_MFD_WM8350_I2C is not set CONFIG_MFD_WM8994=y # CONFIG_MFD_ROHM_BD718XX is not set +# CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_STMFX is not set # CONFIG_RAVE_SP_CORE is not set +# end of Multifunction device drivers + CONFIG_REGULATOR=y # CONFIG_REGULATOR_DEBUG is not set CONFIG_REGULATOR_FIXED_VOLTAGE=y @@ -2030,9 +2168,11 @@ CONFIG_REGULATOR_VIRTUAL_CONSUMER=y # CONFIG_REGULATOR_MAX1586 is not set # CONFIG_REGULATOR_MAX8649 is not set # CONFIG_REGULATOR_MAX8660 is not set +CONFIG_REGULATOR_MAX8893=y CONFIG_REGULATOR_MAX8907=y CONFIG_REGULATOR_MAX8952=y # CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MCP16502 is not set # CONFIG_REGULATOR_MT6311 is not set # CONFIG_REGULATOR_PFUZE100 is not set # CONFIG_REGULATOR_PV88060 is not set @@ -2132,10 +2272,6 @@ CONFIG_VIDEO_TEGRA_HDMI_CEC=y # CONFIG_VIDEO_BT866 is not set # CONFIG_VIDEO_KS0127 is not set # CONFIG_VIDEO_ML86V7667 is not set -# CONFIG_VIDEO_AD5820 is not set -# CONFIG_VIDEO_AK7375 is not set -# CONFIG_VIDEO_DW9714 is not set -# CONFIG_VIDEO_DW9807_VCM is not set # CONFIG_VIDEO_SAA7110 is not set # CONFIG_VIDEO_SAA711X is not set # CONFIG_VIDEO_TC358743 is not set @@ -2190,9 +2326,12 @@ CONFIG_VIDEO_TEGRA_HDMI_CEC=y # CONFIG_VIDEO_OV7640 is not set # CONFIG_VIDEO_OV7670 is not set # CONFIG_VIDEO_OV7740 is not set +# CONFIG_VIDEO_OV8856 is not set +# CONFIG_VIDEO_OV9640 is not set # CONFIG_VIDEO_OV9650 is not set # CONFIG_VIDEO_OV13858 is not set # CONFIG_VIDEO_VS6624 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 @@ -2213,6 +2352,14 @@ CONFIG_VIDEO_S5K6AA=y # CONFIG_VIDEO_ET8EK8 is not set # CONFIG_VIDEO_S5C73M3 is not set +# +# Lens drivers +# +# CONFIG_VIDEO_AD5820 is not set +# CONFIG_VIDEO_AK7375 is not set +# CONFIG_VIDEO_DW9714 is not set +# CONFIG_VIDEO_DW9807_VCM is not set + # # Flash devices # @@ -2241,19 +2388,19 @@ CONFIG_VIDEO_S5K6AA=y # CONFIG_VIDEO_THS7303 is not set # CONFIG_VIDEO_M52790 is not set # CONFIG_VIDEO_I2C is not set - -# -# Sensors used on soc_camera driver -# +# CONFIG_VIDEO_ST_MIPID02 is not set +# end of I2C Encoders, decoders, sensors and other helper chips # # SPI helper chips # # CONFIG_VIDEO_GS1662 is not set +# end of SPI helper chips # # Media SPI Adapters # +# end of Media SPI Adapters # # Customise DVB Frontends @@ -2262,6 +2409,7 @@ CONFIG_VIDEO_S5K6AA=y # # Tools to develop new frontends # +# end of Customise DVB Frontends # # Graphics support @@ -2287,16 +2435,21 @@ CONFIG_DRM_FBDEV_OVERALLOC=100 # 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 # # ACP (Audio CoProcessor) Configuration # +# end of ACP (Audio CoProcessor) Configuration -# -# AMD Library routines -# # CONFIG_DRM_VGEM is not set # CONFIG_DRM_VKMS is not set # CONFIG_DRM_EXYNOS is not set @@ -2318,16 +2471,22 @@ CONFIG_DRM_PANEL=y # # CONFIG_DRM_PANEL_LVDS is not set # CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set # CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set +# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set +# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set # CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set +# CONFIG_DRM_PANEL_ROCKTECH_JH057N00900 is not set +# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set CONFIG_DRM_PANEL_SAMSUNG_S6E63M0=y @@ -2335,7 +2494,12 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63M0=y # CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_TPO_TPG110 is not set +# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# end of Display Panels + CONFIG_DRM_BRIDGE=y CONFIG_DRM_PANEL_BRIDGE=y @@ -2358,11 +2522,16 @@ CONFIG_DRM_SII9234=y # CONFIG_DRM_TI_TFP410 is not set # CONFIG_DRM_TI_SN65DSI86 is not set # CONFIG_DRM_I2C_ADV7511 is not set +# end of Display Interface Bridges + # CONFIG_DRM_STI is not set +# CONFIG_DRM_ETNAVIV is not set # CONFIG_DRM_ARCPGU is not set # CONFIG_DRM_MXSFB is not set # CONFIG_DRM_TINYDRM is not set # CONFIG_DRM_PL111 is not set +# CONFIG_DRM_LIMA is not set +# CONFIG_DRM_PANFROST is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y @@ -2398,7 +2567,11 @@ CONFIG_FB_TILEBLITTING=y # CONFIG_FB_METRONOME is not set # CONFIG_FB_SIMPLE is not set # CONFIG_FB_SSD1307 is not set -CONFIG_BACKLIGHT_LCD_SUPPORT=y +# end of Frame buffer Devices + +# +# Backlight & LCD device support +# # CONFIG_LCD_CLASS_DEVICE is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set @@ -2410,6 +2583,8 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_LV5207LP is not set # CONFIG_BACKLIGHT_BD6107 is not set # CONFIG_BACKLIGHT_ARCXCNN is not set +# end of Backlight & LCD device support + CONFIG_HDMI=y # @@ -2420,10 +2595,14 @@ CONFIG_FRAMEBUFFER_CONSOLE=y 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 is not set # CONFIG_LOGO_LINUX_VGA16 is not set CONFIG_LOGO_LINUX_CLUT224=y +# end of Graphics support + CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_TIMER=y @@ -2447,6 +2626,8 @@ CONFIG_SND_VERBOSE_PROCFS=y # HD-Audio # # CONFIG_SND_HDA_TEGRA is not set +# end of HD-Audio + CONFIG_SND_HDA_PREALLOC_SIZE=64 # CONFIG_SND_ARM is not set # CONFIG_SND_SPI is not set @@ -2466,16 +2647,24 @@ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y # # CONFIG_SND_SOC_FSL_ASRC is not set # CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_AUDMIX is not set # CONFIG_SND_SOC_FSL_SSI is not set # CONFIG_SND_SOC_FSL_SPDIF is not set # CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_FSL_MICFIL is not set # CONFIG_SND_SOC_IMX_AUDMUX is not set +# end of SoC Audio for Freescale CPUs + # CONFIG_SND_I2S_HI6210_I2S is not set # CONFIG_SND_SOC_IMG is not set +# CONFIG_SND_SOC_MTK_BTCVSD is not set +# CONFIG_SND_SOC_SOF_TOPLEVEL is not set # # STMicroelectronics STM32 SOC audio support # +# end of STMicroelectronics STM32 SOC audio support + CONFIG_SND_SOC_TEGRA=y # CONFIG_SND_SOC_TEGRA20_AC97 is not set CONFIG_SND_SOC_TEGRA20_DAS=y @@ -2493,6 +2682,9 @@ CONFIG_SND_SOC_TEGRA_WM8994=y # CONFIG_SND_SOC_TEGRA_MAX98090 is not set # CONFIG_SND_SOC_TEGRA_RT5677 is not set # CONFIG_SND_SOC_TEGRA_SGTL5000 is not set +# CONFIG_SND_SOC_XILINX_I2S is not set +# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set +# CONFIG_SND_SOC_XILINX_SPDIF is not set # CONFIG_SND_SOC_XTFPGA_I2S is not set # CONFIG_ZX_TDM is not set CONFIG_SND_SOC_I2C_AND_SPI=y @@ -2507,6 +2699,7 @@ CONFIG_SND_SOC_WM_HUBS=y # CONFIG_SND_SOC_ADAU1761_SPI is not set # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4118 is not set # CONFIG_SND_SOC_AK4458 is not set # CONFIG_SND_SOC_AK4554 is not set # CONFIG_SND_SOC_AK4613 is not set @@ -2520,6 +2713,7 @@ CONFIG_SND_SOC_WM_HUBS=y # CONFIG_SND_SOC_CS35L33 is not set # CONFIG_SND_SOC_CS35L34 is not set # CONFIG_SND_SOC_CS35L35 is not set +# CONFIG_SND_SOC_CS35L36 is not set # CONFIG_SND_SOC_CS42L42 is not set # CONFIG_SND_SOC_CS42L51_I2C is not set # CONFIG_SND_SOC_CS42L52 is not set @@ -2531,6 +2725,7 @@ CONFIG_SND_SOC_WM_HUBS=y # 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_DMIC is not set @@ -2560,6 +2755,7 @@ CONFIG_SND_SOC_WM_HUBS=y # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM512x_I2C is not set # CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RK3328 is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set # CONFIG_SND_SOC_SGTL5000 is not set @@ -2606,6 +2802,7 @@ CONFIG_SND_SOC_WM_HUBS=y # 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 @@ -2615,15 +2812,16 @@ CONFIG_SND_SOC_WM8994=y # CONFIG_SND_SOC_ZX_AUD96P22 is not set # CONFIG_SND_SOC_MAX9759 is not set # CONFIG_SND_SOC_MT6351 is not set +# CONFIG_SND_SOC_MT6358 is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set # CONFIG_SND_SOC_NAU8822 is not set # CONFIG_SND_SOC_NAU8824 is not set # CONFIG_SND_SOC_TPA6130A2 is not set +# end of CODEC drivers + # CONFIG_SND_SIMPLE_CARD is not set -# CONFIG_SND_SIMPLE_SCU_CARD is not set # CONFIG_SND_AUDIO_GRAPH_CARD is not set -# CONFIG_SND_AUDIO_GRAPH_SCU_CARD is not set # # HID support @@ -2651,6 +2849,7 @@ CONFIG_HID_GENERIC=y # CONFIG_HID_CHICONY is not set # CONFIG_HID_CORSAIR is not set # CONFIG_HID_COUGAR is not set +# CONFIG_HID_MACALLY is not set # CONFIG_HID_PRODIKEYS is not set # CONFIG_HID_CMEDIA is not set # CONFIG_HID_CYPRESS is not set @@ -2668,6 +2867,7 @@ CONFIG_HID_GENERIC=y # CONFIG_HID_KYE is not set # CONFIG_HID_UCLOGIC is not set # CONFIG_HID_WALTOP is not set +# CONFIG_HID_VIEWSONIC is not set # CONFIG_HID_GYRATION is not set # CONFIG_HID_ICADE is not set # CONFIG_HID_ITE is not set @@ -2679,6 +2879,7 @@ CONFIG_HID_GENERIC=y # CONFIG_HID_LENOVO is not set # CONFIG_HID_LOGITECH is not set # CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MALTRON is not set # CONFIG_HID_MAYFLASH is not set # CONFIG_HID_REDRAGON is not set # CONFIG_HID_MICROSOFT is not set @@ -2717,6 +2918,7 @@ CONFIG_HID_GENERIC=y # CONFIG_HID_ZYDACRON is not set # CONFIG_HID_SENSOR_HUB is not set # CONFIG_HID_ALPS is not set +# end of Special HID drivers # # USB HID support @@ -2724,11 +2926,15 @@ CONFIG_HID_GENERIC=y CONFIG_USB_HID=y # CONFIG_HID_PID is not set # CONFIG_USB_HIDDEV is not set +# end of USB HID support # # I2C HID support # # CONFIG_I2C_HID is not set +# end of I2C HID support +# end of HID support + CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_SUPPORT=y CONFIG_USB_COMMON=y @@ -2746,6 +2952,7 @@ CONFIG_USB_OTG=y # CONFIG_USB_OTG_BLACKLIST_HUB is not set CONFIG_USB_OTG_FSM=y # CONFIG_USB_LEDS_TRIGGER_USBPORT is not set +CONFIG_USB_AUTOSUSPEND_DELAY=2 # CONFIG_USB_MON is not set # CONFIG_USB_WUSB_CBAF is not set @@ -2757,6 +2964,7 @@ CONFIG_USB_OTG_FSM=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_EHCI_TT_NEWSCHED=y +# CONFIG_USB_EHCI_FSL is not set CONFIG_USB_EHCI_TEGRA=y # CONFIG_USB_EHCI_HCD_PLATFORM is not set # CONFIG_USB_OXU210HP_HCD is not set @@ -2783,11 +2991,28 @@ CONFIG_USB_ACM=y # # also be needed; see USB_STORAGE Help for more info # +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +# CONFIG_USB_UAS is not set # # USB Imaging devices # # CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set # CONFIG_USBIP_CORE is not set # CONFIG_USB_MUSB_HDRC is not set # CONFIG_USB_DWC3 is not set @@ -2842,8 +3067,11 @@ CONFIG_USB_PHY=y CONFIG_USB_TEGRA_PHY=y CONFIG_USB_ULPI=y CONFIG_USB_ULPI_VIEWPORT=y +# end of USB Physical Layer drivers + CONFIG_USB_GADGET=y # CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set CONFIG_USB_GADGET_VBUS_DRAW=2 CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 @@ -2863,10 +3091,11 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 # CONFIG_USB_NET2272 is not set # CONFIG_USB_GADGET_XILINX is not set # CONFIG_USB_DUMMY_HCD is not set +# end of USB Peripheral Controller + CONFIG_USB_LIBCOMPOSITE=y CONFIG_USB_U_ETHER=y CONFIG_USB_F_ECM=y -CONFIG_USB_F_EEM=y CONFIG_USB_F_SUBSET=y CONFIG_USB_F_RNDIS=y # CONFIG_USB_CONFIGFS is not set @@ -2874,7 +3103,7 @@ CONFIG_USB_F_RNDIS=y # CONFIG_USB_AUDIO is not set CONFIG_USB_ETH=y CONFIG_USB_ETH_RNDIS=y -CONFIG_USB_ETH_EEM=y +# CONFIG_USB_ETH_EEM is not set # CONFIG_USB_G_NCM is not set # CONFIG_USB_GADGETFS is not set # CONFIG_USB_FUNCTIONFS is not set @@ -2920,10 +3149,11 @@ CONFIG_MMC_SDHCI_TEGRA=y # CONFIG_MMC_VUB300 is not set # CONFIG_MMC_USHC is not set # CONFIG_MMC_USDHI6ROL0 is not set -# CONFIG_MMC_CQHCI is not set +CONFIG_MMC_CQHCI=y # 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 @@ -2938,6 +3168,7 @@ CONFIG_LEDS_CLASS=y # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_CR0014114 is not set # CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3532 is not set # CONFIG_LEDS_LM3642 is not set # CONFIG_LEDS_LM3692X is not set # CONFIG_LEDS_PCA9532 is not set @@ -2990,6 +3221,7 @@ CONFIG_LEDS_TRIGGER_GPIO=y # 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_ACCESSIBILITY is not set # CONFIG_INFINIBAND is not set CONFIG_EDAC_ATOMIC_SCRUB=y @@ -3016,6 +3248,7 @@ CONFIG_RTC_INTF_DEV=y # 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 @@ -3041,7 +3274,9 @@ CONFIG_RTC_DRV_MAX8907=y # CONFIG_RTC_DRV_RX8581 is not set # CONFIG_RTC_DRV_RX8025 is not set # CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3028 is not set # CONFIG_RTC_DRV_RV8803 is not set +# CONFIG_RTC_DRV_SD3078 is not set # # SPI RTC drivers @@ -3095,6 +3330,7 @@ CONFIG_RTC_I2C_AND_SPI=y # # 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_TEGRA=y # CONFIG_RTC_DRV_SNVS is not set @@ -3103,7 +3339,6 @@ CONFIG_RTC_DRV_TEGRA=y # # HID Sensor RTC drivers # -# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set CONFIG_DMADEVICES=y # CONFIG_DMADEVICES_DEBUG is not set @@ -3116,6 +3351,7 @@ CONFIG_DMA_OF=y # CONFIG_AMBA_PL08X is not set # CONFIG_DW_AXI_DMAC is not set # CONFIG_FSL_EDMA is not set +# CONFIG_FSL_QDMA is not set # CONFIG_INTEL_IDMA64 is not set # CONFIG_NBPFAXI_DMA is not set # CONFIG_PL330_DMA is not set @@ -3134,7 +3370,10 @@ CONFIG_TEGRA20_APB_DMA=y # DMABUF options # CONFIG_SYNC_FILE=y +# CONFIG_SW_SYNC is not set # CONFIG_UDMABUF is not set +# end of DMABUF options + # CONFIG_AUXDISPLAY is not set # CONFIG_UIO is not set # CONFIG_VFIO is not set @@ -3144,6 +3383,8 @@ CONFIG_SYNC_FILE=y # # Microsoft Hyper-V guest support # +# end of Microsoft Hyper-V guest support + CONFIG_STAGING=y # CONFIG_PRISM2_USB is not set # CONFIG_COMEDI is not set @@ -3161,58 +3402,69 @@ CONFIG_STAGING=y # # CONFIG_ADIS16203 is not set # CONFIG_ADIS16240 is not set +# end of Accelerometers # # Analog to digital converters # -# CONFIG_AD7606 is not set -# CONFIG_AD7780 is not set # CONFIG_AD7816 is not set # CONFIG_AD7192 is not set # CONFIG_AD7280 is not set +# 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_AD7150 is not set -# CONFIG_AD7152 is not set # 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_AD2S90 is not set # CONFIG_AD2S1210 is not set +# end of Resolver to digital converters +# end of IIO staging drivers # # Speakup console speech # # CONFIG_SPEAKUP is not set +# end of Speakup console speech + # CONFIG_MFD_NVEC is not set CONFIG_STAGING_MEDIA=y CONFIG_TEGRA_VDE=y +# +# soc_camera sensor drivers +# + # # Android # @@ -3221,6 +3473,8 @@ CONFIG_ION=y CONFIG_ION_SYSTEM_HEAP=y # CONFIG_ION_CARVEOUT_HEAP is not set # CONFIG_ION_CHUNK_HEAP is not set +# end of Android + # CONFIG_STAGING_BOARD is not set # CONFIG_LTE_GDM724X is not set # CONFIG_GS_FPGABOOT is not set @@ -3233,13 +3487,15 @@ CONFIG_ION_SYSTEM_HEAP=y # CONFIG_KS7010 is not set # CONFIG_GREYBUS is not set # CONFIG_PI433 is not set -# CONFIG_MTK_MMC is not set # # Gasket devices # +# end of Gasket devices + # CONFIG_XIL_AXIS_FIFO is not set # CONFIG_EROFS_FS is not set +# CONFIG_FIELDBUS_DEV is not set # CONFIG_GOLDFISH is not set # CONFIG_CHROME_PLATFORMS is not set # CONFIG_MELLANOX_PLATFORM is not set @@ -3261,6 +3517,9 @@ CONFIG_COMMON_CLK=y # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_CLK_QORIQ is not set # CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_FIXED_MMIO is not set +# end of Common Clock Framework + # CONFIG_HWSPINLOCK is not set # @@ -3272,8 +3531,10 @@ CONFIG_CLKSRC_MMIO=y CONFIG_TEGRA_TIMER=y CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y -# CONFIG_ARM_TIMER_SP804 is not set +# end of Clock Source drivers + # CONFIG_MAILBOX is not set +CONFIG_IOMMU_IOVA=y CONFIG_IOMMU_API=y CONFIG_IOMMU_SUPPORT=y @@ -3285,8 +3546,10 @@ CONFIG_IOMMU_IO_PGTABLE_LPAE=y # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y # CONFIG_IOMMU_IO_PGTABLE_ARMV7S_SELFTEST is not set +# end of Generic IOMMU Pagetable Support + +# CONFIG_IOMMU_DEBUGFS is not set # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set -CONFIG_IOMMU_IOVA=y CONFIG_OF_IOMMU=y CONFIG_TEGRA_IOMMU_GART=y # CONFIG_TEGRA_IOMMU_SMMU is not set @@ -3296,11 +3559,14 @@ CONFIG_TEGRA_IOMMU_GART=y # Remoteproc drivers # # CONFIG_REMOTEPROC is not set +# end of Remoteproc drivers # # Rpmsg drivers # # CONFIG_RPMSG_VIRTIO is not set +# end of Rpmsg drivers + # CONFIG_SOUNDWIRE is not set # @@ -3310,23 +3576,41 @@ CONFIG_TEGRA_IOMMU_GART=y # # Amlogic SoC drivers # +# end of Amlogic SoC drivers + +# +# Aspeed SoC drivers +# +# end of Aspeed SoC drivers # # Broadcom SoC drivers # # CONFIG_SOC_BRCMSTB is not set +# end of Broadcom SoC drivers # # NXP/Freescale QorIQ SoC drivers # +# end of NXP/Freescale QorIQ SoC drivers # # i.MX SoC drivers # +# end of i.MX SoC drivers + +# +# IXP4xx SoC drivers +# +# CONFIG_IXP4XX_QMGR is not set +# CONFIG_IXP4XX_NPE is not set +# end of IXP4xx SoC drivers # # Qualcomm SoC drivers # +# end of Qualcomm SoC drivers + CONFIG_ARCH_TEGRA_2x_SOC=y # CONFIG_ARCH_TEGRA_3x_SOC is not set # CONFIG_ARCH_TEGRA_114_SOC is not set @@ -3340,6 +3624,9 @@ CONFIG_SOC_TEGRA_PMC=y # Xilinx SoC drivers # # CONFIG_XILINX_VCU is not set +# end of Xilinx SoC drivers +# end of SOC (System On Chip) specific Drivers + # CONFIG_PM_DEVFREQ is not set CONFIG_EXTCON=y @@ -3347,14 +3634,18 @@ CONFIG_EXTCON=y # Extcon Device Drivers # # CONFIG_EXTCON_ADC_JACK is not set +CONFIG_EXTCON_FSA9480=y # 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=y CONFIG_MEMORY=y # CONFIG_ARM_PL172_MPMC is not set +# CONFIG_PL353_SMC is not set CONFIG_TEGRA_MC=y +CONFIG_TEGRA20_EMC=y CONFIG_IIO=y CONFIG_IIO_BUFFER=y # CONFIG_IIO_BUFFER_CB is not set @@ -3400,19 +3691,26 @@ CONFIG_KXCJK1013=y # CONFIG_SCA3000 is not set # CONFIG_STK8312 is not set # CONFIG_STK8BA50 is not set +# end of Accelerometers # # Analog to digital converters # +# CONFIG_AD7124 is not set # CONFIG_AD7266 is not set # CONFIG_AD7291 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_CC10001_ADC is not set # CONFIG_ENVELOPE_DETECTOR is not set @@ -3432,6 +3730,7 @@ CONFIG_KXCJK1013=y # CONFIG_MCP3911 is not set # CONFIG_NAU7802 is not set # CONFIG_SD_ADC_MODULATOR is not set +# CONFIG_STMPE_ADC is not set # CONFIG_TI_ADC081C is not set # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set @@ -3441,19 +3740,24 @@ CONFIG_KXCJK1013=y # 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_TLC4541 is not set # CONFIG_VF610_ADC is not set +# end of Analog to digital converters # # Analog Front Ends # # CONFIG_IIO_RESCALE is not set +# end of Analog Front Ends # # Amplifiers # # CONFIG_AD8366 is not set +# end of Amplifiers # # Chemical Sensors @@ -3462,20 +3766,22 @@ CONFIG_KXCJK1013=y # CONFIG_BME680 is not set # CONFIG_CCS811 is not set # CONFIG_IAQCORE is not set +# CONFIG_PMS7003 is not set +# CONFIG_SENSIRION_SGP30 is not set +# CONFIG_SPS30 is not set # CONFIG_VZ89X is not set +# end of Chemical Sensors # # Hid Sensor IIO Common # +# end of Hid Sensor IIO Common # # SSP Sensor Common # # CONFIG_IIO_SSP_SENSORHUB is not set - -# -# Counters -# +# end of SSP Sensor Common # # Digital to analog converters @@ -3510,11 +3816,15 @@ CONFIG_KXCJK1013=y # 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 # # Frequency Synthesizers DDS/PLL @@ -3524,11 +3834,14 @@ CONFIG_KXCJK1013=y # Clock Generator/Distribution # # CONFIG_AD9523 is not set +# end of Clock Generator/Distribution # # Phase-Locked Loop (PLL) frequency synthesizers # # CONFIG_ADF4350 is not set +# end of Phase-Locked Loop (PLL) frequency synthesizers +# end of Frequency Synthesizers DDS/PLL # # Digital gyroscope sensors @@ -3539,10 +3852,12 @@ CONFIG_KXCJK1013=y # CONFIG_ADIS16260 is not set # CONFIG_ADXRS450 is not set # CONFIG_BMG160 is not set +# CONFIG_FXAS21002C is not set CONFIG_MPU3050=y CONFIG_MPU3050_I2C=y # CONFIG_IIO_ST_GYRO_3AXIS is not set # CONFIG_ITG3200 is not set +# end of Digital gyroscope sensors # # Health Sensors @@ -3555,6 +3870,8 @@ CONFIG_MPU3050_I2C=y # 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 @@ -3566,6 +3883,7 @@ CONFIG_MPU3050_I2C=y # CONFIG_HTU21 is not set # CONFIG_SI7005 is not set # CONFIG_SI7020 is not set +# end of Humidity sensors # # Inertial measurement units @@ -3578,6 +3896,7 @@ CONFIG_MPU3050_I2C=y # CONFIG_INV_MPU6050_I2C is not set # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IIO_ST_LSM6DSX is not set +# end of Inertial measurement units # # Light sensors @@ -3602,6 +3921,7 @@ CONFIG_SENSORS_ISL29018=y # CONFIG_LTR501 is not set # CONFIG_LV0104CS is not set # CONFIG_MAX44000 is not set +# CONFIG_MAX44009 is not set # CONFIG_OPT3001 is not set # CONFIG_PA12203001 is not set # CONFIG_SI1133 is not set @@ -3616,9 +3936,11 @@ CONFIG_SENSORS_ISL29018=y # CONFIG_TSL4531 is not set # CONFIG_US5182D is not set # CONFIG_VCNL4000 is not set +# CONFIG_VCNL4035 is not set # CONFIG_VEML6070 is not set # CONFIG_VL6180 is not set # CONFIG_ZOPT2201 is not set +# end of Light sensors # # Magnetometer sensors @@ -3633,21 +3955,27 @@ CONFIG_AK8975=y # 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 +# end of Magnetometer sensors # # Multiplexers # # CONFIG_IIO_MUX is not set +# end of Multiplexers # # Inclinometer sensors # +# end of Inclinometer sensors # # Triggers - standalone # # CONFIG_IIO_INTERRUPT_TRIGGER is not set # CONFIG_IIO_SYSFS_TRIGGER is not set +# end of Triggers - standalone # # Digital potentiometers @@ -3659,12 +3987,15 @@ CONFIG_AK8975=y # 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 @@ -3681,27 +4012,33 @@ CONFIG_AK8975=y # 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_RFD77402 is not set # CONFIG_SRF04 is not set # CONFIG_SX9500 is not set # CONFIG_SRF08 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 @@ -3713,6 +4050,9 @@ CONFIG_AK8975=y # CONFIG_TMP007 is not set # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set +# CONFIG_MAX31856 is not set +# end of Temperature sensors + # CONFIG_PWM is not set # @@ -3721,6 +4061,8 @@ CONFIG_AK8975=y CONFIG_IRQCHIP=y CONFIG_ARM_GIC=y CONFIG_ARM_GIC_MAX_NR=1 +# end of IRQ chip support + # CONFIG_IPACK_BUS is not set CONFIG_ARCH_HAS_RESET_CONTROLLER=y CONFIG_RESET_CONTROLLER=y @@ -3733,6 +4075,9 @@ CONFIG_RESET_CONTROLLER=y CONFIG_GENERIC_PHY=y # CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_PHY_CADENCE_DP is not set +# CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_FSL_IMX8MQ_USB is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_CPCAP_USB is not set @@ -3741,6 +4086,8 @@ CONFIG_GENERIC_PHY=y # CONFIG_PHY_QCOM_USB_HSIC is not set # CONFIG_PHY_TEGRA_XUSB is not set # CONFIG_PHY_TUSB1210 is not set +# end of PHY Subsystem + # CONFIG_POWERCAP is not set # CONFIG_MCB is not set @@ -3750,6 +4097,8 @@ CONFIG_GENERIC_PHY=y # CONFIG_ARM_CCI_PMU is not set # CONFIG_ARM_CCN is not set CONFIG_ARM_PMU=y +# end of Performance monitor support + # CONFIG_RAS is not set # @@ -3757,27 +4106,37 @@ CONFIG_ARM_PMU=y # CONFIG_ANDROID=y CONFIG_ANDROID_BINDER_IPC=y +# CONFIG_ANDROID_BINDERFS is not set CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder" # CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set +# end of Android + # CONFIG_DAX is not set CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y # # HW tracing support # # CONFIG_STM is not set # CONFIG_INTEL_TH is not set +# end of HW tracing support + # CONFIG_FPGA is not set # CONFIG_FSI is not set # CONFIG_TEE is not set CONFIG_PM_OPP=y # CONFIG_SIOX is not set # CONFIG_SLIMBUS is not set +# CONFIG_INTERCONNECT is not set +# CONFIG_COUNTER is not set +# end of Device Drivers # # File systems # CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_VALIDATE_FS_PARSER=y CONFIG_FS_IOMAP=y # CONFIG_EXT2_FS is not set # CONFIG_EXT3_FS is not set @@ -3785,8 +4144,6 @@ CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y -CONFIG_EXT4_ENCRYPTION=y -CONFIG_EXT4_FS_ENCRYPTION=y # CONFIG_EXT4_DEBUG is not set CONFIG_JBD2=y # CONFIG_JBD2_DEBUG is not set @@ -3820,6 +4177,7 @@ CONFIG_CUSE=y # Caches # # CONFIG_FSCACHE is not set +# end of Caches # # CD-ROM/DVD Filesystems @@ -3828,6 +4186,7 @@ CONFIG_ISO9660_FS=y # CONFIG_JOLIET is not set # CONFIG_ZISOFS is not set # CONFIG_UDF_FS is not set +# end of CD-ROM/DVD Filesystems # # DOS/FAT/NT Filesystems @@ -3841,6 +4200,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_NTFS_FS=y # CONFIG_NTFS_DEBUG is not set # CONFIG_NTFS_RW is not set +# end of DOS/FAT/NT Filesystems # # Pseudo filesystems @@ -3856,6 +4216,8 @@ CONFIG_TMPFS=y # CONFIG_TMPFS_XATTR is not set CONFIG_MEMFD_CREATE=y CONFIG_CONFIGFS_FS=y +# end of Pseudo filesystems + CONFIG_MISC_FILESYSTEMS=y # CONFIG_ORANGEFS_FS is not set # CONFIG_ADFS_FS is not set @@ -3890,7 +4252,7 @@ CONFIG_PSTORE_RAM=y # CONFIG_NETWORK_FILESYSTEMS is not set CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" -# CONFIG_NLS_CODEPAGE_437 is not set +CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set @@ -3914,7 +4276,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_CODEPAGE_1250 is not set # CONFIG_NLS_CODEPAGE_1251 is not set # CONFIG_NLS_ASCII is not set -# CONFIG_NLS_ISO8859_1 is not set +CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set @@ -3938,8 +4300,10 @@ CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_MAC_INUIT is not set # CONFIG_NLS_MAC_ROMANIAN is not set # CONFIG_NLS_MAC_TURKISH is not set -# CONFIG_NLS_UTF8 is not set +CONFIG_NLS_UTF8=y # CONFIG_DLM is not set +# CONFIG_UNICODE is not set +# end of File systems # # Security options @@ -3957,7 +4321,20 @@ CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y # CONFIG_FORTIFY_SOURCE is not set # CONFIG_STATIC_USERMODEHELPER is not set CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_DEFAULT_SECURITY="" +CONFIG_LSM="yama,loadpin,safesetid,integrity" + +# +# Kernel hardening options +# + +# +# Memory initialization +# +CONFIG_INIT_STACK_NONE=y +# end of Memory initialization +# end of Kernel hardening options +# end of Security options + CONFIG_CRYPTO=y # @@ -3979,9 +4356,6 @@ CONFIG_CRYPTO_AKCIPHER=y CONFIG_CRYPTO_KPP2=y CONFIG_CRYPTO_KPP=y CONFIG_CRYPTO_ACOMP2=y -CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_DH is not set -CONFIG_CRYPTO_ECDH=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y # CONFIG_CRYPTO_USER is not set @@ -3995,6 +4369,15 @@ CONFIG_CRYPTO_WORKQUEUE=y # CONFIG_CRYPTO_AUTHENC is not set # CONFIG_CRYPTO_TEST is not set +# +# Public-key cryptography +# +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +# CONFIG_CRYPTO_ECRDSA is not set + # # Authenticated Encryption with Associated Data # @@ -4022,6 +4405,7 @@ CONFIG_CRYPTO_ECB=y # CONFIG_CRYPTO_PCBC is not set CONFIG_CRYPTO_XTS=y # CONFIG_CRYPTO_KEYWRAP is not set +# CONFIG_CRYPTO_ADIANTUM is not set # # Hash modes @@ -4051,6 +4435,7 @@ CONFIG_CRYPTO_SHA256=y # CONFIG_CRYPTO_SHA512 is not set # CONFIG_CRYPTO_SHA3 is not set # CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_STREEBOG is not set # CONFIG_CRYPTO_TGR192 is not set # CONFIG_CRYPTO_WP512 is not set @@ -4119,16 +4504,19 @@ CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SECONDARY_TRUSTED_KEYRING is not set # CONFIG_SYSTEM_BLACKLIST_KEYRING is not set +# end of Certificates for signature checking # # Library routines # +# CONFIG_PACKING is not set CONFIG_BITREVERSE=y CONFIG_HAVE_ARCH_BITREVERSE=y -CONFIG_RATIONAL=y CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GENERIC_NET_UTILS=y +# CONFIG_CORDIC is not set +CONFIG_RATIONAL=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_CRC_CCITT=y @@ -4146,6 +4534,7 @@ CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC7 is not set # CONFIG_LIBCRC32C is not set # CONFIG_CRC8 is not set +CONFIG_XXHASH=y # CONFIG_RANDOM32_SELFTEST is not set CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y @@ -4160,7 +4549,11 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_DMA=y CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y +CONFIG_DMA_REMAP=y +# CONFIG_DMA_API_DEBUG is not set CONFIG_SGL_ALLOC=y CONFIG_CPU_RMAP=y CONFIG_DQL=y @@ -4168,7 +4561,6 @@ CONFIG_GLOB=y # CONFIG_GLOB_SELFTEST is not set CONFIG_NLATTR=y CONFIG_CLZ_TAB=y -# CONFIG_CORDIC is not set # CONFIG_DDR is not set # CONFIG_IRQ_POLL is not set CONFIG_MPILIB=y @@ -4178,9 +4570,10 @@ CONFIG_FONT_SUPPORT=y # CONFIG_FONTS is not set CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y -CONFIG_ARCH_HAS_SG_CHAIN=y +CONFIG_SG_POOL=y CONFIG_SBITMAP=y # CONFIG_STRING_SELFTEST is not set +# end of Library routines # # Kernel hacking @@ -4190,9 +4583,12 @@ CONFIG_SBITMAP=y # printk and dmesg options # CONFIG_PRINTK_TIME=y +# CONFIG_PRINTK_CALLER is not set CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 CONFIG_CONSOLE_LOGLEVEL_QUIET=4 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_DYNAMIC_DEBUG is not set +# end of printk and dmesg options # # Compile-time checks and compiler options @@ -4201,10 +4597,13 @@ CONFIG_ENABLE_MUST_CHECK=y CONFIG_FRAME_WARN=1024 # CONFIG_STRIP_ASM_SYMS is not set # CONFIG_UNUSED_SYMBOLS is not set -# CONFIG_DEBUG_FS is not set +CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set +# CONFIG_OPTIMIZE_INLINING is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# end of Compile-time checks and compiler options + # CONFIG_MAGIC_SYSRQ is not set # CONFIG_DEBUG_KERNEL is not set @@ -4219,6 +4618,10 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_HAVE_DEBUG_KMEMLEAK=y CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_KASAN_STACK=1 +# end of Memory Debugging + CONFIG_ARCH_HAS_KCOV=y CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set @@ -4226,6 +4629,8 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y # # Debug Lockups and Hangs # +# end of Debug Lockups and Hangs + # CONFIG_PANIC_ON_OOPS is not set CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 @@ -4236,6 +4641,8 @@ CONFIG_PANIC_TIMEOUT=0 # CONFIG_LOCK_DEBUGGING_SUPPORT=y # CONFIG_WW_MUTEX_SELFTEST is not set +# end of Lock Debugging (spinlocks, mutexes, etc...) + # CONFIG_STACKTRACE is not set # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set CONFIG_DEBUG_BUGVERBOSE=y @@ -4244,6 +4651,8 @@ CONFIG_DEBUG_BUGVERBOSE=y # RCU Debugging # CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# end of RCU Debugging + CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_DYNAMIC_FTRACE=y @@ -4253,13 +4662,14 @@ CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_C_RECORDMCOUNT=y CONFIG_TRACING_SUPPORT=y # CONFIG_FTRACE is not set -# CONFIG_DMA_API_DEBUG is not set CONFIG_RUNTIME_TESTING_MENU=y +# CONFIG_LKDTM is not set # CONFIG_TEST_LIST_SORT is not set # CONFIG_TEST_SORT is not set # CONFIG_ATOMIC64_SELFTEST is not set # CONFIG_TEST_HEXDUMP is not set # CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_STRSCPY is not set # CONFIG_TEST_KSTRTOX is not set # CONFIG_TEST_PRINTF is not set # CONFIG_TEST_BITMAP is not set @@ -4271,6 +4681,7 @@ CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_TEST_HASH is not set # CONFIG_TEST_IDA is not set # CONFIG_TEST_LKM is not set +# CONFIG_TEST_VMALLOC is not set # CONFIG_TEST_USER_COPY is not set # CONFIG_TEST_BPF is not set # CONFIG_FIND_BIT_BENCHMARK is not set @@ -4280,11 +4691,13 @@ CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_TEST_STATIC_KEYS is not set # CONFIG_TEST_KMOD is not set # CONFIG_TEST_MEMCAT_P is not set +# CONFIG_TEST_STACKINIT is not set # CONFIG_MEMTEST is not set # CONFIG_BUG_ON_DATA_CORRUPTION is not set # CONFIG_SAMPLES is not set CONFIG_HAVE_ARCH_KGDB=y # CONFIG_UBSAN is not set +CONFIG_UBSAN_ALIGNMENT=y CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y # CONFIG_STRICT_DEVMEM is not set CONFIG_ARM_PTDUMP_CORE=y @@ -4297,3 +4710,4 @@ CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" # CONFIG_PID_IN_CONTEXTIDR is not set # CONFIG_CORESIGHT is not set +# end of Kernel hacking diff --git a/firmware/firmware-samsung-i927/APKBUILD b/firmware/firmware-samsung-i927/APKBUILD index a14335503..3c1c6c493 100644 --- a/firmware/firmware-samsung-i927/APKBUILD +++ b/firmware/firmware-samsung-i927/APKBUILD @@ -1,6 +1,6 @@ pkgname=firmware-samsung-i927 -pkgver=1 -pkgrel=1 +pkgver=2 +pkgrel=0 pkgdesc="Samsung SGH-i927 Firmware" url="https://github.com/The-Covenant" arch="armv7" @@ -8,11 +8,11 @@ license="proprietary" options="!check" # Source -_fw_file="bcm4330_sta.bin" -_nvram_file="nvram_net.txt" -_commit="73d33be8ff2323eb51aa7f8c4916e946850e8bfe" -_url_fw="https://github.com/The-Covenant/proprietary_vendor_samsung/raw/$_commit/i927/proprietary/$_fw_file" -_url_nvram="https://github.com/The-Covenant/proprietary_vendor_samsung/raw/$_commit/i927/proprietary/$_nvram_file" +_fw_file="brcmfmac4330-sdio.bin" +_nvram_file="brcmfmac4330-sdio.txt" +_commit="ce33751ae5f0681818780945016fd3f139519af4" +_url_fw="https://gitlab.com/cerg2010cerg2010/i927-firmware/raw/$_commit/$_fw_file" +_url_nvram="https://gitlab.com/cerg2010cerg2010/i927-firmware/raw/$_commit/$_nvram_file" source="" source="$source $pkgname-$_commit-$_fw_file::$_url_fw"; @@ -24,5 +24,5 @@ package() { install -Dm644 "$srcdir/$pkgname-$_commit-$_nvram_file" \ "$pkgdir/lib/firmware/postmarketos/brcm/brcmfmac4330-sdio.txt" } -sha512sums="3ae32e0c27a9143fa07e823c414639387aced9bdc149762806059b9dd3ebd3358675657a3cae25572db4e40e4f682d446aadd87c7d459269fc7d2ccf99a2c449 firmware-samsung-i927-73d33be8ff2323eb51aa7f8c4916e946850e8bfe-bcm4330_sta.bin -1fac44f6c1d312cefc5c5bc2b66be41c877a0be6448359b95e7a966553acbf249b193a531a1d4dbdb1d8ec58dd43215d9f3d6c869374612593eb88a70d1a6d93 firmware-samsung-i927-73d33be8ff2323eb51aa7f8c4916e946850e8bfe-nvram_net.txt" +sha512sums="08e9aa9a223f9d2465d78c7310abce9ca32aef3d656d5dd31dabdf312c4c05d4e7253234d917106e9dcec841d82d08aefafb86226f34bc97eb1990883cfa5b54 firmware-samsung-i927-ce33751ae5f0681818780945016fd3f139519af4-brcmfmac4330-sdio.bin +eecce363252930a6e928d0e458b48abb7f610bda7a8e0f05f2e6e51f688dea22888a47f3e8e5aa552cee4ec01c98449b15675364f95555a269a58c77181bd612 firmware-samsung-i927-ce33751ae5f0681818780945016fd3f139519af4-brcmfmac4330-sdio.txt"