From 7454b09ee50be80e15d7316e10ce1f6489c9cf09 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Mon, 4 Apr 2022 08:17:37 +0000 Subject: [PATCH] linux: bump Amlogic to Linux 5.18.y --- packages/linux/package.mk | 4 +- ...-HACK-set-meson-gx-cma-pool-to-896MB.patch | 4 +- ...HACK-set-meson-g12-cma-pool-to-896MB.patch | 6 +- ...m64-fix-Kodi-sysinfo-CPU-information.patch | 8 +- ...eson-add-LibreELEC-device-tree-overl.patch | 12 +- ...eson-add-Amlogic-Meson-GX-PM-Suspend.patch | 4 +- ...eson-add-support-for-GX-PM-and-Virtu.patch | 4 +- ...eson-add-rtc-vrtc-aliases-to-Khadas-.patch | 4 +- ...eson-add-rtc-vrtc-aliases-to-Khadas-.patch | 4 +- ...eson-add-rtc-vrtc-aliases-to-Minix-N.patch | 4 +- ...-internal-PCM-chmap-ELD-IEC958-kctls.patch | 59 ++ ...ble-autosuspend-for-Genesys-Logic-H.patch} | 8 +- ...64-dts-meson-add-common-SM1-ac2xx-dt.patch | 325 ------- ...-of-partial-revert-of-fdt.c-changes.patch} | 4 +- ...bindings-arm-amlogic-add-X96-AIR-bin.patch | 32 - ...64-dts-meson-align-SPI-NOR-node-name.patch | 102 +++ ...64-dts-meson-add-initial-device-tree.patch | 313 ------- ...64-dts-meson-alpa-sort-the-board-Mak.patch | 104 +++ ...bindings-vendor-prefixes-add-cyx-pre.patch | 31 - ...meson-aiu-Fix-HDMI-codec-control-se.patch} | 8 +- ...bindings-arm-amlogic-add-A95XF3-AIR-.patch | 32 - ...-dts-meson-make-dts-use-gpio-fan-ma.patch} | 6 +- ...64-dts-meson-add-initial-device-tree.patch | 305 ------- ...1-mmc-meson-gx-fix-deferred-probing.patch} | 4 +- ...bindings-vendor-prefixes-add-haochua.patch | 31 - ...ooth-btrtl-Add-support-for-RTL8822C.patch} | 8 +- ...bindings-arm-amlogic-add-H96-Max-bin.patch | 29 - ...ndings-vendor-prefixes-Add-Titan-Mi.patch} | 8 +- ...64-dts-meson-add-initial-device-tree.patch | 197 ----- ...ndings-auxdisplay-Add-Titan-Micro-E.patch} | 5 +- ...64-dts-meson-sm1-add-spdifin-spdifou.patch | 54 -- ...ABI-document-tm1628-attribute-displ.patch} | 4 +- ...64-dts-meson-g12-common-add-more-pwm.patch | 43 - ...splay-add-support-for-Titanmec-TM16.patch} | 110 +-- ...64-dts-meson-g12-common-add-uart_ao_.patch | 56 -- ...-dts-meson-gxl-s905w-tx3-mini-add-s.patch} | 12 +- ...bindings-vendor-prefixes-add-osmc-pr.patch | 30 - ...TAINERS-Add-entry-for-tm1628-auxdisp.patch | 32 + ...bindings-arm-amlogic-add-Vero-4K-bin.patch | 28 - ...i-factor-out-parts-of-xhci_gen_setup.patch | 154 ++++ ...64-dts-meson-add-support-for-OSMC-Ve.patch | 170 ---- ...-prepare-for-operation-w-o-shared-hc.patch | 283 ++++++ ...host-xhci-plat-create-shared-hcd-aft.patch | 99 +++ ...host-xhci-plat-prepare-operation-w-o.patch | 66 ++ ...meson-Drop-always-false-check-from-..patch | 44 - ...host-xhci-plat-omit-shared-hcd-if-ei.patch | 30 + ...meson-Drop-useless-check-for-channel.patch | 35 - ...meson-Use-_SHIFT-and-_MASK-for-regis.patch | 90 ++ ...meson-Simplify-duplicated-per-channe.patch | 70 -- ...meson-Use-50-duty-cycle-for-I2C-cloc.patch | 143 +++ ...meson-gx-switch-to-device-managed-dm.patch | 73 ++ ...meson-Drop-always-false-check-from-..patch | 34 - ...al-meson-acquire-port-lock-in-startu.patch | 90 ++ ...amlogic-phy-meson-gxl-usb2-fix-share.patch | 36 - ...-drm-meson-add-YUV422-output-support.patch | 53 ++ ...amlogic-meson8b-usb2-Use-dev_err_pro.patch | 34 - ...4-dts-meson-add-gpio-fan-control-to-.patch | 61 ++ ...amlogic-meson8b-usb2-fix-shared-rese.patch | 60 -- ...a-v4l2-mem2mem-Apply-DST_QUEUE_OFF_B.patch | 127 --- ...dec-reorder-channel-allocation-list.patch} | 6 +- ...trl-meson-g12a-add-more-pwm_f-option.patch | 54 -- ...mmc-set-core-clock-phase-to-270-deg.patch} | 10 +- ...eson-add-Broadcom-WiFi-to-P212-dtsi.patch} | 4 +- ...meson-move-pwm_ef-node-in-P212-dtsi.patch} | 4 +- ...tooth-hci_h5-Add-power-reset-via-gpi.patch | 32 - ...on-remove-WiFi-BT-nodes-from-Khadas.patch} | 4 +- ...4-dts-meson-remove-CPU-opps-below-1G.patch | 139 --- ...on-set-p212-p23x-q20x-SDIO-to-100MH.patch} | 4 +- ...4-dts-meson-remove-CPU-opps-below-1G.patch | 53 -- ...on-add-UHS-SDIO-capabilities-to-p21.patch} | 4 +- ...ers-meson-vdec-add-VP9-support-to-GX.patch | 42 - ...on-remove-SDIO-node-from-Khadas-VIM.patch} | 4 +- ...gpio-Implement-LSB-First-bitbang-sup.patch | 209 ----- ...on-add-audio-playback-to-S905X-P212.patch} | 4 +- ...-vdec-remove-redundant-if-statement.patch} | 6 +- ...-vdec-improve-mmu-and-fbc-handling-.patch} | 14 +- ...rs-meson-vdec-add-HEVC-decode-codec.patch} | 6 +- ...-vdec-add-handling-to-HEVC-decoder-.patch} | 4 +- ...meson-vdec-add-HEVC-support-to-GXBB.patch} | 4 +- ...core-improve-handling-of-hubs-with-n.patch | 54 -- ...-vdec-check-if-parser-has-really-pa.patch} | 8 +- ...-soc-core-add-debugfs_prefix-member-.patch | 55 -- ...eson_vclk-fix-VIC-alternate-timings.patch} | 4 +- ...-meson-aiu-fix-duplicate-debugfs-dir.patch | 69 -- ...on-radxa-zero-add-support-for-the-u.patch} | 4 +- ...rm-amlogic-add-support-for-Radxa-Ze.patch} | 6 +- ...s-meson-add-support-for-Radxa-Zero2.patch} | 14 +- ...ts-meson-add-audio-playback-to-p201.patch} | 4 +- ...ts-meson-add-audio-playback-to-p200.patch} | 4 +- ...ts-meson-add-audio-playback-to-u200.patch} | 4 +- ...on-add-Headphone-output-to-Beelink-.patch} | 4 +- ...rm-amlogic-add-support-for-the-Tani.patch} | 6 +- ...on-add-support-for-the-Tanix-TX5-Ma.patch} | 12 +- ...on-add-multiple-MeCool-device-trees.patch} | 33 +- ...rm-amlogic-add-support-for-Minix-NE.patch} | 6 +- ...on-add-initial-device-tree-for-Mini.patch} | 8 +- ...keymap-for-Beelink-Mini-MXIII-remot.patch} | 10 +- ...rm-amlogic-add-support-for-Beelink-.patch} | 6 +- ...on-add-support-for-Beelink-Mini-MXI.patch} | 10 +- ...-keymap-for-MeCool-M8S-Pro-W-remote.patch} | 17 +- ...rm-amlogic-add-support-for-MeCool-M.patch} | 6 +- ...on-add-support-for-MeCool-M8S-Pro-W.patch} | 4 +- ...ngs-arm-amlogic-add-Vero-4K-binding.patch} | 6 +- ...-meson-add-support-for-OSMC-Vero-4K.patch} | 14 +- ...son-add-RTL8822CS-bluetooth-to-X96-A.patch | 37 + ...ia-rc-add-keymap-for-Venz-V10-remote.patch | 154 ++++ ...arm-amlogic-add-S905L-and-Venz-V10-b.patch | 34 + ...4-dts-meson-add-support-for-Venz-V10.patch | 373 ++++++++ ...ixup-for-TM1628-display-controller-d.patch | 42 - ...son-g12a-x96-max-add-support-for-the.patch | 95 -- projects/Amlogic/linux/linux.aarch64.conf | 822 ++++++++++-------- 111 files changed, 2775 insertions(+), 3543 deletions(-) create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0010-HACK-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctls.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0010-HACK-usb-hub-disable-autosuspend-for-Genesys-Logic-H.patch => amlogic-0011-HACK-usb-hub-disable-autosuspend-for-Genesys-Logic-H.patch} (82%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0012-FROMGIT-5.18-arm64-dts-meson-add-common-SM1-ac2xx-dt.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0011-HACK-of-partial-revert-of-fdt.c-changes.patch => amlogic-0012-HACK-of-partial-revert-of-fdt.c-changes.patch} (90%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0013-FROMGIT-5.18-dt-bindings-arm-amlogic-add-X96-AIR-bin.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0013-FROMGIT-5.19-arm64-dts-meson-align-SPI-NOR-node-name.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-5.18-arm64-dts-meson-add-initial-device-tree.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-5.19-arm64-dts-meson-alpa-sort-the-board-Mak.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0015-FROMGIT-5.18-dt-bindings-vendor-prefixes-add-cyx-pre.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0027-FROMLIST-v1-ASoC-meson-aiu-Fix-HDMI-codec-control-se.patch => amlogic-0015-FROMLIST-v1-ASoC-meson-aiu-Fix-HDMI-codec-control-se.patch} (97%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0016-FROMGIT-5.18-dt-bindings-arm-amlogic-add-A95XF3-AIR-.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0028-FROMLIST-v1-arm64-dts-meson-make-dts-use-gpio-fan-ma.patch => amlogic-0016-FROMLIST-v1-arm64-dts-meson-make-dts-use-gpio-fan-ma.patch} (85%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0017-FROMGIT-5.18-arm64-dts-meson-add-initial-device-tree.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0038-FROMLIST-v1-mmc-meson-gx-fix-deferred-probing.patch => amlogic-0017-FROMLIST-v1-mmc-meson-gx-fix-deferred-probing.patch} (89%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0018-FROMGIT-5.18-dt-bindings-vendor-prefixes-add-haochua.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0039-FROMLIST-v3-Bluetooth-btrtl-Add-support-for-RTL8822C.patch => amlogic-0018-FROMLIST-v3-Bluetooth-btrtl-Add-support-for-RTL8822C.patch} (79%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0019-FROMGIT-5.18-dt-bindings-arm-amlogic-add-H96-Max-bin.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0045-FROMLIST-v2-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch => amlogic-0019-FROMLIST-v5-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch} (83%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0020-FROMGIT-5.18-arm64-dts-meson-add-initial-device-tree.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0046-FROMLIST-v2-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch => amlogic-0020-FROMLIST-v5-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch} (94%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0021-FROMGIT-5.18-arm64-dts-meson-sm1-add-spdifin-spdifou.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0047-FROMLIST-v2-docs-ABI-document-tm1628-attribute-displ.patch => amlogic-0021-FROMLIST-v5-docs-ABI-document-tm1628-attribute-displ.patch} (89%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0022-FROMGIT-5.18-arm64-dts-meson-g12-common-add-more-pwm.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0048-FROMLIST-v2-auxdisplay-add-support-for-Titanmec-TM16.patch => amlogic-0022-FROMLIST-v5-auxdisplay-add-support-for-Titanmec-TM16.patch} (83%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0023-FROMGIT-5.18-arm64-dts-meson-g12-common-add-uart_ao_.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0049-FROMLIST-v2-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch => amlogic-0023-FROMLIST-v5-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch} (86%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMGIT-5.18-dt-bindings-vendor-prefixes-add-osmc-pr.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMLIST-v5-MAINTAINERS-Add-entry-for-tm1628-auxdisp.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMGIT-5.18-dt-bindings-arm-amlogic-add-Vero-4K-bin.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMLIST-v2-xhci-factor-out-parts-of-xhci_gen_setup.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMGIT-5.18-arm64-dts-meson-add-support-for-OSMC-Ve.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMLIST-v2-xhci-prepare-for-operation-w-o-shared-hc.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0027-FROMLIST-v2-usb-host-xhci-plat-create-shared-hcd-aft.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0028-FROMLIST-v2-usb-host-xhci-plat-prepare-operation-w-o.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMLIST-v1-pwm-meson-Drop-always-false-check-from-..patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMLIST-v2-usb-host-xhci-plat-omit-shared-hcd-if-ei.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMLIST-v1-pwm-meson-Drop-useless-check-for-channel.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMLIST-v2-i2c-meson-Use-_SHIFT-and-_MASK-for-regis.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMLIST-v1-pwm-meson-Simplify-duplicated-per-channe.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMLIST-v2-i2c-meson-Use-50-duty-cycle-for-I2C-cloc.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMLIST-v1-mmc-meson-gx-switch-to-device-managed-dm.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMLIST-v1-pwm-meson-Drop-always-false-check-from-..patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMLIST-v1-serial-meson-acquire-port-lock-in-startu.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMLIST-v4-phy-amlogic-phy-meson-gxl-usb2-fix-share.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMLIST-v1-drm-meson-add-YUV422-output-support.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMLIST-v4-phy-amlogic-meson8b-usb2-Use-dev_err_pro.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMLIST-v2-arm64-dts-meson-add-gpio-fan-control-to-.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMLIST-v4-phy-amlogic-meson8b-usb2-fix-shared-rese.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-FROMLIST-v2-media-v4l2-mem2mem-Apply-DST_QUEUE_OFF_B.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0053-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch => amlogic-0036-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch} (97%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0037-FROMLIST-v1-pinctrl-meson-g12a-add-more-pwm_f-option.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0054-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch => amlogic-0037-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch} (86%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0055-WIP-arm64-dts-meson-add-Broadcom-WiFi-to-P212-dtsi.patch => amlogic-0038-WIP-arm64-dts-meson-add-Broadcom-WiFi-to-P212-dtsi.patch} (87%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0056-WIP-arm64-dts-meson-move-pwm_ef-node-in-P212-dtsi.patch => amlogic-0039-WIP-arm64-dts-meson-move-pwm_ef-node-in-P212-dtsi.patch} (90%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-FROMLIST-v3-Bluetooth-hci_h5-Add-power-reset-via-gpi.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0057-WIP-arm64-dts-meson-remove-WiFi-BT-nodes-from-Khadas.patch => amlogic-0040-WIP-arm64-dts-meson-remove-WiFi-BT-nodes-from-Khadas.patch} (90%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0041-FROMLIST-v2-arm64-dts-meson-remove-CPU-opps-below-1G.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0058-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch => amlogic-0041-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch} (96%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0042-FROMLIST-v2-arm64-dts-meson-remove-CPU-opps-below-1G.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0059-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch => amlogic-0042-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch} (91%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0043-FROMLIST-v1-drivers-meson-vdec-add-VP9-support-to-GX.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0060-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch => amlogic-0043-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch} (87%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0044-FROMLIST-v2-spi-gpio-Implement-LSB-First-bitbang-sup.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0061-WIP-arm64-dts-meson-add-audio-playback-to-S905X-P212.patch => amlogic-0044-WIP-arm64-dts-meson-add-audio-playback-to-S905X-P212.patch} (94%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0062-WIP-drivers-meson-vdec-remove-redundant-if-statement.patch => amlogic-0045-WIP-drivers-meson-vdec-remove-redundant-if-statement.patch} (85%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0063-WIP-drivers-meson-vdec-improve-mmu-and-fbc-handling-.patch => amlogic-0046-WIP-drivers-meson-vdec-improve-mmu-and-fbc-handling-.patch} (98%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0064-WIP-drivers-meson-vdec-add-HEVC-decode-codec.patch => amlogic-0047-WIP-drivers-meson-vdec-add-HEVC-decode-codec.patch} (99%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0065-WIP-drivers-meson-vdec-add-handling-to-HEVC-decoder-.patch => amlogic-0048-WIP-drivers-meson-vdec-add-handling-to-HEVC-decoder-.patch} (97%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0066-WIP-drivers-meson-vdec-add-HEVC-support-to-GXBB.patch => amlogic-0049-WIP-drivers-meson-vdec-add-HEVC-support-to-GXBB.patch} (90%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0050-FROMLIST-v1-usb-core-improve-handling-of-hubs-with-n.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0067-WIP-drivers-meson-vdec-check-if-parser-has-really-pa.patch => amlogic-0050-WIP-drivers-meson-vdec-check-if-parser-has-really-pa.patch} (87%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0051-FROMLIST-v2-ASoC-soc-core-add-debugfs_prefix-member-.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0088-WIP-drm-meson-meson_vclk-fix-VIC-alternate-timings.patch => amlogic-0051-WIP-drm-meson-meson_vclk-fix-VIC-alternate-timings.patch} (92%) delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0052-FROMLIST-v2-ASoC-meson-aiu-fix-duplicate-debugfs-dir.patch rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0068-WIP-arm64-dts-meson-radxa-zero-add-support-for-the-u.patch => amlogic-0052-WIP-arm64-dts-meson-radxa-zero-add-support-for-the-u.patch} (94%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0069-WIP-dt-bindings-arm-amlogic-add-support-for-Radxa-Ze.patch => amlogic-0053-WIP-dt-bindings-arm-amlogic-add-support-for-Radxa-Ze.patch} (82%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0070-WIP-arm64-dts-meson-add-support-for-Radxa-Zero2.patch => amlogic-0054-WIP-arm64-dts-meson-add-support-for-Radxa-Zero2.patch} (97%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0071-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch => amlogic-0055-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch} (92%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0072-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch => amlogic-0056-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch} (94%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0073-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch => amlogic-0057-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch} (96%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0074-WIP-arm64-dts-meson-add-Headphone-output-to-Beelink-.patch => amlogic-0058-WIP-arm64-dts-meson-add-Headphone-output-to-Beelink-.patch} (97%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0075-WIP-dt-bindings-arm-amlogic-add-support-for-the-Tani.patch => amlogic-0059-WIP-dt-bindings-arm-amlogic-add-support-for-the-Tani.patch} (83%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0076-WIP-arm64-dts-meson-add-support-for-the-Tanix-TX5-Ma.patch => amlogic-0060-WIP-arm64-dts-meson-add-support-for-the-Tanix-TX5-Ma.patch} (96%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0077-WIP-arm64-dts-meson-add-multiple-MeCool-device-trees.patch => amlogic-0061-WIP-arm64-dts-meson-add-multiple-MeCool-device-trees.patch} (82%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0078-WIP-dt-bindings-arm-amlogic-add-support-for-Minix-NE.patch => amlogic-0062-WIP-dt-bindings-arm-amlogic-add-support-for-Minix-NE.patch} (84%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0079-WIP-arm64-dts-meson-add-initial-device-tree-for-Mini.patch => amlogic-0063-WIP-arm64-dts-meson-add-initial-device-tree-for-Mini.patch} (95%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0080-WIP-media-rc-add-keymap-for-Beelink-Mini-MXIII-remot.patch => amlogic-0064-WIP-media-rc-add-keymap-for-Beelink-Mini-MXIII-remot.patch} (93%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0081-WIP-dt-bindings-arm-amlogic-add-support-for-Beelink-.patch => amlogic-0065-WIP-dt-bindings-arm-amlogic-add-support-for-Beelink-.patch} (84%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0082-WIP-arm64-dts-meson-add-support-for-Beelink-Mini-MXI.patch => amlogic-0066-WIP-arm64-dts-meson-add-support-for-Beelink-Mini-MXI.patch} (94%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0083-WIP-media-rc-add-keymap-for-MeCool-M8S-Pro-W-remote.patch => amlogic-0067-WIP-media-rc-add-keymap-for-MeCool-M8S-Pro-W-remote.patch} (92%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0084-WIP-dt-bindings-arm-amlogic-add-support-for-MeCool-M.patch => amlogic-0068-WIP-dt-bindings-arm-amlogic-add-support-for-MeCool-M.patch} (83%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0085-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-W.patch => amlogic-0069-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-W.patch} (93%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0086-WIP-dt-bindings-arm-amlogic-add-Vero-4K-binding.patch => amlogic-0070-WIP-dt-bindings-arm-amlogic-add-Vero-4K-binding.patch} (82%) rename projects/Amlogic/devices/AMLGX/patches/linux/{amlogic-0087-WIP-arm64-dts-meson-add-support-for-OSMC-Vero-4K.patch => amlogic-0071-WIP-arm64-dts-meson-add-support-for-OSMC-Vero-4K.patch} (92%) create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0072-WIP-arm64-dts-meson-add-RTL8822CS-bluetooth-to-X96-A.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0073-WIP-media-rc-add-keymap-for-Venz-V10-remote.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0074-WIP-dt-bindings-arm-amlogic-add-S905L-and-Venz-V10-b.patch create mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0075-WIP-arm64-dts-meson-add-support-for-Venz-V10.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0089-WIP-auxdisplay-fixup-for-TM1628-display-controller-d.patch delete mode 100644 projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0090-WIP-arm64-dts-meson-g12a-x96-max-add-support-for-the.patch diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 48580af741..0cf889015b 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -16,8 +16,8 @@ PKG_PATCH_DIRS="${LINUX}" case "${LINUX}" in amlogic) - PKG_VERSION="f443e374ae131c168a065ea1748feac6b2e76613" # 5.17.0 - PKG_SHA256="23baf1a7569ca1b828965ce8af07a412f2497a1530ad8307311edf01346d89b7" + PKG_VERSION="4b0986a3613c92f4ec1bdc7f60ec66fea135991f" # 5.18.0 + PKG_SHA256="437360f90fd93143a513d07be40175eb3d0509a6862808adf20f401d0a458ef0" PKG_URL="https://github.com/torvalds/linux/archive/${PKG_VERSION}.tar.gz" PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz" ;; diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0001-HACK-set-meson-gx-cma-pool-to-896MB.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0001-HACK-set-meson-gx-cma-pool-to-896MB.patch index c252eed8e6..d04209989a 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0001-HACK-set-meson-gx-cma-pool-to-896MB.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0001-HACK-set-meson-gx-cma-pool-to-896MB.patch @@ -1,7 +1,7 @@ -From 4b6096bb3fd5bdc139a45e022e4a2380ea919dea Mon Sep 17 00:00:00 2001 +From b1df1a0cec010e38aa9f564bbb76cc4d0ee83c83 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sat, 13 Apr 2019 05:41:51 +0000 -Subject: [PATCH 01/90] HACK: set meson-gx cma pool to 896MB +Subject: [PATCH 01/75] HACK: set meson-gx cma pool to 896MB This change sets the CMA pool to a larger 896MB! value for vdec use diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0002-HACK-set-meson-g12-cma-pool-to-896MB.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0002-HACK-set-meson-g12-cma-pool-to-896MB.patch index 4faeee7e41..74aa16c3ce 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0002-HACK-set-meson-g12-cma-pool-to-896MB.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0002-HACK-set-meson-g12-cma-pool-to-896MB.patch @@ -1,7 +1,7 @@ -From 18586e3d94827f63903c4cd596a0a06134261c00 Mon Sep 17 00:00:00 2001 +From c20b4b9e9515a5cb13325e0ef78e2dc5b4ffb4f1 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 14 Aug 2019 19:58:14 +0000 -Subject: [PATCH 02/90] HACK: set meson-g12 cma pool to 896MB +Subject: [PATCH 02/75] HACK: set meson-g12 cma pool to 896MB This change sets the CMA pool to a larger 896MB! value for vdec use @@ -11,7 +11,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -index f84d4b489e0b..04da23119ff1 100644 +index 45947c1031c4..2c56b216d6f9 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi @@ -116,7 +116,7 @@ diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0003-HACK-arm64-fix-Kodi-sysinfo-CPU-information.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0003-HACK-arm64-fix-Kodi-sysinfo-CPU-information.patch index 60f16a2dda..2209a421d4 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0003-HACK-arm64-fix-Kodi-sysinfo-CPU-information.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0003-HACK-arm64-fix-Kodi-sysinfo-CPU-information.patch @@ -1,7 +1,7 @@ -From 5c9793b46115c2fd774678de7ff5efd7d6ae8d72 Mon Sep 17 00:00:00 2001 +From 84a25e6dd92b544178ac31be3fc0fefe2aac76ee Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sat, 13 Apr 2019 05:45:18 +0000 -Subject: [PATCH 03/90] HACK: arm64: fix Kodi sysinfo CPU information +Subject: [PATCH 03/75] HACK: arm64: fix Kodi sysinfo CPU information This allows the CPU information to show in the Kodi sysinfo screen, e.g. @@ -13,10 +13,10 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c -index 591c18a889a5..fdd91a00a285 100644 +index 330b92ea863a..b84670cdea1b 100644 --- a/arch/arm64/kernel/cpuinfo.c +++ b/arch/arm64/kernel/cpuinfo.c -@@ -151,8 +151,7 @@ static int c_show(struct seq_file *m, void *v) +@@ -152,8 +152,7 @@ static int c_show(struct seq_file *m, void *v) * "processor". Give glibc what it expects. */ seq_printf(m, "processor\t: %d\n", i); diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0004-HACK-arm64-dts-meson-add-LibreELEC-device-tree-overl.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0004-HACK-arm64-dts-meson-add-LibreELEC-device-tree-overl.patch index 63a6578b94..60a146fef3 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0004-HACK-arm64-dts-meson-add-LibreELEC-device-tree-overl.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0004-HACK-arm64-dts-meson-add-LibreELEC-device-tree-overl.patch @@ -1,7 +1,7 @@ -From 33f05e843b3afe9c0effb91eae76ab42c114ad88 Mon Sep 17 00:00:00 2001 +From db8d6fd7c8a5ec09d32f15567c5cb1a7aba5df14 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 5 Jan 2022 15:03:06 +0000 -Subject: [PATCH 04/90] HACK: arm64: dts: meson: add LibreELEC device-tree +Subject: [PATCH 04/75] HACK: arm64: dts: meson: add LibreELEC device-tree overlays for Amlogic This commit implements a series of device-tree overlays used with LibreELEC @@ -17,13 +17,13 @@ Signed-off-by: Christian Hewitt create mode 100644 arch/arm64/boot/dts/amlogic/overlays/wifi-rtl8189etv.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 5148cd9e5146..19d4d75305af 100644 +index 0eec18678311..34990beb4e5a 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -57,3 +57,5 @@ dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-c4.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-hc4.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-sei610.dtb +@@ -64,3 +64,5 @@ dtb-$(CONFIG_ARCH_MESON) += meson-sm1-x96-air.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-sm1-x96-air-gbit.dtb dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad401.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-s4-s805x2-aq222.dtb + +subdir-y += overlays diff --git a/arch/arm64/boot/dts/amlogic/overlays/Makefile b/arch/arm64/boot/dts/amlogic/overlays/Makefile diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0005-HACK-arm64-meson-add-Amlogic-Meson-GX-PM-Suspend.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0005-HACK-arm64-meson-add-Amlogic-Meson-GX-PM-Suspend.patch index ab4c6fafa9..3680d137b3 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0005-HACK-arm64-meson-add-Amlogic-Meson-GX-PM-Suspend.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0005-HACK-arm64-meson-add-Amlogic-Meson-GX-PM-Suspend.patch @@ -1,7 +1,7 @@ -From e0252efa9190de31a2fc98eed28b273428a3fe36 Mon Sep 17 00:00:00 2001 +From f457008e42e2a273c0ab480894381e7c96308d84 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Thu, 3 Nov 2016 15:29:23 +0100 -Subject: [PATCH 05/90] HACK: arm64: meson: add Amlogic Meson GX PM Suspend +Subject: [PATCH 05/75] HACK: arm64: meson: add Amlogic Meson GX PM Suspend The Amlogic Meson GX SoCs uses a non-standard argument to the PSCI CPU_SUSPEND call to enter system suspend. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0006-HACK-arm64-dts-meson-add-support-for-GX-PM-and-Virtu.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0006-HACK-arm64-dts-meson-add-support-for-GX-PM-and-Virtu.patch index 856b6638d9..6307aeef54 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0006-HACK-arm64-dts-meson-add-support-for-GX-PM-and-Virtu.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0006-HACK-arm64-dts-meson-add-support-for-GX-PM-and-Virtu.patch @@ -1,7 +1,7 @@ -From 9c2b8d82e36bf5ce932e6561d13adf5c7c5d367f Mon Sep 17 00:00:00 2001 +From d85566c8d4de95b466dfbdf0d4d5f53e57584cf7 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Thu, 3 Nov 2016 15:29:25 +0100 -Subject: [PATCH 06/90] HACK: arm64: dts: meson: add support for GX PM and +Subject: [PATCH 06/75] HACK: arm64: dts: meson: add support for GX PM and Virtual RTC Signed-off-by: Neil Armstrong diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0007-HACK-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0007-HACK-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas-.patch index 73f2ed94d7..8b95ba2349 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0007-HACK-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas-.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0007-HACK-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas-.patch @@ -1,7 +1,7 @@ -From 5ff8dfecb282089107d1bd3da6b612c5294fe0cb Mon Sep 17 00:00:00 2001 +From 13453d3ca24c5607ac8370f764391e2bd163cb95 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Thu, 21 Jan 2021 01:35:36 +0000 -Subject: [PATCH 07/90] HACK: arm64: dts: meson: add rtc/vrtc aliases to Khadas +Subject: [PATCH 07/75] HACK: arm64: dts: meson: add rtc/vrtc aliases to Khadas VIM Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1 diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0008-HACK-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0008-HACK-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas-.patch index 929e0fa7e7..ef796e7006 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0008-HACK-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas-.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0008-HACK-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas-.patch @@ -1,7 +1,7 @@ -From 293a4281d04100f1a0ab8ced46a45fc557f6e130 Mon Sep 17 00:00:00 2001 +From 112af0d7e7aa4f18706d5242d7871477586fcde0 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sat, 6 Nov 2021 13:01:08 +0000 -Subject: [PATCH 08/90] HACK: arm64: dts: meson: add rtc/vrtc aliases to Khadas +Subject: [PATCH 08/75] HACK: arm64: dts: meson: add rtc/vrtc aliases to Khadas VIM2 Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1 diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0009-HACK-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-N.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0009-HACK-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-N.patch index b9555091be..f9f0c84994 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0009-HACK-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-N.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0009-HACK-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-N.patch @@ -1,7 +1,7 @@ -From 2d353b2a41bc5f7848c9b57ccd62e13ffe36d1db Mon Sep 17 00:00:00 2001 +From 8479ed7389a4957ef0bc87fd11d1f1129236faa4 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Mon, 1 Feb 2021 19:27:40 +0000 -Subject: [PATCH 09/90] HACK: arm64: dts: meson: add rtc/vrtc aliases to Minix +Subject: [PATCH 09/75] HACK: arm64: dts: meson: add rtc/vrtc aliases to Minix NEO U9-H Add node aliases to prevent meson-vrtc from claiming /dev/rtc0 diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0010-HACK-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctls.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0010-HACK-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctls.patch new file mode 100644 index 0000000000..61ce4ebb12 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0010-HACK-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctls.patch @@ -0,0 +1,59 @@ +From 1faff4f99dd89ff6ed21a3dda81974a965e50cf8 Mon Sep 17 00:00:00 2001 +From: Anssi Hannula +Date: Sun, 17 Apr 2022 04:37:48 +0000 +Subject: [PATCH 10/75] HACK: ALSA: Assign internal PCM chmap/ELD/IEC958 kctls + to device 0 + +On SoC sound devices utilizing codec2codec DAI links with a HDMI codec +the kctls for chmap, ELD, IEC958 are currently created using the +internal PCM device numbers. This causes userspace to not see the +actual channel mapping. + +Affected devices include LibreTech LePotato and Wetek Play 2. + +The proper fix would be not create these kctls for internal PCMs and +instead create them for the real userspace-visible PCMs, somehow +forwarding the controls between the HDMI codec and the real PCM. + +As a workaround, simply use device=0 for all channel map controls and +SoC HDMI codec controls for internal PCM devices. + +Signed-off-by: Anssi Hannula +--- + sound/core/pcm_lib.c | 5 ++++- + sound/soc/codecs/hdmi-codec.c | 3 ++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c +index 1fc7c50ffa62..9b40289c1fd1 100644 +--- a/sound/core/pcm_lib.c ++++ b/sound/core/pcm_lib.c +@@ -2514,7 +2514,10 @@ int snd_pcm_add_chmap_ctls(struct snd_pcm *pcm, int stream, + knew.name = "Playback Channel Map"; + else + knew.name = "Capture Channel Map"; +- knew.device = pcm->device; ++ if (pcm->internal && pcm->device) ++ dev_info(pcm->card->dev, "workaround active: internal PCM chmap controls mapped to device 0\n"); ++ else ++ knew.device = pcm->device; + knew.count = pcm->streams[stream].substream_count; + knew.private_value = private_value; + info->kctl = snd_ctl_new1(&knew, info); +diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c +index b07607a9ecea..bcb018ea690b 100644 +--- a/sound/soc/codecs/hdmi-codec.c ++++ b/sound/soc/codecs/hdmi-codec.c +@@ -802,7 +802,8 @@ static int hdmi_codec_pcm_new(struct snd_soc_pcm_runtime *rtd, + if (!kctl) + return -ENOMEM; + +- kctl->id.device = rtd->pcm->device; ++ if (!rtd->pcm->internal) ++ kctl->id.device = rtd->pcm->device; + ret = snd_ctl_add(rtd->card->snd_card, kctl); + if (ret < 0) + return ret; +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0010-HACK-usb-hub-disable-autosuspend-for-Genesys-Logic-H.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0011-HACK-usb-hub-disable-autosuspend-for-Genesys-Logic-H.patch similarity index 82% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0010-HACK-usb-hub-disable-autosuspend-for-Genesys-Logic-H.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0011-HACK-usb-hub-disable-autosuspend-for-Genesys-Logic-H.patch index 1476032e46..38eced002a 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0010-HACK-usb-hub-disable-autosuspend-for-Genesys-Logic-H.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0011-HACK-usb-hub-disable-autosuspend-for-Genesys-Logic-H.patch @@ -1,7 +1,7 @@ -From 790f6b3e8f35b76bb45f011046b680108f6cae87 Mon Sep 17 00:00:00 2001 +From 4b8af442a3524cede5cee4eef590b813bdc8e5c7 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Mon, 3 Jan 2022 10:44:17 +0000 -Subject: [PATCH 10/90] HACK: usb: hub: disable autosuspend for Genesys Logic +Subject: [PATCH 11/75] HACK: usb: hub: disable autosuspend for Genesys Logic Hubs Disable autosuspend in Genesys Logic hubs to allow USB devices on the @@ -17,10 +17,10 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 47a1c8bddf86..588f3ded89cd 100644 +index 1460857026e0..956ccc7bb8b7 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5804,7 +5804,7 @@ static const struct usb_device_id hub_id_table[] = { +@@ -5809,7 +5809,7 @@ static const struct usb_device_id hub_id_table[] = { | USB_DEVICE_ID_MATCH_INT_CLASS, .idVendor = USB_VENDOR_GENESYS_LOGIC, .bInterfaceClass = USB_CLASS_HUB, diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0012-FROMGIT-5.18-arm64-dts-meson-add-common-SM1-ac2xx-dt.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0012-FROMGIT-5.18-arm64-dts-meson-add-common-SM1-ac2xx-dt.patch deleted file mode 100644 index 2e7210b106..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0012-FROMGIT-5.18-arm64-dts-meson-add-common-SM1-ac2xx-dt.patch +++ /dev/null @@ -1,325 +0,0 @@ -From 748860f58f3af7517e69b3e65de8739a47273980 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 24 Jun 2020 12:41:46 +0000 -Subject: [PATCH 12/90] FROMGIT(5.18): arm64: dts: meson: add common SM1 ac2xx - dtsi - -Add a common dtsi for Android STB devices based on the Amlogic S905X3 -(AC213/AC214) and S905D3 (AC201/AC202) reference designs. The dtsi is -loosely based on the existing SEI610 device-tree. - -Signed-off-by: Christian Hewitt ---- - .../boot/dts/amlogic/meson-sm1-ac2xx.dtsi | 300 ++++++++++++++++++ - 1 file changed, 300 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.dtsi - -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.dtsi -new file mode 100644 -index 000000000000..46a34731f7e2 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.dtsi -@@ -0,0 +1,300 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre SAS. All rights reserved. -+ * Copyright (c) 2020 Christian Hewitt -+ * -+ * AC200/AC202 = S905D3 -+ * AC213/AC214 = S905X3 -+ * -+ */ -+ -+#include "meson-sm1.dtsi" -+#include -+#include -+#include -+ -+/ { -+ aliases { -+ serial0 = &uart_AO; -+ ethernet0 = ðmac; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ emmc_pwrseq: emmc-pwrseq { -+ compatible = "mmc-pwrseq-emmc"; -+ reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; -+ }; -+ -+ cvbs-connector { -+ compatible = "composite-video-connector"; -+ -+ port { -+ cvbs_connector_in: endpoint { -+ remote-endpoint = <&cvbs_vdac_out>; -+ }; -+ }; -+ }; -+ -+ hdmi-connector { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_connector_in: endpoint { -+ remote-endpoint = <&hdmi_tx_tmds_out>; -+ }; -+ }; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x40000000>; -+ }; -+ -+ ao_5v: regulator-ao_5v { -+ compatible = "regulator-fixed"; -+ regulator-name = "AO_5V"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ vin-supply = <&dc_in>; -+ regulator-always-on; -+ }; -+ -+ dc_in: regulator-dc_in { -+ compatible = "regulator-fixed"; -+ regulator-name = "DC_IN"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ }; -+ -+ emmc_1v8: regulator-emmc_1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "EMMC_1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vddao_3v3>; -+ regulator-always-on; -+ }; -+ -+ vddao_3v3: regulator-vddao_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDAO_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ vin-supply = <&dc_in>; -+ regulator-always-on; -+ }; -+ -+ vddcpu: regulator-vddcpu { -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU"; -+ regulator-min-microvolt = <690000>; -+ regulator-max-microvolt = <1050000>; -+ -+ vin-supply = <&dc_in>; -+ -+ pwms = <&pwm_AO_cd 1 1500 0>; -+ pwm-dutycycle-range = <100 0>; -+ -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vddio_ao1v8: regulator-vddio_ao1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDIO_AO1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vddao_3v3>; -+ regulator-always-on; -+ }; -+ -+ sdio_pwrseq: sdio-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; -+ clocks = <&wifi32k>; -+ clock-names = "ext_clock"; -+ }; -+ -+ wifi32k: wifi32k { -+ compatible = "pwm-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <32768>; -+ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ -+ }; -+}; -+ -+&cec_AO { -+ pinctrl-0 = <&cec_ao_a_h_pins>; -+ pinctrl-names = "default"; -+ status = "disabled"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cecb_AO { -+ pinctrl-0 = <&cec_ao_b_h_pins>; -+ pinctrl-names = "default"; -+ status = "okay"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cpu0 { -+ cpu-supply = <&vddcpu>; -+ operating-points-v2 = <&cpu_opp_table>; -+ clocks = <&clkc CLKID_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu1 { -+ cpu-supply = <&vddcpu>; -+ operating-points-v2 = <&cpu_opp_table>; -+ clocks = <&clkc CLKID_CPU1_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu2 { -+ cpu-supply = <&vddcpu>; -+ operating-points-v2 = <&cpu_opp_table>; -+ clocks = <&clkc CLKID_CPU2_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu3 { -+ cpu-supply = <&vddcpu>; -+ operating-points-v2 = <&cpu_opp_table>; -+ clocks = <&clkc CLKID_CPU3_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cvbs_vdac_port { -+ cvbs_vdac_out: endpoint { -+ remote-endpoint = <&cvbs_connector_in>; -+ }; -+}; -+ -+&hdmi_tx { -+ status = "okay"; -+ pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&hdmi_tx_tmds_port { -+ hdmi_tx_tmds_out: endpoint { -+ remote-endpoint = <&hdmi_connector_in>; -+ }; -+}; -+ -+&ir { -+ status = "okay"; -+ pinctrl-0 = <&remote_input_ao_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&pwm_AO_ab { -+ status = "okay"; -+ pinctrl-0 = <&pwm_ao_a_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin0"; -+}; -+ -+&pwm_AO_cd { -+ pinctrl-0 = <&pwm_ao_d_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin1"; -+ status = "okay"; -+}; -+ -+&pwm_ef { -+ status = "okay"; -+ pinctrl-0 = <&pwm_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin0"; -+}; -+ -+&saradc { -+ status = "okay"; -+ vref-supply = <&vddio_ao1v8>; -+}; -+ -+/* SDIO */ -+&sd_emmc_a { -+ status = "okay"; -+ pinctrl-0 = <&sdio_pins>; -+ pinctrl-1 = <&sdio_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; -+ sd-uhs-sdr104; -+ max-frequency = <200000000>; -+ -+ non-removable; -+ disable-wp; -+ -+ /* WiFi firmware requires power to be kept while in suspend */ -+ keep-power-in-suspend; -+ -+ mmc-pwrseq = <&sdio_pwrseq>; -+ -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddio_ao1v8>; -+}; -+ -+/* SD Card */ -+&sd_emmc_b { -+ status = "okay"; -+ pinctrl-0 = <&sdcard_c_pins>; -+ pinctrl-1 = <&sdcard_clk_gate_c_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; -+ /* CRC errors are observed at 50MHz */ -+ max-frequency = <35000000>; -+ disable-wp; -+ -+ cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddao_3v3>; -+}; -+ -+/* eMMC */ -+&sd_emmc_c { -+ status = "okay"; -+ pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; -+ pinctrl-1 = <&emmc_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <8>; -+ cap-mmc-highspeed; -+ mmc-ddr-1_8v; -+ mmc-hs200-1_8v; -+ max-frequency = <200000000>; -+ non-removable; -+ disable-wp; -+ -+ mmc-pwrseq = <&emmc_pwrseq>; -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&emmc_1v8>; -+}; -+ -+&uart_AO { -+ status = "okay"; -+ pinctrl-0 = <&uart_ao_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&usb { -+ status = "okay"; -+ dr_mode = "otg"; -+}; --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0011-HACK-of-partial-revert-of-fdt.c-changes.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0012-HACK-of-partial-revert-of-fdt.c-changes.patch similarity index 90% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0011-HACK-of-partial-revert-of-fdt.c-changes.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0012-HACK-of-partial-revert-of-fdt.c-changes.patch index 3ef53dd241..b88a2e6a9b 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0011-HACK-of-partial-revert-of-fdt.c-changes.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0012-HACK-of-partial-revert-of-fdt.c-changes.patch @@ -1,7 +1,7 @@ -From 4d11a956070513a173dd9fd0d6e981918a6331e4 Mon Sep 17 00:00:00 2001 +From 3842af175acb0e29ac5b46fb40a840195ffd351f Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 15 Sep 2021 05:00:45 +0000 -Subject: [PATCH 11/90] HACK: of: partial revert of fdt.c changes +Subject: [PATCH 12/75] HACK: of: partial revert of fdt.c changes This resolves reports similar to the below which are present in dmesg since Linux 5.10; which are also causing crashes in some distros: diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0013-FROMGIT-5.18-dt-bindings-arm-amlogic-add-X96-AIR-bin.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0013-FROMGIT-5.18-dt-bindings-arm-amlogic-add-X96-AIR-bin.patch deleted file mode 100644 index a12020da84..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0013-FROMGIT-5.18-dt-bindings-arm-amlogic-add-X96-AIR-bin.patch +++ /dev/null @@ -1,32 +0,0 @@ -From eafd64ed443d74fad6823c553cf0624b84b8231b Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Mon, 18 May 2020 23:23:40 +0000 -Subject: [PATCH 13/90] FROMGIT(5.18): dt-bindings: arm: amlogic: add X96-AIR - bindings - -Add board bindings for the Amediatech X96-AIR STB which ships with -model variants distiguished by Ethernet configuration: models using -an external Gigabit PHY have a -gbit suffix, while models using an -internal 10/100 PHY have no suffix. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 36081734f720..089d08219cc8 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -170,6 +170,8 @@ properties: - - description: Boards with the Amlogic Meson SM1 S905X3/D3/Y3 SoC - items: - - enum: -+ - amediatech,x96-air -+ - amediatech,x96-air-gbit - - bananapi,bpi-m5 - - hardkernel,odroid-c4 - - hardkernel,odroid-hc4 --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0013-FROMGIT-5.19-arm64-dts-meson-align-SPI-NOR-node-name.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0013-FROMGIT-5.19-arm64-dts-meson-align-SPI-NOR-node-name.patch new file mode 100644 index 0000000000..3c7e4ca3a1 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0013-FROMGIT-5.19-arm64-dts-meson-align-SPI-NOR-node-name.patch @@ -0,0 +1,102 @@ +From 6338625edf652cb8d1848b1d20786cf431d9b5ee Mon Sep 17 00:00:00 2001 +From: Krzysztof Kozlowski +Date: Thu, 7 Apr 2022 16:21:59 +0200 +Subject: [PATCH 13/75] FROMGIT(5.19): arm64: dts: meson: align SPI NOR node + name with dtschema + +The node names should be generic and SPI NOR dtschema expects "flash". + +Signed-off-by: Krzysztof Kozlowski +Reviewed-by: Neil Armstrong +Signed-off-by: Neil Armstrong +Link: https://lore.kernel.org/r/20220407142159.293836-2-krzysztof.kozlowski@linaro.org +--- + arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc-v2.dts | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 2 +- + arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi | 2 +- + arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts | 2 +- + 6 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi +index 2d7032f41e4b..bcdf55f48a83 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi +@@ -416,7 +416,7 @@ + pinctrl-names = "default"; + status = "okay"; + +- gd25lq128: spi-flash@0 { ++ gd25lq128: flash@0 { + compatible = "jedec,spi-nor"; + #address-cells = <1>; + #size-cells = <1>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts +index 2d769203f671..213a0705ebdc 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts +@@ -298,7 +298,7 @@ + pinctrl-0 = <&nor_pins>; + pinctrl-names = "default"; + +- w25q32: spi-flash@0 { ++ w25q32: flash@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc-v2.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc-v2.dts +index 93d8f8aff70d..874f91c348ec 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc-v2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc-v2.dts +@@ -284,7 +284,7 @@ + pinctrl-0 = <&nor_pins>; + pinctrl-names = "default"; + +- nor_4u1: spi-flash@0 { ++ nor_4u1: flash@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +index 9c26d7489d2a..6d396c1be3d6 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +@@ -376,7 +376,7 @@ + pinctrl-0 = <&nor_pins>; + pinctrl-names = "default"; + +- w25q32: spi-flash@0 { ++ w25q32: flash@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "winbond,w25q16", "jedec,spi-nor"; +diff --git a/arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi b/arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi +index 3cf4ecb6d52e..c9705941e4ab 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi +@@ -458,7 +458,7 @@ + pinctrl-0 = <&nor_pins>; + pinctrl-names = "default"; + +- w25q128: spi-flash@0 { ++ w25q128: flash@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "winbond,w25q128fw", "jedec,spi-nor"; +diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts +index f3f953225bf5..e3486f60645a 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts +@@ -121,7 +121,7 @@ + pinctrl-0 = <&nor_pins>; + pinctrl-names = "default"; + +- spi-flash@0 { ++ flash@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-5.18-arm64-dts-meson-add-initial-device-tree.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-5.18-arm64-dts-meson-add-initial-device-tree.patch deleted file mode 100644 index e2599649f2..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-5.18-arm64-dts-meson-add-initial-device-tree.patch +++ /dev/null @@ -1,313 +0,0 @@ -From 3882e6ac1e446f11e4e9dcd1705e2d12cd716228 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 24 Jun 2020 15:04:10 +0000 -Subject: [PATCH 14/90] FROMGIT(5.18): arm64: dts: meson: add initial - device-trees for X96-AIR -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The Amediatek X96-AIR is based on Amlogic S905X3 reference board -designs and ships in multiple configurations: - -– 4GB DDR3 + 64GB eMMC + WiFi a/b/g/n/ac + BT + Gb Ethernet -– 4GB DDR3 + 32GB eMMC + WiFi a/b/g/n/ac + BT + Gb Ethernet -– 4GB DDR3 + 32GB eMMC + WiFi b/g/n (no BT) + 10/100 Ethernet -– 2GB DDR3 + 16GB eMMC + WiFi b/g/n (no BT) + 10/100 Ethernet -... -- HDMI 2.1 video -- S/PDIF optical output -- AV output -- 2x USB 2.0 inc. OTG port -- 1x USB 3.0 port -- IR receiver -- 1x micro SD card slot (internal) -- 1x Reset/Update button (in AV jack) -- 7-segment VFD - -The device-tree with -gbit suffix supports models with Gigabit -Ethernet, and the device-tree with no suffix supports models -with 10/100 Ethernet. - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 2 + - .../dts/amlogic/meson-sm1-x96-air-gbit.dts | 133 ++++++++++++++++++ - .../boot/dts/amlogic/meson-sm1-x96-air.dts | 112 +++++++++++++++ - 3 files changed, 247 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts - create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-x96-air.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 19d4d75305af..411f0ff1c14f 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -56,6 +56,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-sm1-khadas-vim3l.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-c4.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-hc4.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-sei610.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-sm1-x96-air.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-sm1-x96-air-gbit.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad401.dtb - - subdir-y += overlays -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts -new file mode 100644 -index 000000000000..7e1a74046ba5 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts -@@ -0,0 +1,133 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre SAS. All rights reserved. -+ * Copyright (c) 2020 Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-sm1-ac2xx.dtsi" -+#include -+ -+/ { -+ compatible = "amediatech,x96-air-gbit", "amlogic,sm1"; -+ model = "Shenzhen Amediatech Technology Co., Ltd X96 Air"; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "X96-AIR"; -+ audio-aux-devs = <&tdmout_b>; -+ audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", -+ "TDMOUT_B IN 1", "FRDDR_B OUT 1", -+ "TDMOUT_B IN 2", "FRDDR_C OUT 1", -+ "TDM_B Playback", "TDMOUT_B OUT"; -+ -+ assigned-clocks = <&clkc CLKID_MPLL2>, -+ <&clkc CLKID_MPLL0>, -+ <&clkc CLKID_MPLL1>; -+ assigned-clock-parents = <0>, <0>, <0>; -+ assigned-clock-rates = <294912000>, -+ <270950400>, -+ <393216000>; -+ status = "okay"; -+ -+ dai-link-0 { -+ sound-dai = <&frddr_a>; -+ }; -+ -+ dai-link-1 { -+ sound-dai = <&frddr_b>; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&frddr_c>; -+ }; -+ -+ /* 8ch hdmi interface */ -+ dai-link-3 { -+ sound-dai = <&tdmif_b>; -+ dai-format = "i2s"; -+ dai-tdm-slot-tx-mask-0 = <1 1>; -+ dai-tdm-slot-tx-mask-1 = <1 1>; -+ dai-tdm-slot-tx-mask-2 = <1 1>; -+ dai-tdm-slot-tx-mask-3 = <1 1>; -+ mclk-fs = <256>; -+ -+ codec { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-4 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+}; -+ -+&arb { -+ status = "okay"; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+ðmac { -+ status = "okay"; -+ -+ pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; -+ pinctrl-names = "default"; -+ phy-mode = "rgmii-txid"; -+ phy-handle = <&external_phy>; -+ -+ rx-internal-delay-ps = <800>; -+}; -+ -+&ext_mdio { -+ external_phy: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x001cc916) */ -+ reg = <0>; -+ max-speed = <1000>; -+ -+ reset-assert-us = <10000>; -+ reset-deassert-us = <80000>; -+ reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; -+ -+ interrupt-parent = <&gpio_intc>; -+ /* MAC_INTR on GPIOZ_14 */ -+ interrupts = <26 IRQ_TYPE_LEVEL_LOW>; -+ }; -+}; -+ -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-x96max"; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air.dts -new file mode 100644 -index 000000000000..cd93d798f2a3 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air.dts -@@ -0,0 +1,112 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre SAS. All rights reserved. -+ * Copyright (c) 2020 Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-sm1-ac2xx.dtsi" -+#include -+ -+/ { -+ compatible = "amediatech,x96-air", "amlogic,sm1"; -+ model = "Shenzhen Amediatech Technology Co., Ltd X96 Air"; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "X96-AIR"; -+ audio-aux-devs = <&tdmout_b>; -+ audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", -+ "TDMOUT_B IN 1", "FRDDR_B OUT 1", -+ "TDMOUT_B IN 2", "FRDDR_C OUT 1", -+ "TDM_B Playback", "TDMOUT_B OUT"; -+ -+ assigned-clocks = <&clkc CLKID_MPLL2>, -+ <&clkc CLKID_MPLL0>, -+ <&clkc CLKID_MPLL1>; -+ assigned-clock-parents = <0>, <0>, <0>; -+ assigned-clock-rates = <294912000>, -+ <270950400>, -+ <393216000>; -+ status = "okay"; -+ -+ dai-link-0 { -+ sound-dai = <&frddr_a>; -+ }; -+ -+ dai-link-1 { -+ sound-dai = <&frddr_b>; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&frddr_c>; -+ }; -+ -+ /* 8ch hdmi interface */ -+ dai-link-3 { -+ sound-dai = <&tdmif_b>; -+ dai-format = "i2s"; -+ dai-tdm-slot-tx-mask-0 = <1 1>; -+ dai-tdm-slot-tx-mask-1 = <1 1>; -+ dai-tdm-slot-tx-mask-2 = <1 1>; -+ dai-tdm-slot-tx-mask-3 = <1 1>; -+ mclk-fs = <256>; -+ -+ codec { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-4 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+}; -+ -+&arb { -+ status = "okay"; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+ðmac { -+ status = "okay"; -+ phy-handle = <&internal_ephy>; -+ phy-mode = "rmii"; -+}; -+ -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+&ir { -+ linux,rc-map-name = "rc-beelink-gs1"; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-5.19-arm64-dts-meson-alpa-sort-the-board-Mak.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-5.19-arm64-dts-meson-alpa-sort-the-board-Mak.patch new file mode 100644 index 0000000000..6b1cc42c1e --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0014-FROMGIT-5.19-arm64-dts-meson-alpa-sort-the-board-Mak.patch @@ -0,0 +1,104 @@ +From 6886bca9bf15bef2cbd76a7e89561cad57e66078 Mon Sep 17 00:00:00 2001 +From: Christian Hewitt +Date: Sat, 9 Apr 2022 06:37:28 +0000 +Subject: [PATCH 14/75] FROMGIT(5.19): arm64: dts: meson: alpa-sort the board + Makefile + +Let's alpha-sort the board Makefile to keep things organised. + +Signed-off-by: Christian Hewitt +--- + arch/arm64/boot/dts/amlogic/Makefile | 37 ++++++++++++++-------------- + 1 file changed, 18 insertions(+), 19 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile +index 34990beb4e5a..3e3c48f53b02 100644 +--- a/arch/arm64/boot/dts/amlogic/Makefile ++++ b/arch/arm64/boot/dts/amlogic/Makefile +@@ -1,17 +1,18 @@ + # SPDX-License-Identifier: GPL-2.0 +-dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad401.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12a-radxa-zero.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-khadas-vim3.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gsking-x.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-khadas-vim3.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb +@@ -19,29 +20,29 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-p200.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-p201.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-vega-s95-pro.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-vega-s95-meta.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-vega-s95-pro.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-vega-s95-telos.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-wetek-hub.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-wetek-play2.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-libretech-ac.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-hwacom-amazetv.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-khadas-vim.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-p241.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-libretech-pc.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-mecool-kii-pro.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-phicomm-n1.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-sml5442tw.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-vero4k-plus.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-p241.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-jethome-jethub-j80.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-libretech-pc.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-jethome-jethub-j80.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-hwacom-amazetv.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-khadas-vim.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxm-mecool-kiii-pro.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxm-minix-neo-u9h.dtb +@@ -52,17 +53,15 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-rbox-pro.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-libretech-pc.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxm-vega-s96.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxm-wetek-core2.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-sm1-a95xf3-air.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-s4-s805x2-aq222.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-sm1-a95xf3-air-gbit.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-sm1-a95xf3-air.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-sm1-bananapi-m5.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-sm1-h96-max.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-sm1-khadas-vim3l.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-c4.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-hc4.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-sm1-sei610.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-sm1-x96-air.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-sm1-x96-air-gbit.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad401.dtb +-dtb-$(CONFIG_ARCH_MESON) += meson-s4-s805x2-aq222.dtb + + subdir-y += overlays +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0015-FROMGIT-5.18-dt-bindings-vendor-prefixes-add-cyx-pre.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0015-FROMGIT-5.18-dt-bindings-vendor-prefixes-add-cyx-pre.patch deleted file mode 100644 index 29bf92c015..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0015-FROMGIT-5.18-dt-bindings-vendor-prefixes-add-cyx-pre.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 774b970241ee9eadc76cb74ea595f2f4af518d20 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 30 Nov 2021 05:00:45 +0000 -Subject: [PATCH 15/90] FROMGIT(5.18): dt-bindings: vendor-prefixes: add cyx - prefix - -Shenzhen CYX Industrial Co., Ltd are a manufacturer of Android -Set-Top Box devices. - -Signed-off-by: Christian Hewitt -Acked-by: Rob Herring ---- - Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index 294093d45a23..7504538a7716 100644 ---- a/Documentation/devicetree/bindings/vendor-prefixes.yaml -+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml -@@ -283,6 +283,8 @@ patternProperties: - description: CUI Devices - "^cypress,.*": - description: Cypress Semiconductor Corporation -+ "^cyx,.*": -+ description: Shenzhen CYX Industrial Co., Ltd - "^cznic,.*": - description: CZ.NIC, z.s.p.o. - "^dallas,.*": --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0027-FROMLIST-v1-ASoC-meson-aiu-Fix-HDMI-codec-control-se.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0015-FROMLIST-v1-ASoC-meson-aiu-Fix-HDMI-codec-control-se.patch similarity index 97% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0027-FROMLIST-v1-ASoC-meson-aiu-Fix-HDMI-codec-control-se.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0015-FROMLIST-v1-ASoC-meson-aiu-Fix-HDMI-codec-control-se.patch index 9c834fd0bc..2093964bfc 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0027-FROMLIST-v1-ASoC-meson-aiu-Fix-HDMI-codec-control-se.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0015-FROMLIST-v1-ASoC-meson-aiu-Fix-HDMI-codec-control-se.patch @@ -1,7 +1,7 @@ -From 712edc341073c350a11658186609eafd292dbe8a Mon Sep 17 00:00:00 2001 +From 0baf8ff0258bd1be54f4a96d9079a726426c7cae Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Sun, 3 Oct 2021 05:35:48 +0000 -Subject: [PATCH 27/90] FROMLIST(v1): ASoC: meson: aiu: Fix HDMI codec control +Subject: [PATCH 15/75] FROMLIST(v1): ASoC: meson: aiu: Fix HDMI codec control selection The HDMI controllers on Amlogic Meson SoCs which use the AIU @@ -60,7 +60,7 @@ Signed-off-by: Martin Blumenstingl 2 files changed, 80 insertions(+), 34 deletions(-) diff --git a/sound/soc/meson/aiu-codec-ctrl.c b/sound/soc/meson/aiu-codec-ctrl.c -index c3ea733fce91..2b8575491aeb 100644 +index 286ac4983d40..616cc7ca7775 100644 --- a/sound/soc/meson/aiu-codec-ctrl.c +++ b/sound/soc/meson/aiu-codec-ctrl.c @@ -12,14 +12,60 @@ @@ -188,7 +188,7 @@ index c3ea733fce91..2b8575491aeb 100644 snd_soc_dapm_mux_update_power(dapm, kcontrol, mux, e, NULL); - return 0; + return 1; } -static SOC_ENUM_SINGLE_DECL(aiu_hdmi_ctrl_mux_enum, AIU_HDMI_CLK_DATA_CTRL, diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0016-FROMGIT-5.18-dt-bindings-arm-amlogic-add-A95XF3-AIR-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0016-FROMGIT-5.18-dt-bindings-arm-amlogic-add-A95XF3-AIR-.patch deleted file mode 100644 index 371b80bb73..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0016-FROMGIT-5.18-dt-bindings-arm-amlogic-add-A95XF3-AIR-.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 954f940c73ec2027bacf090b3db04191727465d3 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Mon, 29 Jun 2020 15:54:45 +0000 -Subject: [PATCH 16/90] FROMGIT(5.18): dt-bindings: arm: amlogic: add - A95XF3-AIR bindings - -Add board bindings for the CYX A95XF3-AIR set-top box which ships -with model variants distiguished by Ethernet configuration: models -using external Gigabit PHY have a -gbit suffix, while models using -an internal 10/100 PHY have no suffix. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 089d08219cc8..a1a1b3036da6 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -173,6 +173,8 @@ properties: - - amediatech,x96-air - - amediatech,x96-air-gbit - - bananapi,bpi-m5 -+ - cyx,a95xf3-air -+ - cyx,a95xf3-air-gbit - - hardkernel,odroid-c4 - - hardkernel,odroid-hc4 - - khadas,vim3l --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0028-FROMLIST-v1-arm64-dts-meson-make-dts-use-gpio-fan-ma.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0016-FROMLIST-v1-arm64-dts-meson-make-dts-use-gpio-fan-ma.patch similarity index 85% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0028-FROMLIST-v1-arm64-dts-meson-make-dts-use-gpio-fan-ma.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0016-FROMLIST-v1-arm64-dts-meson-make-dts-use-gpio-fan-ma.patch index 400620d9f7..acedff27e1 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0028-FROMLIST-v1-arm64-dts-meson-make-dts-use-gpio-fan-ma.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0016-FROMLIST-v1-arm64-dts-meson-make-dts-use-gpio-fan-ma.patch @@ -1,7 +1,7 @@ -From 4f925789d0713c48deb5067187c7e5acba397054 Mon Sep 17 00:00:00 2001 +From 8ea89cfcd3fd90e4414e9eb994b677ba78cc7444 Mon Sep 17 00:00:00 2001 From: David Heidelberg Date: Sat, 27 Nov 2021 07:23:35 +0000 -Subject: [PATCH 28/90] FROMLIST(v1): arm64: dts: meson: make dts use gpio-fan +Subject: [PATCH 16/75] FROMLIST(v1): arm64: dts: meson: make dts use gpio-fan matrix instead of array No functional changes. @@ -15,7 +15,7 @@ Signed-off-by: David Heidelberg 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts -index 9c26d7489d2a..c5e3b5587135 100644 +index 6d396c1be3d6..9b0c7e9d0620 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts @@ -54,10 +54,11 @@ diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0017-FROMGIT-5.18-arm64-dts-meson-add-initial-device-tree.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0017-FROMGIT-5.18-arm64-dts-meson-add-initial-device-tree.patch deleted file mode 100644 index f0b73d70a6..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0017-FROMGIT-5.18-arm64-dts-meson-add-initial-device-tree.patch +++ /dev/null @@ -1,305 +0,0 @@ -From 166e07854d6e7685110aa231a49e95a407f980ec Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 3 Jun 2020 18:03:22 +0000 -Subject: [PATCH 17/90] FROMGIT(5.18): arm64: dts: meson: add initial - device-trees for A95XF3-AIR -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The CYX A95XF3-AIR is based on Amlogic S905X3 reference board -designs and ships in multiple configurations: - -– 4GB DDR3 + 64GB eMMC + WiFi a/b/g/n/ac + BT + Gb Ethernet -– 4GB DDR3 + 32GB eMMC + WiFi a/b/g/n/ac + BT + Gb Ethernet -– 2GB DDR3 + 16GB eMMC + WiFi b/g/n (no BT) + 10/100 Ethernet -... -- HDMI 2.1 video -- S/PDIF optical output -- AV output -- 1x USB 2.0 OTG port -- 1x USB 3.0 port -- IR receiver -- 1x micro SD card slot (internal) -- 1x Reset/Update button (in AV jack) -- 7-segment VFD -- Multicolour case LED 'arc' - -The device-tree with -gbit suffix supports models with Gigabit -Ethernet, and the device-tree with no suffix supports models -with 10/100 Ethernet. - -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 2 + - .../dts/amlogic/meson-sm1-a95xf3-air-gbit.dts | 129 ++++++++++++++++++ - .../boot/dts/amlogic/meson-sm1-a95xf3-air.dts | 108 +++++++++++++++ - 3 files changed, 239 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-gbit.dts - create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 411f0ff1c14f..dfbdeeba4e53 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -51,6 +51,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-rbox-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-libretech-pc.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-vega-s96.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxm-wetek-core2.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-sm1-a95xf3-air.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-sm1-a95xf3-air-gbit.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-bananapi-m5.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-khadas-vim3l.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-c4.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-gbit.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-gbit.dts -new file mode 100644 -index 000000000000..d1debccdc1c2 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-gbit.dts -@@ -0,0 +1,129 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre SAS. All rights reserved. -+ * Copyright (c) 2020 Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-sm1-ac2xx.dtsi" -+#include -+ -+/ { -+ compatible = "cyx,a95xf3-air-gbit", "amlogic,sm1"; -+ model = "Shenzhen CYX Industrial Co., Ltd A95XF3-AIR"; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "A95XF3-AIR"; -+ audio-aux-devs = <&tdmout_b>; -+ audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", -+ "TDMOUT_B IN 1", "FRDDR_B OUT 1", -+ "TDMOUT_B IN 2", "FRDDR_C OUT 1", -+ "TDM_B Playback", "TDMOUT_B OUT"; -+ -+ assigned-clocks = <&clkc CLKID_MPLL2>, -+ <&clkc CLKID_MPLL0>, -+ <&clkc CLKID_MPLL1>; -+ assigned-clock-parents = <0>, <0>, <0>; -+ assigned-clock-rates = <294912000>, -+ <270950400>, -+ <393216000>; -+ status = "okay"; -+ -+ dai-link-0 { -+ sound-dai = <&frddr_a>; -+ }; -+ -+ dai-link-1 { -+ sound-dai = <&frddr_b>; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&frddr_c>; -+ }; -+ -+ /* 8ch hdmi interface */ -+ dai-link-3 { -+ sound-dai = <&tdmif_b>; -+ dai-format = "i2s"; -+ dai-tdm-slot-tx-mask-0 = <1 1>; -+ dai-tdm-slot-tx-mask-1 = <1 1>; -+ dai-tdm-slot-tx-mask-2 = <1 1>; -+ dai-tdm-slot-tx-mask-3 = <1 1>; -+ mclk-fs = <256>; -+ -+ codec { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-4 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+}; -+ -+&arb { -+ status = "okay"; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+ðmac { -+ status = "okay"; -+ -+ pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; -+ pinctrl-names = "default"; -+ phy-mode = "rgmii-txid"; -+ phy-handle = <&external_phy>; -+ -+ rx-internal-delay-ps = <800>; -+}; -+ -+&ext_mdio { -+ external_phy: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x001cc916) */ -+ reg = <0>; -+ max-speed = <1000>; -+ -+ reset-assert-us = <10000>; -+ reset-deassert-us = <80000>; -+ reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; -+ -+ interrupt-parent = <&gpio_intc>; -+ /* MAC_INTR on GPIOZ_14 */ -+ interrupts = <26 IRQ_TYPE_LEVEL_LOW>; -+ }; -+}; -+ -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air.dts -new file mode 100644 -index 000000000000..c94f2870b78b ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air.dts -@@ -0,0 +1,108 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre SAS. All rights reserved. -+ * Copyright (c) 2020 Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-sm1-ac2xx.dtsi" -+#include -+ -+/ { -+ compatible = "cyx,a95xf3-air", "amlogic,sm1"; -+ model = "Shenzhen CYX Industrial Co., Ltd A95XF3-AIR"; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "A95XF3-AIR"; -+ audio-aux-devs = <&tdmout_b>; -+ audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", -+ "TDMOUT_B IN 1", "FRDDR_B OUT 1", -+ "TDMOUT_B IN 2", "FRDDR_C OUT 1", -+ "TDM_B Playback", "TDMOUT_B OUT"; -+ -+ assigned-clocks = <&clkc CLKID_MPLL2>, -+ <&clkc CLKID_MPLL0>, -+ <&clkc CLKID_MPLL1>; -+ assigned-clock-parents = <0>, <0>, <0>; -+ assigned-clock-rates = <294912000>, -+ <270950400>, -+ <393216000>; -+ status = "okay"; -+ -+ dai-link-0 { -+ sound-dai = <&frddr_a>; -+ }; -+ -+ dai-link-1 { -+ sound-dai = <&frddr_b>; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&frddr_c>; -+ }; -+ -+ /* 8ch hdmi interface */ -+ dai-link-3 { -+ sound-dai = <&tdmif_b>; -+ dai-format = "i2s"; -+ dai-tdm-slot-tx-mask-0 = <1 1>; -+ dai-tdm-slot-tx-mask-1 = <1 1>; -+ dai-tdm-slot-tx-mask-2 = <1 1>; -+ dai-tdm-slot-tx-mask-3 = <1 1>; -+ mclk-fs = <256>; -+ -+ codec { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-4 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+}; -+ -+&arb { -+ status = "okay"; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+ðmac { -+ status = "okay"; -+ phy-handle = <&internal_ephy>; -+ phy-mode = "rmii"; -+}; -+ -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0038-FROMLIST-v1-mmc-meson-gx-fix-deferred-probing.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0017-FROMLIST-v1-mmc-meson-gx-fix-deferred-probing.patch similarity index 89% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0038-FROMLIST-v1-mmc-meson-gx-fix-deferred-probing.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0017-FROMLIST-v1-mmc-meson-gx-fix-deferred-probing.patch index f59a82691a..a8a9ac6531 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0038-FROMLIST-v1-mmc-meson-gx-fix-deferred-probing.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0017-FROMLIST-v1-mmc-meson-gx-fix-deferred-probing.patch @@ -1,7 +1,7 @@ -From b83c8168c58ccb96f92a4b6ecf1b8b7483fcced3 Mon Sep 17 00:00:00 2001 +From da1c65a3a53a7dae2e8770b93bbd09252ffda24f Mon Sep 17 00:00:00 2001 From: Sergey Shtylyov Date: Fri, 24 Dec 2021 06:09:57 +0000 -Subject: [PATCH 38/90] FROMLIST(v1): mmc: meson-gx: fix deferred probing +Subject: [PATCH 17/75] FROMLIST(v1): mmc: meson-gx: fix deferred probing The driver overrides the error codes and IRQ0 returned by platform_get_irq() to -EINVAL, so if it returns -EPROBE_DEFER, the driver will fail the probe diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0018-FROMGIT-5.18-dt-bindings-vendor-prefixes-add-haochua.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0018-FROMGIT-5.18-dt-bindings-vendor-prefixes-add-haochua.patch deleted file mode 100644 index a6f3837fd4..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0018-FROMGIT-5.18-dt-bindings-vendor-prefixes-add-haochua.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 59dbf5c8de6ada1dc326777c26fd70a3060f3eda Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 12 Jan 2021 17:24:07 +0000 -Subject: [PATCH 18/90] FROMGIT(5.18): dt-bindings: vendor-prefixes: add - haochuangyi prefix - -Shenzhen Haochuangyi Technology Co.,Ltd are a manufacturer of Android -Set-Top Box devices. - -Signed-off-by: Christian Hewitt -Acked-by: Rob Herring ---- - Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index 7504538a7716..0d8da47cda1a 100644 ---- a/Documentation/devicetree/bindings/vendor-prefixes.yaml -+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml -@@ -491,6 +491,8 @@ patternProperties: - deprecated: true - "^hannstar,.*": - description: HannStar Display Corporation -+ "^haochuangyi,.*": -+ description: Shenzhen Haochuangyi Technology Co.,Ltd - "^haoyu,.*": - description: Haoyu Microelectronic Co. Ltd. - "^hardkernel,.*": --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-FROMLIST-v3-Bluetooth-btrtl-Add-support-for-RTL8822C.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0018-FROMLIST-v3-Bluetooth-btrtl-Add-support-for-RTL8822C.patch similarity index 79% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-FROMLIST-v3-Bluetooth-btrtl-Add-support-for-RTL8822C.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0018-FROMLIST-v3-Bluetooth-btrtl-Add-support-for-RTL8822C.patch index fbf83edb67..224f3bf980 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-FROMLIST-v3-Bluetooth-btrtl-Add-support-for-RTL8822C.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0018-FROMLIST-v3-Bluetooth-btrtl-Add-support-for-RTL8822C.patch @@ -1,7 +1,7 @@ -From 3484913b5b5322e81b543b53ee4f892941ae5137 Mon Sep 17 00:00:00 2001 +From 90845ef50a720ad15afbeb17446fe0e7d87e0304 Mon Sep 17 00:00:00 2001 From: Vyacheslav Bocharov Date: Sat, 15 Jan 2022 08:27:14 +0000 -Subject: [PATCH 39/90] FROMLIST(v3): Bluetooth: btrtl: Add support for +Subject: [PATCH 18/75] FROMLIST(v3): Bluetooth: btrtl: Add support for RTL8822C hci_ver 0x08 Add detection of RTL8822CS controller with hci_ver = 0x08 @@ -12,10 +12,10 @@ Signed-off-by: Vyacheslav Bocharov 1 file changed, 8 insertions(+) diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c -index c2bdd1e6060e..13e82783c2b9 100644 +index 481d488bca0f..310665033b07 100644 --- a/drivers/bluetooth/btrtl.c +++ b/drivers/bluetooth/btrtl.c -@@ -156,6 +156,14 @@ static const struct id_table ic_id_table[] = { +@@ -165,6 +165,14 @@ static const struct id_table ic_id_table[] = { .fw_name = "rtl_bt/rtl8822cs_fw.bin", .cfg_name = "rtl_bt/rtl8822cs_config" }, diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0019-FROMGIT-5.18-dt-bindings-arm-amlogic-add-H96-Max-bin.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0019-FROMGIT-5.18-dt-bindings-arm-amlogic-add-H96-Max-bin.patch deleted file mode 100644 index 813e1ce6e2..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0019-FROMGIT-5.18-dt-bindings-arm-amlogic-add-H96-Max-bin.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 7a79eaf84eff07d549699125745e77ded66a3f13 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 12 Jan 2021 17:25:33 +0000 -Subject: [PATCH 19/90] FROMGIT(5.18): dt-bindings: arm: amlogic: add H96-Max - bindings - -Add the board binding for the Haochuangyi H96-Max STB device. - -Signed-off-by: Christian Hewitt -Acked-by: Rob Herring ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index a1a1b3036da6..7c3627d9c773 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -177,6 +177,7 @@ properties: - - cyx,a95xf3-air-gbit - - hardkernel,odroid-c4 - - hardkernel,odroid-hc4 -+ - haochuangyi,h96-max - - khadas,vim3l - - seirobotics,sei610 - - const: amlogic,sm1 --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0045-FROMLIST-v2-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0019-FROMLIST-v5-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch similarity index 83% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0045-FROMLIST-v2-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0019-FROMLIST-v5-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch index 1769bf5199..244d309411 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0045-FROMLIST-v2-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0019-FROMLIST-v5-dt-bindings-vendor-prefixes-Add-Titan-Mi.patch @@ -1,7 +1,7 @@ -From 3082b84d01e67e9db1b2933d40657f68ce5ce220 Mon Sep 17 00:00:00 2001 +From 2a6199bf5c1b6f24232c04ce2b4e5bb8a0adbf9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Sun, 20 Feb 2022 08:23:12 +0000 -Subject: [PATCH 45/90] FROMLIST(v2): dt-bindings: vendor-prefixes: Add Titan +Subject: [PATCH 19/75] FROMLIST(v5): dt-bindings: vendor-prefixes: Add Titan Micro Electronics MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -17,10 +17,10 @@ Signed-off-by: Heiner Kallweit 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index c1fa95a505e9..c42803885092 100644 +index 01430973ecec..8bc4c0340f31 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml -@@ -1225,6 +1225,8 @@ patternProperties: +@@ -1254,6 +1254,8 @@ patternProperties: description: Texas Instruments "^tianma,.*": description: Tianma Micro-electronics Co., Ltd. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0020-FROMGIT-5.18-arm64-dts-meson-add-initial-device-tree.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0020-FROMGIT-5.18-arm64-dts-meson-add-initial-device-tree.patch deleted file mode 100644 index 882f349ed6..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0020-FROMGIT-5.18-arm64-dts-meson-add-initial-device-tree.patch +++ /dev/null @@ -1,197 +0,0 @@ -From bad362748bbc586a2315c96e1092e1913eca7e4c Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Tue, 12 Jan 2021 17:26:42 +0000 -Subject: [PATCH 20/90] FROMGIT(5.18): arm64: dts: meson: add initial - device-tree for H96-Max - -The Haochuangyi H96-Max is based on the Amlogic S905X3 reference -design with the following specs: - -- 4GB DDR4 RAM -- 32/64/128GB eMMC -- HDMI 2.1 video -- S/PDIF optical output -- AV output -- 10/100/1000 Base-T Ethernet -- AP6356S Wireless (802.11 a/b/g/n/ac, BT 4.1) -- 1x USB 2.0 OTG port -- 1x USB 3.0 port -- IR receiver -- 1x micro SD card slot (internal) -- 1x Reset/Update button (in AV jack) -- 7-segment VFD - -Tested-by: Benoit Masson -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../boot/dts/amlogic/meson-sm1-h96-max.dts | 145 ++++++++++++++++++ - 2 files changed, 146 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-h96-max.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index dfbdeeba4e53..f7aea90c7f2a 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-wetek-core2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-a95xf3-air.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-a95xf3-air-gbit.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-bananapi-m5.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-sm1-h96-max.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-khadas-vim3l.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-c4.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-sm1-odroid-hc4.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-h96-max.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-h96-max.dts -new file mode 100644 -index 000000000000..0f6660e68e72 ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-h96-max.dts -@@ -0,0 +1,145 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre SAS. All rights reserved. -+ * Copyright (c) 2020 Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-sm1-ac2xx.dtsi" -+#include -+ -+/ { -+ compatible = "haochuangyi,h96-max", "amlogic,sm1"; -+ model = "Shenzhen Haochuangyi Technology Co., Ltd H96 Max"; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "H96-MAX"; -+ audio-aux-devs = <&tdmout_b>; -+ audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", -+ "TDMOUT_B IN 1", "FRDDR_B OUT 1", -+ "TDMOUT_B IN 2", "FRDDR_C OUT 1", -+ "TDM_B Playback", "TDMOUT_B OUT"; -+ -+ assigned-clocks = <&clkc CLKID_MPLL2>, -+ <&clkc CLKID_MPLL0>, -+ <&clkc CLKID_MPLL1>; -+ assigned-clock-parents = <0>, <0>, <0>; -+ assigned-clock-rates = <294912000>, -+ <270950400>, -+ <393216000>; -+ status = "okay"; -+ -+ dai-link-0 { -+ sound-dai = <&frddr_a>; -+ }; -+ -+ dai-link-1 { -+ sound-dai = <&frddr_b>; -+ }; -+ -+ dai-link-2 { -+ sound-dai = <&frddr_c>; -+ }; -+ -+ /* 8ch hdmi interface */ -+ dai-link-3 { -+ sound-dai = <&tdmif_b>; -+ dai-format = "i2s"; -+ dai-tdm-slot-tx-mask-0 = <1 1>; -+ dai-tdm-slot-tx-mask-1 = <1 1>; -+ dai-tdm-slot-tx-mask-2 = <1 1>; -+ dai-tdm-slot-tx-mask-3 = <1 1>; -+ mclk-fs = <256>; -+ -+ codec { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-4 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+}; -+ -+&arb { -+ status = "okay"; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+ðmac { -+ status = "okay"; -+ -+ pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; -+ pinctrl-names = "default"; -+ phy-mode = "rgmii-txid"; -+ phy-handle = <&external_phy>; -+ -+ rx-internal-delay-ps = <800>; -+}; -+ -+&ext_mdio { -+ external_phy: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x001cc916) */ -+ reg = <0>; -+ max-speed = <1000>; -+ -+ reset-assert-us = <10000>; -+ reset-deassert-us = <80000>; -+ reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; -+ -+ interrupt-parent = <&gpio_intc>; -+ /* MAC_INTR on GPIOZ_14 */ -+ interrupts = <26 IRQ_TYPE_LEVEL_LOW>; -+ }; -+}; -+ -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; -+ -+&uart_A { -+ status = "okay"; -+ -+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ -+ bluetooth { -+ compatible = "brcm,bcm43438-bt"; -+ shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; -+ max-speed = <2000000>; -+ clocks = <&wifi32k>; -+ clock-names = "lpo"; -+ }; -+}; --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0046-FROMLIST-v2-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0020-FROMLIST-v5-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch similarity index 94% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0046-FROMLIST-v2-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0020-FROMLIST-v5-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch index 03d1a62ca9..3957a94e40 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0046-FROMLIST-v2-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0020-FROMLIST-v5-dt-bindings-auxdisplay-Add-Titan-Micro-E.patch @@ -1,7 +1,7 @@ -From 3a0ec72e1299b63d6a296bf659c4630ed5cdbe6e Mon Sep 17 00:00:00 2001 +From 7305b92ea08b5ce68931b2f7121766fab63bebb0 Mon Sep 17 00:00:00 2001 From: Heiner Kallweit Date: Sun, 20 Feb 2022 08:24:47 +0000 -Subject: [PATCH 46/90] FROMLIST(v2): dt-bindings: auxdisplay: Add Titan Micro +Subject: [PATCH 20/75] FROMLIST(v5): dt-bindings: auxdisplay: Add Titan Micro Electronics TM1628 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -13,6 +13,7 @@ Add a YAML schema binding for TM1628 auxdisplay This patch is partially based on previous RFC work from Andreas Färber . +Co-developed-by: Andreas Färber Signed-off-by: Andreas Färber Signed-off-by: Heiner Kallweit --- diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0021-FROMGIT-5.18-arm64-dts-meson-sm1-add-spdifin-spdifou.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0021-FROMGIT-5.18-arm64-dts-meson-sm1-add-spdifin-spdifou.patch deleted file mode 100644 index 7b14141211..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0021-FROMGIT-5.18-arm64-dts-meson-sm1-add-spdifin-spdifou.patch +++ /dev/null @@ -1,54 +0,0 @@ -From ceaedabcb1099e70eb8de51854d0965f4b520229 Mon Sep 17 00:00:00 2001 -From: Artem Lapkin -Date: Thu, 16 Dec 2021 16:10:58 +0000 -Subject: [PATCH 21/90] FROMGIT(5.18): arm64: dts: meson-sm1: add spdifin - spdifout nodes - -Add spdifin spdifout nodes for Amlogic SM1 SoCs. - -Signed-off-by: Artem Lapkin ---- - arch/arm64/boot/dts/amlogic/meson-sm1.dtsi | 27 ++++++++++++++++++++++ - 1 file changed, 27 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi -index 3d8b1f4f2001..1e0adf259d61 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi -@@ -356,6 +356,33 @@ - status = "disabled"; - }; - -+ spdifin: audio-controller@400 { -+ compatible = "amlogic,g12a-spdifin", -+ "amlogic,axg-spdifin"; -+ reg = <0x0 0x400 0x0 0x30>; -+ #sound-dai-cells = <0>; -+ sound-name-prefix = "SPDIFIN"; -+ interrupts = ; -+ clocks = <&clkc_audio AUD_CLKID_SPDIFIN>, -+ <&clkc_audio AUD_CLKID_SPDIFIN_CLK>; -+ clock-names = "pclk", "refclk"; -+ resets = <&clkc_audio AUD_RESET_SPDIFIN>; -+ status = "disabled"; -+ }; -+ -+ spdifout: audio-controller@480 { -+ compatible = "amlogic,g12a-spdifout", -+ "amlogic,axg-spdifout"; -+ reg = <0x0 0x480 0x0 0x50>; -+ #sound-dai-cells = <0>; -+ sound-name-prefix = "SPDIFOUT"; -+ clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>, -+ <&clkc_audio AUD_CLKID_SPDIFOUT_CLK>; -+ clock-names = "pclk", "mclk"; -+ resets = <&clkc_audio AUD_RESET_SPDIFOUT>; -+ status = "disabled"; -+ }; -+ - tdmout_a: audio-controller@500 { - compatible = "amlogic,sm1-tdmout"; - reg = <0x0 0x500 0x0 0x40>; --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0047-FROMLIST-v2-docs-ABI-document-tm1628-attribute-displ.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0021-FROMLIST-v5-docs-ABI-document-tm1628-attribute-displ.patch similarity index 89% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0047-FROMLIST-v2-docs-ABI-document-tm1628-attribute-displ.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0021-FROMLIST-v5-docs-ABI-document-tm1628-attribute-displ.patch index 43bbea0b87..591ed28345 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0047-FROMLIST-v2-docs-ABI-document-tm1628-attribute-displ.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0021-FROMLIST-v5-docs-ABI-document-tm1628-attribute-displ.patch @@ -1,7 +1,7 @@ -From e255be5d8029a419bc2cc39c8eb84466e77a7f7c Mon Sep 17 00:00:00 2001 +From 5042a1c07c4a1ea5c58b31d8a3b35a156f64858d Mon Sep 17 00:00:00 2001 From: Heiner Kallweit Date: Sun, 20 Feb 2022 08:26:27 +0000 -Subject: [PATCH 47/90] FROMLIST(v2): docs: ABI: document tm1628 attribute +Subject: [PATCH 21/75] FROMLIST(v5): docs: ABI: document tm1628 attribute display-text Document the attribute for reading / writing the text to be displayed on diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0022-FROMGIT-5.18-arm64-dts-meson-g12-common-add-more-pwm.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0022-FROMGIT-5.18-arm64-dts-meson-g12-common-add-more-pwm.patch deleted file mode 100644 index 2d4b1b7393..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0022-FROMGIT-5.18-arm64-dts-meson-g12-common-add-more-pwm.patch +++ /dev/null @@ -1,43 +0,0 @@ -From c0131d32a3e19398225b12b1bbf448b9a55bebcd Mon Sep 17 00:00:00 2001 -From: Gary Bisson -Date: Mon, 3 Jan 2022 16:51:30 +0000 -Subject: [PATCH 22/90] FROMGIT(5.18): arm64: dts: meson-g12-common: add more - pwm_f options - -Add missing PWM_F pin muxing for GPIOA_11 and GPIOZ_12. - -Signed-off-by: Gary Bisson ---- - .../arm64/boot/dts/amlogic/meson-g12-common.dtsi | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -index 04da23119ff1..d54f2a2bdea2 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -@@ -845,6 +845,22 @@ - }; - }; - -+ pwm_f_z_pins: pwm-f-z { -+ mux { -+ groups = "pwm_f_z"; -+ function = "pwm_f"; -+ bias-disable; -+ }; -+ }; -+ -+ pwm_f_a_pins: pwm-f-a { -+ mux { -+ groups = "pwm_f_a"; -+ function = "pwm_f"; -+ bias-disable; -+ }; -+ }; -+ - pwm_f_x_pins: pwm-f-x { - mux { - groups = "pwm_f_x"; --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0048-FROMLIST-v2-auxdisplay-add-support-for-Titanmec-TM16.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0022-FROMLIST-v5-auxdisplay-add-support-for-Titanmec-TM16.patch similarity index 83% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0048-FROMLIST-v2-auxdisplay-add-support-for-Titanmec-TM16.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0022-FROMLIST-v5-auxdisplay-add-support-for-Titanmec-TM16.patch index f5be23fb85..e31011b0e0 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0048-FROMLIST-v2-auxdisplay-add-support-for-Titanmec-TM16.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0022-FROMLIST-v5-auxdisplay-add-support-for-Titanmec-TM16.patch @@ -1,7 +1,7 @@ -From 64b6dc707ec8fa981c36c9855d9502a14c4a06ab Mon Sep 17 00:00:00 2001 +From b3f2d569b4820d0660bc83187d2d9d1fb817ed56 Mon Sep 17 00:00:00 2001 From: Heiner Kallweit -Date: Sun, 20 Feb 2022 08:27:56 +0000 -Subject: [PATCH 48/90] FROMLIST(v2): auxdisplay: add support for Titanmec +Date: Mon, 4 Apr 2022 18:51:20 +0000 +Subject: [PATCH 22/75] FROMLIST(v5): auxdisplay: add support for Titanmec TM1628 7 segment display controller MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -33,21 +33,21 @@ Note: There's a number of chips from other manufacturers that are Successfully tested on a TX3 Mini TV box that has an SM1628C and a display with 4 digits and 7 symbols. -Tested-by: Christian Hewitt +Co-developed-by: Andreas Färber Signed-off-by: Andreas Färber Signed-off-by: Heiner Kallweit --- - drivers/auxdisplay/Kconfig | 10 + + drivers/auxdisplay/Kconfig | 11 ++ drivers/auxdisplay/Makefile | 1 + - drivers/auxdisplay/tm1628.c | 375 ++++++++++++++++++++++++++++++++++++ - 3 files changed, 386 insertions(+) + drivers/auxdisplay/tm1628.c | 376 ++++++++++++++++++++++++++++++++++++ + 3 files changed, 388 insertions(+) create mode 100644 drivers/auxdisplay/tm1628.c diff --git a/drivers/auxdisplay/Kconfig b/drivers/auxdisplay/Kconfig -index 64012cda4d12..25ef2e452897 100644 +index 64012cda4d12..2764afc5c5d9 100644 --- a/drivers/auxdisplay/Kconfig +++ b/drivers/auxdisplay/Kconfig -@@ -203,6 +203,16 @@ config ARM_CHARLCD +@@ -203,6 +203,17 @@ config ARM_CHARLCD line and the Linux version on the second line, but that's still useful. @@ -58,6 +58,7 @@ index 64012cda4d12..25ef2e452897 100644 + help + Say Y to enable support for Titan Micro Electronics TM1628 + LED controller. ++ + It's a 3-wire SPI device controlling a two-dimensional grid of + LEDs. Dimming is applied to all outputs through an internal PWM. + @@ -75,17 +76,19 @@ index 6968ed4d3f0a..7728e17e1c5a 100644 +obj-$(CONFIG_TM1628) += tm1628.o diff --git a/drivers/auxdisplay/tm1628.c b/drivers/auxdisplay/tm1628.c new file mode 100644 -index 000000000000..072de8d47a59 +index 000000000000..4d99a7aa077b --- /dev/null +++ b/drivers/auxdisplay/tm1628.c -@@ -0,0 +1,375 @@ +@@ -0,0 +1,376 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Titan Micro Electronics TM1628 LED controller + * + * Copyright (c) 2019 Andreas Färber ++ * Copyright (c) 2022 Heiner Kallweit + */ + ++#include +#include +#include +#include @@ -109,6 +112,7 @@ index 000000000000..072de8d47a59 +#define TM1628_CMD_SET_ADDRESS (3 << 6) + +#define TM1628_BRIGHTNESS_MAX 7 ++#define NUM_LED_SEGS 7 + +/* Physical limits, depending on the mode the chip may support less */ +#define MAX_GRID_SIZE 7 @@ -126,7 +130,7 @@ index 000000000000..072de8d47a59 + __le16 data[MAX_GRID_SIZE]; + struct mutex disp_lock; + char text[MAX_GRID_SIZE + 1]; -+ u8 segment_mapping[7]; ++ u8 segment_mapping[NUM_LED_SEGS]; + u8 grid[MAX_GRID_SIZE]; + int grid_size; + struct tm1628_led leds[]; @@ -135,7 +139,7 @@ index 000000000000..072de8d47a59 +/* Command 1: Display Mode Setting */ +static int tm1628_set_display_mode(struct spi_device *spi, u8 grid_mode) +{ -+ u8 cmd = TM1628_CMD_DISPLAY_MODE | grid_mode; ++ const u8 cmd = TM1628_CMD_DISPLAY_MODE | grid_mode; + + return spi_write(spi, &cmd, 1); +} @@ -143,7 +147,7 @@ index 000000000000..072de8d47a59 +/* Command 3: Address Setting */ +static int tm1628_set_address(struct spi_device *spi, u8 offset) +{ -+ u8 cmd = TM1628_CMD_SET_ADDRESS | (offset * sizeof(__le16)); ++ const u8 cmd = TM1628_CMD_SET_ADDRESS | (offset * sizeof(__le16)); + + return spi_write(spi, &cmd, 1); +} @@ -153,7 +157,7 @@ index 000000000000..072de8d47a59 + unsigned int len) +{ + struct tm1628 *s = spi_get_drvdata(spi); -+ u8 cmd = TM1628_CMD_DATA | TM1628_DATA_WRITE_DATA; ++ const u8 cmd = TM1628_CMD_DATA | TM1628_DATA_WRITE_DATA; + struct spi_transfer xfers[] = { + { + .tx_buf = &cmd, @@ -190,28 +194,29 @@ index 000000000000..072de8d47a59 +static int tm1628_show_text(struct tm1628 *s) +{ + static SEG7_CONVERSION_MAP(map_seg7, MAP_ASCII7SEG_ALPHANUM); -+ int i, ret; ++ int msg_len, i, ret; + -+ int msg_len = strlen(s->text); ++ msg_len = strlen(s->text); + + mutex_lock(&s->disp_lock); + + for (i = 0; i < s->grid_size; i++) { + int pos = s->grid[i] - 1; ++ int j, char7_raw, char7; + -+ if (i < msg_len) { -+ int char7_raw = map_to_seg7(&map_seg7, s->text[i]); -+ int j, char7; -+ -+ for (j = 0, char7 = 0; j < 7; j++) { -+ if (char7_raw & BIT(j)) -+ char7 |= BIT(s->segment_mapping[j] - 1); -+ } -+ -+ s->data[pos] = cpu_to_le16(char7); -+ } else { ++ if (i >= msg_len) { + s->data[pos] = 0; ++ continue; + } ++ ++ char7_raw = map_to_seg7(&map_seg7, s->text[i]); ++ ++ for (j = 0, char7 = 0; j < NUM_LED_SEGS; j++) { ++ if (char7_raw & BIT(j)) ++ char7 |= BIT(s->segment_mapping[j] - 1); ++ } ++ ++ s->data[pos] = cpu_to_le16(char7); + } + + ret = tm1628_write_data(s->spi, 0, s->grid_size); @@ -226,11 +231,8 @@ index 000000000000..072de8d47a59 +{ + struct tm1628_led *led = container_of(led_cdev, struct tm1628_led, leddev); + struct tm1628 *s = led->ctrl; -+ int offset, ret; -+ __le16 bit; -+ -+ offset = led->grid - 1; -+ bit = cpu_to_le16(BIT(led->seg - 1)); ++ int ret, offset = led->grid - 1; ++ __le16 bit = cpu_to_le16(BIT(led->seg - 1)); + + mutex_lock(&s->disp_lock); + @@ -250,13 +252,10 @@ index 000000000000..072de8d47a59 +{ + struct tm1628_led *led = container_of(led_cdev, struct tm1628_led, leddev); + struct tm1628 *s = led->ctrl; -+ int offset; -+ __le16 bit; ++ int offset = led->grid - 1; ++ __le16 bit = cpu_to_le16(BIT(led->seg - 1)); + bool on; + -+ offset = led->grid - 1; -+ bit = cpu_to_le16(BIT(led->seg - 1)); -+ + mutex_lock(&s->disp_lock); + on = s->data[offset] & bit; + mutex_unlock(&s->disp_lock); @@ -294,10 +293,7 @@ index 000000000000..072de8d47a59 + struct tm1628 *s = dev_get_drvdata(dev); + int ret, i; + -+ if (count > s->grid_size + 1) /* consider trailing newline */ -+ return -E2BIG; -+ -+ for (i = 0; i < count && isprint(buf[i]); i++) ++ for (i = 0; i < count && i < s->grid_size && isprint(buf[i]); i++) + s->text[i] = buf[i]; + + s->text[i] = '\0'; @@ -329,24 +325,28 @@ index 000000000000..072de8d47a59 + + mutex_init(&s->disp_lock); + -+ msleep(200); /* according to TM1628 datasheet */ ++ /* According to TM1628 datasheet */ ++ msleep(200); + -+ /* clear screen */ ++ /* Clear screen */ + ret = tm1628_write_data(spi, 0, MAX_GRID_SIZE); + if (ret) + return ret; -+ /* Assume that subsequent SPI transfers will be ok if first was ok */ + + /* For now we support 6x12 mode only. This should be sufficient for most use cases */ -+ tm1628_set_display_mode(spi, TM1628_DISPLAY_MODE_6_12); ++ ret = tm1628_set_display_mode(spi, TM1628_DISPLAY_MODE_6_12); ++ if (ret) ++ return ret; + -+ tm1628_set_display_ctrl(spi, true); ++ ret = tm1628_set_display_ctrl(spi, true); ++ if (ret) ++ return ret; ++ ++ num_leds = 0; + + if (!IS_REACHABLE(CONFIG_LEDS_CLASS)) + goto no_leds; + -+ num_leds = 0; -+ + device_for_each_child_node(&spi->dev, child) { + u32 reg[2]; + @@ -379,7 +379,7 @@ index 000000000000..072de8d47a59 + } + +no_leds: -+ ret = device_property_count_u8(&spi->dev, "grid"); ++ ret = device_property_count_u8(&spi->dev, "titanmec,grid"); + if (ret < 1 || ret > MAX_GRID_SIZE) { + dev_err(&spi->dev, "Invalid display length (%d)\n", ret); + return -EINVAL; @@ -387,7 +387,7 @@ index 000000000000..072de8d47a59 + + s->grid_size = ret; + -+ ret = device_property_read_u8_array(&spi->dev, "grid", s->grid, s->grid_size); ++ ret = device_property_read_u8_array(&spi->dev, "titanmec,grid", s->grid, s->grid_size); + if (ret < 0) + return ret; + @@ -396,11 +396,12 @@ index 000000000000..072de8d47a59 + return -EINVAL; + } + -+ ret = device_property_read_u8_array(&spi->dev, "segment-mapping", s->segment_mapping, 7); ++ ret = device_property_read_u8_array(&spi->dev, "titanmec,segment-mapping", ++ s->segment_mapping, NUM_LED_SEGS); + if (ret < 0) + return ret; + -+ for (i = 0; i < 7; i++) { ++ for (i = 0; i < NUM_LED_SEGS; i++) { + if (s->segment_mapping[i] < 1 || s->segment_mapping[i] > MAX_SEGMENT_NUM) + return -EINVAL; + } @@ -452,7 +453,8 @@ index 000000000000..072de8d47a59 +module_spi_driver(tm1628_spi_driver); + +MODULE_DESCRIPTION("TM1628 LED controller driver"); -+MODULE_AUTHOR("Andreas Färber"); ++MODULE_AUTHOR("Andreas Färber "); ++MODULE_AUTHOR("Heiner Kallweit "); +MODULE_LICENSE("GPL"); -- 2.17.1 diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0023-FROMGIT-5.18-arm64-dts-meson-g12-common-add-uart_ao_.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0023-FROMGIT-5.18-arm64-dts-meson-g12-common-add-uart_ao_.patch deleted file mode 100644 index 651a722a59..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0023-FROMGIT-5.18-arm64-dts-meson-g12-common-add-uart_ao_.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 0715e9b005f0533feefb9a9df98904f22aecfe3a Mon Sep 17 00:00:00 2001 -From: Gary Bisson -Date: Mon, 3 Jan 2022 16:52:18 +0000 -Subject: [PATCH 23/90] FROMGIT(5.18): arm64: dts: meson-g12-common: add - uart_ao_b pins muxing - -- RX/TX signals can be mapped on 2 different pairs of pins so supporting - both options -- RTS/CTS signals however only have 1 option available - -Signed-off-by: Gary Bisson ---- - .../boot/dts/amlogic/meson-g12-common.dtsi | 27 +++++++++++++++++++ - 1 file changed, 27 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -index d54f2a2bdea2..3a330c9b0e5e 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -@@ -1903,6 +1903,33 @@ - }; - }; - -+ uart_ao_b_1_pins: uart-ao-b-1 { -+ mux { -+ groups = "uart_ao_b_tx_2", -+ "uart_ao_b_rx_3"; -+ function = "uart_ao_b"; -+ bias-disable; -+ }; -+ }; -+ -+ uart_ao_b_2_pins: uart-ao-b-2 { -+ mux { -+ groups = "uart_ao_b_tx_8", -+ "uart_ao_b_rx_9"; -+ function = "uart_ao_b"; -+ bias-disable; -+ }; -+ }; -+ -+ uart_ao_b_cts_rts_pins: uart-ao-b-cts-rts { -+ mux { -+ groups = "uart_ao_b_cts", -+ "uart_ao_b_rts"; -+ function = "uart_ao_b"; -+ bias-disable; -+ }; -+ }; -+ - pwm_a_e_pins: pwm-a-e { - mux { - groups = "pwm_a_e"; --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0049-FROMLIST-v2-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0023-FROMLIST-v5-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch similarity index 86% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0049-FROMLIST-v2-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0023-FROMLIST-v5-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch index ec60ba7372..f077afaf20 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0049-FROMLIST-v2-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0023-FROMLIST-v5-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patch @@ -1,7 +1,7 @@ -From 3abb1669bfb5e075daae0c0a928b2f31ded16e14 Mon Sep 17 00:00:00 2001 +From 2880209332a9d8cec61ffeb6d6fe5d211cabb20e Mon Sep 17 00:00:00 2001 From: Heiner Kallweit -Date: Sun, 20 Feb 2022 08:29:31 +0000 -Subject: [PATCH 49/90] FROMLIST(v2): arm64: dts: meson-gxl-s905w-tx3-mini: add +Date: Mon, 4 Apr 2022 18:52:34 +0000 +Subject: [PATCH 23/75] FROMLIST(v5): arm64: dts: meson-gxl-s905w-tx3-mini: add support for the 7 segment display This patch adds support for the 7 segment display of the device. @@ -12,7 +12,7 @@ Signed-off-by: Heiner Kallweit 1 file changed, 59 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts -index 6705c2082a78..20bbd931e696 100644 +index 6705c2082a78..ae0d8d7b1e19 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts @@ -10,6 +10,7 @@ @@ -47,8 +47,8 @@ index 6705c2082a78..20bbd931e696 100644 + #address-cells = <2>; + #size-cells = <0>; + -+ segment-mapping = /bits/ 8 <4 5 6 1 2 3 7>; -+ grid = /bits/ 8 <4 3 2 1>; ++ titanmec,segment-mapping = /bits/ 8 <4 5 6 1 2 3 7>; ++ titanmec,grid = /bits/ 8 <4 3 2 1>; + + alarm@5,1 { + reg = <5 1>; diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMGIT-5.18-dt-bindings-vendor-prefixes-add-osmc-pr.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMGIT-5.18-dt-bindings-vendor-prefixes-add-osmc-pr.patch deleted file mode 100644 index 546068ce42..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMGIT-5.18-dt-bindings-vendor-prefixes-add-osmc-pr.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d28404155d45c7cf821887799c21c8acdce16d8c Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 19 Jan 2022 02:29:42 +0000 -Subject: [PATCH 24/90] FROMGIT(5.18): dt-bindings: vendor-prefixes: add osmc - prefix - -Open Source Media Centre (Sam Nazarko Trading Ltd.) are a manufacturer -of Linux Set-Top Box devices. - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index 0d8da47cda1a..c1fa95a505e9 100644 ---- a/Documentation/devicetree/bindings/vendor-prefixes.yaml -+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml -@@ -896,6 +896,8 @@ patternProperties: - description: Ortus Technology Co., Ltd. - "^osddisplays,.*": - description: OSD Displays -+ "^osmc,.*": -+ description: Sam Nazarko Trading Ltd. (Open Source Media Centre) - "^ouya,.*": - description: Ouya Inc. - "^overkiz,.*": --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMLIST-v5-MAINTAINERS-Add-entry-for-tm1628-auxdisp.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMLIST-v5-MAINTAINERS-Add-entry-for-tm1628-auxdisp.patch new file mode 100644 index 0000000000..0a7e8c166e --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0024-FROMLIST-v5-MAINTAINERS-Add-entry-for-tm1628-auxdisp.patch @@ -0,0 +1,32 @@ +From ce197ea3edac7cfc4a85c22713a99f65ea2951fd Mon Sep 17 00:00:00 2001 +From: Heiner Kallweit +Date: Mon, 4 Apr 2022 18:53:32 +0000 +Subject: [PATCH 24/75] FROMLIST(v5): MAINTAINERS: Add entry for tm1628 + auxdisplay driver + +Signed-off-by: Heiner Kallweit +--- + MAINTAINERS | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/MAINTAINERS b/MAINTAINERS +index f468864fd268..08e95ea74a25 100644 +--- a/MAINTAINERS ++++ b/MAINTAINERS +@@ -19830,6 +19830,13 @@ W: http://sourceforge.net/projects/tlan/ + F: Documentation/networking/device_drivers/ethernet/ti/tlan.rst + F: drivers/net/ethernet/ti/tlan.* + ++TM1628 LED CONTROLLER DRIVER ++M: Heiner Kallweit ++S: Maintained ++F: Documentation/devicetree/bindings/auxdisplay/titanmec,tm1628.yaml ++F: Documentation/ABI/testing/sysfs-devices-auxdisplay-tm1628 ++F: drivers/auxdisplay/tm1628.c ++ + TM6000 VIDEO4LINUX DRIVER + M: Mauro Carvalho Chehab + L: linux-media@vger.kernel.org +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMGIT-5.18-dt-bindings-arm-amlogic-add-Vero-4K-bin.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMGIT-5.18-dt-bindings-arm-amlogic-add-Vero-4K-bin.patch deleted file mode 100644 index 2ecc9f0d45..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMGIT-5.18-dt-bindings-arm-amlogic-add-Vero-4K-bin.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 2a8105bc091a435effb5f9d5412328c564c93ac0 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 19 Jan 2022 02:40:20 +0000 -Subject: [PATCH 25/90] FROMGIT(5.18): dt-bindings: arm: amlogic: add Vero 4K+ - bindings - -Add the board binding for the OSMC Vero 4K+ STB device - -Signed-off-by: Christian Hewitt ---- - Documentation/devicetree/bindings/arm/amlogic.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 7c3627d9c773..05365bb50b29 100644 ---- a/Documentation/devicetree/bindings/arm/amlogic.yaml -+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml -@@ -108,6 +108,7 @@ properties: - - amlogic,p230 - - amlogic,p231 - - libretech,aml-s905d-pc -+ - osmc,vero4k-plus - - phicomm,n1 - - smartlabs,sml5442tw - - videostrong,gxl-kii-pro --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMLIST-v2-xhci-factor-out-parts-of-xhci_gen_setup.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMLIST-v2-xhci-factor-out-parts-of-xhci_gen_setup.patch new file mode 100644 index 0000000000..dde9a20856 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0025-FROMLIST-v2-xhci-factor-out-parts-of-xhci_gen_setup.patch @@ -0,0 +1,154 @@ +From 234d96018aa039365b006e506cee1cb5ff22af2b Mon Sep 17 00:00:00 2001 +From: Heiner Kallweit +Date: Mon, 4 Apr 2022 18:58:27 +0000 +Subject: [PATCH 25/75] FROMLIST(v2): xhci: factor out parts of + xhci_gen_setup() + +Factoring out parts of xhci_gen_setup() has two motivations: +- When adding functionaliy to omit shared hcd if not needed in a + subsequent patch, we'll have to call xhci_hcd_init_usb3_data() + from two places. +- It reduces size of xhci_gen_setup() and makes it better readable. + +Signed-off-by: Heiner Kallweit +--- + drivers/usb/host/xhci.c | 104 +++++++++++++++++++++------------------- + 1 file changed, 54 insertions(+), 50 deletions(-) + +diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c +index 25b87e99b4dd..92ae4ec531ff 100644 +--- a/drivers/usb/host/xhci.c ++++ b/drivers/usb/host/xhci.c +@@ -5207,6 +5207,57 @@ static int xhci_get_frame(struct usb_hcd *hcd) + return readl(&xhci->run_regs->microframe_index) >> 3; + } + ++static void xhci_hcd_init_usb2_data(struct xhci_hcd *xhci, struct usb_hcd *hcd) ++{ ++ xhci->usb2_rhub.hcd = hcd; ++ hcd->speed = HCD_USB2; ++ hcd->self.root_hub->speed = USB_SPEED_HIGH; ++ /* ++ * USB 2.0 roothub under xHCI has an integrated TT, ++ * (rate matching hub) as opposed to having an OHCI/UHCI ++ * companion controller. ++ */ ++ hcd->has_tt = 1; ++} ++ ++static void xhci_hcd_init_usb3_data(struct xhci_hcd *xhci, struct usb_hcd *hcd) ++{ ++ unsigned int minor_rev; ++ ++ /* ++ * Early xHCI 1.1 spec did not mention USB 3.1 capable hosts ++ * should return 0x31 for sbrn, or that the minor revision ++ * is a two digit BCD containig minor and sub-minor numbers. ++ * This was later clarified in xHCI 1.2. ++ * ++ * Some USB 3.1 capable hosts therefore have sbrn 0x30, and ++ * minor revision set to 0x1 instead of 0x10. ++ */ ++ if (xhci->usb3_rhub.min_rev == 0x1) ++ minor_rev = 1; ++ else ++ minor_rev = xhci->usb3_rhub.min_rev / 0x10; ++ ++ switch (minor_rev) { ++ case 2: ++ hcd->speed = HCD_USB32; ++ hcd->self.root_hub->speed = USB_SPEED_SUPER_PLUS; ++ hcd->self.root_hub->rx_lanes = 2; ++ hcd->self.root_hub->tx_lanes = 2; ++ hcd->self.root_hub->ssp_rate = USB_SSP_GEN_2x2; ++ break; ++ case 1: ++ hcd->speed = HCD_USB31; ++ hcd->self.root_hub->speed = USB_SPEED_SUPER_PLUS; ++ hcd->self.root_hub->ssp_rate = USB_SSP_GEN_2x1; ++ break; ++ } ++ xhci_info(xhci, "Host supports USB 3.%x %sSuperSpeed\n", ++ minor_rev, minor_rev ? "Enhanced " : ""); ++ ++ xhci->usb3_rhub.hcd = hcd; ++} ++ + int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) + { + struct xhci_hcd *xhci; +@@ -5215,7 +5266,6 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) + * quirks + */ + struct device *dev = hcd->self.sysdev; +- unsigned int minor_rev; + int retval; + + /* Accept arbitrarily long scatter-gather lists */ +@@ -5230,60 +5280,14 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) + xhci = hcd_to_xhci(hcd); + + if (usb_hcd_is_primary_hcd(hcd)) { +- xhci->main_hcd = hcd; +- xhci->usb2_rhub.hcd = hcd; +- /* Mark the first roothub as being USB 2.0. +- * The xHCI driver will register the USB 3.0 roothub. +- */ +- hcd->speed = HCD_USB2; +- hcd->self.root_hub->speed = USB_SPEED_HIGH; +- /* +- * USB 2.0 roothub under xHCI has an integrated TT, +- * (rate matching hub) as opposed to having an OHCI/UHCI +- * companion controller. +- */ +- hcd->has_tt = 1; ++ xhci_hcd_init_usb2_data(xhci, hcd); + } else { +- /* +- * Early xHCI 1.1 spec did not mention USB 3.1 capable hosts +- * should return 0x31 for sbrn, or that the minor revision +- * is a two digit BCD containig minor and sub-minor numbers. +- * This was later clarified in xHCI 1.2. +- * +- * Some USB 3.1 capable hosts therefore have sbrn 0x30, and +- * minor revision set to 0x1 instead of 0x10. +- */ +- if (xhci->usb3_rhub.min_rev == 0x1) +- minor_rev = 1; +- else +- minor_rev = xhci->usb3_rhub.min_rev / 0x10; +- +- switch (minor_rev) { +- case 2: +- hcd->speed = HCD_USB32; +- hcd->self.root_hub->speed = USB_SPEED_SUPER_PLUS; +- hcd->self.root_hub->rx_lanes = 2; +- hcd->self.root_hub->tx_lanes = 2; +- hcd->self.root_hub->ssp_rate = USB_SSP_GEN_2x2; +- break; +- case 1: +- hcd->speed = HCD_USB31; +- hcd->self.root_hub->speed = USB_SPEED_SUPER_PLUS; +- hcd->self.root_hub->ssp_rate = USB_SSP_GEN_2x1; +- break; +- } +- xhci_info(xhci, "Host supports USB 3.%x %sSuperSpeed\n", +- minor_rev, +- minor_rev ? "Enhanced " : ""); +- +- xhci->usb3_rhub.hcd = hcd; +- /* xHCI private pointer was set in xhci_pci_probe for the second +- * registered roothub. +- */ ++ xhci_hcd_init_usb3_data(xhci, hcd); + return 0; + } + + mutex_init(&xhci->mutex); ++ xhci->main_hcd = hcd; + xhci->cap_regs = hcd->regs; + xhci->op_regs = hcd->regs + + HC_LENGTH(readl(&xhci->cap_regs->hc_capbase)); +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMGIT-5.18-arm64-dts-meson-add-support-for-OSMC-Ve.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMGIT-5.18-arm64-dts-meson-add-support-for-OSMC-Ve.patch deleted file mode 100644 index 020e2d4f8a..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMGIT-5.18-arm64-dts-meson-add-support-for-OSMC-Ve.patch +++ /dev/null @@ -1,170 +0,0 @@ -From edc337ae1a104ef1111ed79d23426d7b77ce2e31 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Wed, 19 Jan 2022 04:06:17 +0000 -Subject: [PATCH 26/90] FROMGIT(5.18): arm64: dts: meson: add support for OSMC - Vero 4K+ - -The OSMC Vero 4K+ device is based on the Amlogic S905D (P230) -reference design with the following specifications: - -- 2GB DDR4 RAM -- 16GB eMMC -- HDMI 2.1 video -- S/PDIF optical output -- AV output -- 10/100/1000 Ethernet -- AP6255 Wireless (802.11 a/b/g/n/ac, BT 4.2) -- 2x USB 2.0 ports (1x OTG) -- IR receiver (internal) -- IR extender port (external) -- 1x micro SD card slot -- 1x Power LED (red) -- 1x Reset button (in AV jack) - -Signed-off-by: Christian Hewitt -Tested-by: Chad Wagner -Reviewed-by: Neil Armstrong ---- - arch/arm64/boot/dts/amlogic/Makefile | 1 + - .../amlogic/meson-gxl-s905d-vero4k-plus.dts | 117 ++++++++++++++++++ - 2 files changed, 118 insertions(+) - create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905d-vero4k-plus.dts - -diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index f7aea90c7f2a..383e9fb49852 100644 ---- a/arch/arm64/boot/dts/amlogic/Makefile -+++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -36,6 +36,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-phicomm-n1.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-sml5442tw.dtb -+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-vero4k-plus.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-p241.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-vero4k-plus.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-vero4k-plus.dts -new file mode 100644 -index 000000000000..4b0ff707e21b ---- /dev/null -+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-vero4k-plus.dts -@@ -0,0 +1,117 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Author: Christian Hewitt -+ */ -+ -+/dts-v1/; -+ -+#include "meson-gxl-s905d.dtsi" -+#include "meson-gx-p23x-q20x.dtsi" -+#include -+#include -+ -+/ { -+ compatible = "osmc,vero4k-plus", "amlogic,s905d", "amlogic,meson-gxl"; -+ model = "OSMC Vero 4K Plus"; -+ -+ gpio-keys-polled { -+ compatible = "gpio-keys-polled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ poll-interval = <20>; -+ -+ button@0 { -+ label = "power"; -+ linux,code = ; -+ gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-standby { -+ color = ; -+ function = LED_FUNCTION_POWER; -+ gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_LOW>; -+ default-state = "off"; -+ panic-indicator; -+ }; -+ }; -+}; -+ -+ðmac { -+ pinctrl-0 = <ð_pins>; -+ pinctrl-names = "default"; -+ -+ phy-mode = "rgmii-txid"; -+ phy-handle = <&external_phy>; -+ -+ amlogic,tx-delay-ns = <0>; -+}; -+ -+&external_mdio { -+ external_phy: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x001cc916) */ -+ pinctrl-0 = <ð_phy_irq_pin>; -+ pinctrl-names = "default"; -+ -+ reg = <0>; -+ max-speed = <1000>; -+ -+ reset-assert-us = <10000>; -+ reset-deassert-us = <80000>; -+ reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; -+ -+ interrupt-parent = <&gpio_intc>; -+ interrupts = <25 IRQ_TYPE_LEVEL_LOW>; -+ }; -+}; -+ -+&pinctrl_periphs { -+ /* Ensure the phy irq pin is properly configured as input */ -+ eth_phy_irq_pin: eth-phy-irq { -+ mux { -+ groups = "GPIOZ_15"; -+ function = "gpio_periphs"; -+ bias-disable; -+ output-disable; -+ }; -+ }; -+}; -+ -+&sd_emmc_a { -+ brcmf: wifi@1 { -+ reg = <1>; -+ compatible = "brcm,bcm4329-fmac"; -+ }; -+}; -+ -+&uart_A { -+ status = "okay"; -+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ -+ bluetooth { -+ compatible = "brcm,bcm43438-bt"; -+ shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; -+ max-speed = <2000000>; -+ clocks = <&wifi32k>; -+ clock-names = "lpo"; -+ }; -+}; -+ -+&usb { -+ dr_mode = "host"; -+}; -+ -+&usb2_phy0 { -+ /* HDMI_5V also supplies the USB VBUS */ -+ phy-supply = <&hdmi_5v>; -+}; -+ -+&usb2_phy0 { -+ /* HDMI_5V also supplies the USB VBUS */ -+ phy-supply = <&hdmi_5v>; -+}; --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMLIST-v2-xhci-prepare-for-operation-w-o-shared-hc.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMLIST-v2-xhci-prepare-for-operation-w-o-shared-hc.patch new file mode 100644 index 0000000000..fe90b71f36 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0026-FROMLIST-v2-xhci-prepare-for-operation-w-o-shared-hc.patch @@ -0,0 +1,283 @@ +From b6dc593e9dbbf1017760f25b446d2a8b24364330 Mon Sep 17 00:00:00 2001 +From: Heiner Kallweit +Date: Mon, 4 Apr 2022 18:59:21 +0000 +Subject: [PATCH 26/75] FROMLIST(v2): xhci: prepare for operation w/o shared + hcd + +This patch prepares xhci for the following scenario: +- If either of the root hubs has no ports, then omit shared hcd +- Main hcd can be USB3 if there are no USB2 ports + +Signed-off-by: Heiner Kallweit +--- + drivers/usb/host/xhci-hub.c | 3 ++- + drivers/usb/host/xhci-mem.c | 11 ++++---- + drivers/usb/host/xhci.c | 53 ++++++++++++++++++++++++------------- + drivers/usb/host/xhci.h | 26 ++++++++++++++++++ + 4 files changed, 68 insertions(+), 25 deletions(-) + +diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c +index f65f1ba2b592..c54f2bc23d3f 100644 +--- a/drivers/usb/host/xhci-hub.c ++++ b/drivers/usb/host/xhci-hub.c +@@ -707,6 +707,7 @@ static int xhci_enter_test_mode(struct xhci_hcd *xhci, + u16 test_mode, u16 wIndex, unsigned long *flags) + __must_hold(&xhci->lock) + { ++ struct usb_hcd *usb3_hcd = xhci_get_usb3_hcd(xhci); + int i, retval; + + /* Disable all Device Slots */ +@@ -727,7 +728,7 @@ static int xhci_enter_test_mode(struct xhci_hcd *xhci, + xhci_dbg(xhci, "Disable all port (PP = 0)\n"); + /* Power off USB3 ports*/ + for (i = 0; i < xhci->usb3_rhub.num_ports; i++) +- xhci_set_port_power(xhci, xhci->shared_hcd, i, false, flags); ++ xhci_set_port_power(xhci, usb3_hcd, i, false, flags); + /* Power off USB2 ports*/ + for (i = 0; i < xhci->usb2_rhub.num_ports; i++) + xhci_set_port_power(xhci, xhci->main_hcd, i, false, flags); +diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c +index bbb27ee2c6a3..50bf64dcb186 100644 +--- a/drivers/usb/host/xhci-mem.c ++++ b/drivers/usb/host/xhci-mem.c +@@ -1072,7 +1072,7 @@ static u32 xhci_find_real_port_number(struct xhci_hcd *xhci, + struct usb_hcd *hcd; + + if (udev->speed >= USB_SPEED_SUPER) +- hcd = xhci->shared_hcd; ++ hcd = xhci_get_usb3_hcd(xhci); + else + hcd = xhci->main_hcd; + +@@ -2362,10 +2362,11 @@ static int xhci_setup_port_arrays(struct xhci_hcd *xhci, gfp_t flags) + xhci->usb2_rhub.num_ports = USB_MAXCHILDREN; + } + +- /* +- * Note we could have all USB 3.0 ports, or all USB 2.0 ports. +- * Not sure how the USB core will handle a hub with no ports... +- */ ++ if (!xhci->usb2_rhub.num_ports) ++ xhci_info(xhci, "USB2 root hub has no ports\n"); ++ ++ if (!xhci->usb3_rhub.num_ports) ++ xhci_info(xhci, "USB3 root hub has no ports\n"); + + xhci_create_rhub_port_array(xhci, &xhci->usb2_rhub, flags); + xhci_create_rhub_port_array(xhci, &xhci->usb3_rhub, flags); +diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c +index 92ae4ec531ff..5d4955ed4074 100644 +--- a/drivers/usb/host/xhci.c ++++ b/drivers/usb/host/xhci.c +@@ -486,6 +486,10 @@ static void compliance_mode_recovery(struct timer_list *t) + + xhci = from_timer(xhci, t, comp_mode_recovery_timer); + rhub = &xhci->usb3_rhub; ++ hcd = rhub->hcd; ++ ++ if (!hcd) ++ return; + + for (i = 0; i < rhub->num_ports; i++) { + temp = readl(rhub->ports[i]->addr); +@@ -499,7 +503,6 @@ static void compliance_mode_recovery(struct timer_list *t) + i + 1); + xhci_dbg_trace(xhci, trace_xhci_dbg_quirks, + "Attempting compliance mode recovery"); +- hcd = xhci->shared_hcd; + + if (hcd->state == HC_STATE_SUSPENDED) + usb_hcd_resume_root_hub(hcd); +@@ -612,14 +615,11 @@ static int xhci_run_finished(struct xhci_hcd *xhci) + xhci_halt(xhci); + return -ENODEV; + } +- xhci->shared_hcd->state = HC_STATE_RUNNING; + xhci->cmd_ring_state = CMD_RING_STATE_RUNNING; + + if (xhci->quirks & XHCI_NEC_HOST) + xhci_ring_cmd_db(xhci); + +- xhci_dbg_trace(xhci, trace_xhci_dbg_init, +- "Finished xhci_run for USB3 roothub"); + return 0; + } + +@@ -694,12 +694,15 @@ int xhci_run(struct usb_hcd *hcd) + xhci_free_command(xhci, command); + } + xhci_dbg_trace(xhci, trace_xhci_dbg_init, +- "Finished xhci_run for USB2 roothub"); ++ "Finished %s for main hcd", __func__); + + xhci_create_dbc_dev(xhci); + + xhci_debugfs_init(xhci); + ++ if (xhci_has_one_roothub(xhci)) ++ return xhci_run_finished(xhci); ++ + return 0; + } + EXPORT_SYMBOL_GPL(xhci_run); +@@ -992,7 +995,7 @@ int xhci_suspend(struct xhci_hcd *xhci, bool do_wakeup) + return 0; + + if (hcd->state != HC_STATE_SUSPENDED || +- xhci->shared_hcd->state != HC_STATE_SUSPENDED) ++ (xhci->shared_hcd && xhci->shared_hcd->state != HC_STATE_SUSPENDED)) + return -EINVAL; + + /* Clear root port wake on bits if wakeup not allowed. */ +@@ -1009,15 +1012,18 @@ int xhci_suspend(struct xhci_hcd *xhci, bool do_wakeup) + __func__, hcd->self.busnum); + clear_bit(HCD_FLAG_POLL_RH, &hcd->flags); + del_timer_sync(&hcd->rh_timer); +- clear_bit(HCD_FLAG_POLL_RH, &xhci->shared_hcd->flags); +- del_timer_sync(&xhci->shared_hcd->rh_timer); ++ if (xhci->shared_hcd) { ++ clear_bit(HCD_FLAG_POLL_RH, &xhci->shared_hcd->flags); ++ del_timer_sync(&xhci->shared_hcd->rh_timer); ++ } + + if (xhci->quirks & XHCI_SUSPEND_DELAY) + usleep_range(1000, 1500); + + spin_lock_irq(&xhci->lock); + clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); +- clear_bit(HCD_FLAG_HW_ACCESSIBLE, &xhci->shared_hcd->flags); ++ if (xhci->shared_hcd) ++ clear_bit(HCD_FLAG_HW_ACCESSIBLE, &xhci->shared_hcd->flags); + /* step 1: stop endpoint */ + /* skipped assuming that port suspend has done */ + +@@ -1117,7 +1123,8 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated) + msleep(100); + + set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); +- set_bit(HCD_FLAG_HW_ACCESSIBLE, &xhci->shared_hcd->flags); ++ if (xhci->shared_hcd) ++ set_bit(HCD_FLAG_HW_ACCESSIBLE, &xhci->shared_hcd->flags); + + spin_lock_irq(&xhci->lock); + +@@ -1177,7 +1184,8 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated) + + /* Let the USB core know _both_ roothubs lost power. */ + usb_root_hub_lost_power(xhci->main_hcd->self.root_hub); +- usb_root_hub_lost_power(xhci->shared_hcd->self.root_hub); ++ if (xhci->shared_hcd) ++ usb_root_hub_lost_power(xhci->shared_hcd->self.root_hub); + + xhci_dbg(xhci, "Stop HCD\n"); + xhci_halt(xhci); +@@ -1217,12 +1225,13 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated) + + xhci_dbg(xhci, "Start the primary HCD\n"); + retval = xhci_run(hcd->primary_hcd); +- if (!retval) { ++ if (!retval && secondary_hcd) { + xhci_dbg(xhci, "Start the secondary HCD\n"); + retval = xhci_run(secondary_hcd); + } + hcd->state = HC_STATE_SUSPENDED; +- xhci->shared_hcd->state = HC_STATE_SUSPENDED; ++ if (xhci->shared_hcd) ++ xhci->shared_hcd->state = HC_STATE_SUSPENDED; + goto done; + } + +@@ -1260,7 +1269,8 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated) + } + + if (pending_portevent) { +- usb_hcd_resume_root_hub(xhci->shared_hcd); ++ if (xhci->shared_hcd) ++ usb_hcd_resume_root_hub(xhci->shared_hcd); + usb_hcd_resume_root_hub(hcd); + } + } +@@ -1279,8 +1289,10 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated) + /* Re-enable port polling. */ + xhci_dbg(xhci, "%s: starting usb%d port polling.\n", + __func__, hcd->self.busnum); +- set_bit(HCD_FLAG_POLL_RH, &xhci->shared_hcd->flags); +- usb_hcd_poll_rh_status(xhci->shared_hcd); ++ if (xhci->shared_hcd) { ++ set_bit(HCD_FLAG_POLL_RH, &xhci->shared_hcd->flags); ++ usb_hcd_poll_rh_status(xhci->shared_hcd); ++ } + set_bit(HCD_FLAG_POLL_RH, &hcd->flags); + usb_hcd_poll_rh_status(hcd); + +@@ -5279,9 +5291,7 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) + + xhci = hcd_to_xhci(hcd); + +- if (usb_hcd_is_primary_hcd(hcd)) { +- xhci_hcd_init_usb2_data(xhci, hcd); +- } else { ++ if (!usb_hcd_is_primary_hcd(hcd)) { + xhci_hcd_init_usb3_data(xhci, hcd); + return 0; + } +@@ -5362,6 +5372,11 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) + return retval; + xhci_dbg(xhci, "Called HCD init\n"); + ++ if (xhci_hcd_is_usb3(hcd)) ++ xhci_hcd_init_usb3_data(xhci, hcd); ++ else ++ xhci_hcd_init_usb2_data(xhci, hcd); ++ + xhci_info(xhci, "hcc params 0x%08x hci version 0x%x quirks 0x%016llx\n", + xhci->hcc_params, xhci->hci_version, xhci->quirks); + +diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h +index 473a33ce299e..c792a3148e49 100644 +--- a/drivers/usb/host/xhci.h ++++ b/drivers/usb/host/xhci.h +@@ -1911,6 +1911,8 @@ struct xhci_hcd { + unsigned hw_lpm_support:1; + /* Broken Suspend flag for SNPS Suspend resume issue */ + unsigned broken_suspend:1; ++ /* Indicates that omitting hcd is supported if root hub has no ports */ ++ unsigned allow_single_roothub:1; + /* cached usb2 extened protocol capabilites */ + u32 *ext_caps; + unsigned int num_ext_caps; +@@ -1966,6 +1968,30 @@ static inline struct usb_hcd *xhci_to_hcd(struct xhci_hcd *xhci) + return xhci->main_hcd; + } + ++static inline struct usb_hcd *xhci_get_usb3_hcd(struct xhci_hcd *xhci) ++{ ++ if (xhci->shared_hcd) ++ return xhci->shared_hcd; ++ ++ if (!xhci->usb2_rhub.num_ports) ++ return xhci->main_hcd; ++ ++ return NULL; ++} ++ ++static inline bool xhci_hcd_is_usb3(struct usb_hcd *hcd) ++{ ++ struct xhci_hcd *xhci = hcd_to_xhci(hcd); ++ ++ return hcd == xhci_get_usb3_hcd(xhci); ++} ++ ++static inline bool xhci_has_one_roothub(struct xhci_hcd *xhci) ++{ ++ return xhci->allow_single_roothub && ++ (!xhci->usb2_rhub.num_ports || !xhci->usb3_rhub.num_ports); ++} ++ + #define xhci_dbg(xhci, fmt, args...) \ + dev_dbg(xhci_to_hcd(xhci)->self.controller , fmt , ## args) + #define xhci_err(xhci, fmt, args...) \ +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0027-FROMLIST-v2-usb-host-xhci-plat-create-shared-hcd-aft.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0027-FROMLIST-v2-usb-host-xhci-plat-create-shared-hcd-aft.patch new file mode 100644 index 0000000000..d242212159 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0027-FROMLIST-v2-usb-host-xhci-plat-create-shared-hcd-aft.patch @@ -0,0 +1,99 @@ +From e8676e5d5aa96d002541a5b0863de9a5a3f8163e Mon Sep 17 00:00:00 2001 +From: Heiner Kallweit +Date: Mon, 4 Apr 2022 19:00:18 +0000 +Subject: [PATCH 27/75] FROMLIST(v2): usb: host: xhci-plat: create shared hcd + after having added main hcd + +This patch is in preparation of an extension where in case of a +root hub with no ports no shared hcd will be created. +Whether one of the root hubs has no ports we figure our in +usb_add_hcd() for the primary hcd. Therefore create the shared hcd +only after this call. + +Signed-off-by: Heiner Kallweit +--- + drivers/usb/host/xhci-plat.c | 29 ++++++++++++++++------------- + 1 file changed, 16 insertions(+), 13 deletions(-) + +diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c +index 649ffd861b44..5d752b384de2 100644 +--- a/drivers/usb/host/xhci-plat.c ++++ b/drivers/usb/host/xhci-plat.c +@@ -283,12 +283,6 @@ static int xhci_plat_probe(struct platform_device *pdev) + device_set_wakeup_capable(&pdev->dev, true); + + xhci->main_hcd = hcd; +- xhci->shared_hcd = __usb_create_hcd(driver, sysdev, &pdev->dev, +- dev_name(&pdev->dev), hcd); +- if (!xhci->shared_hcd) { +- ret = -ENOMEM; +- goto disable_clk; +- } + + /* imod_interval is the interrupt moderation value in nanoseconds. */ + xhci->imod_interval = 40000; +@@ -313,16 +307,16 @@ static int xhci_plat_probe(struct platform_device *pdev) + if (IS_ERR(hcd->usb_phy)) { + ret = PTR_ERR(hcd->usb_phy); + if (ret == -EPROBE_DEFER) +- goto put_usb3_hcd; ++ goto disable_clk; + hcd->usb_phy = NULL; + } else { + ret = usb_phy_init(hcd->usb_phy); + if (ret) +- goto put_usb3_hcd; ++ goto disable_clk; + } + + hcd->tpl_support = of_usb_host_tpl_support(sysdev->of_node); +- xhci->shared_hcd->tpl_support = hcd->tpl_support; ++ + if (priv && (priv->quirks & XHCI_SKIP_PHY_INIT)) + hcd->skip_phy_initialization = 1; + +@@ -333,12 +327,21 @@ static int xhci_plat_probe(struct platform_device *pdev) + if (ret) + goto disable_usb_phy; + ++ xhci->shared_hcd = __usb_create_hcd(driver, sysdev, &pdev->dev, ++ dev_name(&pdev->dev), hcd); ++ if (!xhci->shared_hcd) { ++ ret = -ENOMEM; ++ goto dealloc_usb2_hcd; ++ } ++ ++ xhci->shared_hcd->tpl_support = hcd->tpl_support; ++ + if (HCC_MAX_PSA(xhci->hcc_params) >= 4) + xhci->shared_hcd->can_do_streams = 1; + + ret = usb_add_hcd(xhci->shared_hcd, irq, IRQF_SHARED); + if (ret) +- goto dealloc_usb2_hcd; ++ goto put_usb3_hcd; + + device_enable_async_suspend(&pdev->dev); + pm_runtime_put_noidle(&pdev->dev); +@@ -352,15 +355,15 @@ static int xhci_plat_probe(struct platform_device *pdev) + return 0; + + ++put_usb3_hcd: ++ usb_put_hcd(xhci->shared_hcd); ++ + dealloc_usb2_hcd: + usb_remove_hcd(hcd); + + disable_usb_phy: + usb_phy_shutdown(hcd->usb_phy); + +-put_usb3_hcd: +- usb_put_hcd(xhci->shared_hcd); +- + disable_clk: + clk_disable_unprepare(xhci->clk); + +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0028-FROMLIST-v2-usb-host-xhci-plat-prepare-operation-w-o.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0028-FROMLIST-v2-usb-host-xhci-plat-prepare-operation-w-o.patch new file mode 100644 index 0000000000..380a95b07d --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0028-FROMLIST-v2-usb-host-xhci-plat-prepare-operation-w-o.patch @@ -0,0 +1,66 @@ +From 3664f1ee62e7ea3c4e953b8ad4e4f2efd20acc2f Mon Sep 17 00:00:00 2001 +From: Heiner Kallweit +Date: Mon, 4 Apr 2022 19:01:08 +0000 +Subject: [PATCH 28/75] FROMLIST(v2): usb: host: xhci-plat: prepare operation + w/o shared hcd + +Signed-off-by: Christian Hewitt +--- + drivers/usb/host/xhci-plat.c | 31 ++++++++++++++++++------------- + 1 file changed, 18 insertions(+), 13 deletions(-) + +diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c +index 5d752b384de2..c512ec2148ae 100644 +--- a/drivers/usb/host/xhci-plat.c ++++ b/drivers/usb/host/xhci-plat.c +@@ -180,7 +180,7 @@ static int xhci_plat_probe(struct platform_device *pdev) + struct device *sysdev, *tmpdev; + struct xhci_hcd *xhci; + struct resource *res; +- struct usb_hcd *hcd; ++ struct usb_hcd *hcd, *usb3_hcd; + int ret; + int irq; + struct xhci_plat_priv *priv = NULL; +@@ -327,21 +327,26 @@ static int xhci_plat_probe(struct platform_device *pdev) + if (ret) + goto disable_usb_phy; + +- xhci->shared_hcd = __usb_create_hcd(driver, sysdev, &pdev->dev, +- dev_name(&pdev->dev), hcd); +- if (!xhci->shared_hcd) { +- ret = -ENOMEM; +- goto dealloc_usb2_hcd; +- } ++ if (!xhci_has_one_roothub(xhci)) { ++ xhci->shared_hcd = __usb_create_hcd(driver, sysdev, &pdev->dev, ++ dev_name(&pdev->dev), hcd); ++ if (!xhci->shared_hcd) { ++ ret = -ENOMEM; ++ goto dealloc_usb2_hcd; ++ } + +- xhci->shared_hcd->tpl_support = hcd->tpl_support; ++ xhci->shared_hcd->tpl_support = hcd->tpl_support; ++ } + +- if (HCC_MAX_PSA(xhci->hcc_params) >= 4) +- xhci->shared_hcd->can_do_streams = 1; ++ usb3_hcd = xhci_get_usb3_hcd(xhci); ++ if (usb3_hcd && HCC_MAX_PSA(xhci->hcc_params) >= 4) ++ usb3_hcd->can_do_streams = 1; + +- ret = usb_add_hcd(xhci->shared_hcd, irq, IRQF_SHARED); +- if (ret) +- goto put_usb3_hcd; ++ if (xhci->shared_hcd) { ++ ret = usb_add_hcd(xhci->shared_hcd, irq, IRQF_SHARED); ++ if (ret) ++ goto put_usb3_hcd; ++ } + + device_enable_async_suspend(&pdev->dev); + pm_runtime_put_noidle(&pdev->dev); +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMLIST-v1-pwm-meson-Drop-always-false-check-from-..patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMLIST-v1-pwm-meson-Drop-always-false-check-from-..patch deleted file mode 100644 index cc1ad02114..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMLIST-v1-pwm-meson-Drop-always-false-check-from-..patch +++ /dev/null @@ -1,44 +0,0 @@ -From 16be516cd74d7653bbc323aa263de191487519c4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= -Date: Sat, 27 Nov 2021 07:29:18 +0000 -Subject: [PATCH 29/90] FROMLIST(v1): pwm: meson: Drop always false check from - .request() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -In .request() pwm_get_chip_data() returns NULL always since commit -e926b12c611c ("pwm: Clear chip_data in pwm_put()"). (And if it didn't -returning 0 would be wrong because then .request() wouldn't reenable -the clk which the other driver code depends on.) - -Signed-off-by: Uwe Kleine-König ---- - drivers/pwm/pwm-meson.c | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c -index 3cf3bcf5ddfc..be3c806b57e4 100644 ---- a/drivers/pwm/pwm-meson.c -+++ b/drivers/pwm/pwm-meson.c -@@ -120,16 +120,10 @@ static inline struct meson_pwm *to_meson_pwm(struct pwm_chip *chip) - static int meson_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) - { - struct meson_pwm *meson = to_meson_pwm(chip); -- struct meson_pwm_channel *channel; -+ struct meson_pwm_channel *channel = &meson->channels[pwm->hwpwm]; - struct device *dev = chip->dev; - int err; - -- channel = pwm_get_chip_data(pwm); -- if (channel) -- return 0; -- -- channel = &meson->channels[pwm->hwpwm]; -- - if (channel->clk_parent) { - err = clk_set_parent(channel->clk, channel->clk_parent); - if (err < 0) { --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMLIST-v2-usb-host-xhci-plat-omit-shared-hcd-if-ei.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMLIST-v2-usb-host-xhci-plat-omit-shared-hcd-if-ei.patch new file mode 100644 index 0000000000..b2906fc273 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0029-FROMLIST-v2-usb-host-xhci-plat-omit-shared-hcd-if-ei.patch @@ -0,0 +1,30 @@ +From c3a2888344e4954412e69d0fc6599a2b075f0793 Mon Sep 17 00:00:00 2001 +From: Heiner Kallweit +Date: Mon, 4 Apr 2022 19:01:52 +0000 +Subject: [PATCH 29/75] FROMLIST(v2): usb: host: xhci-plat: omit shared hcd if + either root hub has no ports + +Activate the just added extension for xhci-plat and omit the shared +hcd if either of the root hubs has no ports. + +Signed-off-by: Heiner Kallweit +--- + drivers/usb/host/xhci-plat.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c +index c512ec2148ae..044855818cb1 100644 +--- a/drivers/usb/host/xhci-plat.c ++++ b/drivers/usb/host/xhci-plat.c +@@ -245,6 +245,8 @@ static int xhci_plat_probe(struct platform_device *pdev) + + xhci = hcd_to_xhci(hcd); + ++ xhci->allow_single_roothub = 1; ++ + /* + * Not all platforms have clks so it is not an error if the + * clock do not exist. +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMLIST-v1-pwm-meson-Drop-useless-check-for-channel.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMLIST-v1-pwm-meson-Drop-useless-check-for-channel.patch deleted file mode 100644 index 083847b696..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMLIST-v1-pwm-meson-Drop-useless-check-for-channel.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 3abd335c1765a2aa6ecfc504574a27d02fc66d07 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= -Date: Sat, 27 Nov 2021 07:30:03 +0000 -Subject: [PATCH 30/90] FROMLIST(v1): pwm: meson: Drop useless check for - channel data being NULL -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -In meson_pwm_free() the function pwm_get_chip_data() always returns a -non-NULL pointer because it's only called when the request callback -succeeded and this callback calls pwm_set_chip_data() in this case. - -Signed-off-by: Uwe Kleine-König ---- - drivers/pwm/pwm-meson.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c -index be3c806b57e4..1fbe54a2abfe 100644 ---- a/drivers/pwm/pwm-meson.c -+++ b/drivers/pwm/pwm-meson.c -@@ -148,8 +148,7 @@ static void meson_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) - { - struct meson_pwm_channel *channel = pwm_get_chip_data(pwm); - -- if (channel) -- clk_disable_unprepare(channel->clk); -+ clk_disable_unprepare(channel->clk); - } - - static int meson_pwm_calc(struct meson_pwm *meson, struct pwm_device *pwm, --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMLIST-v2-i2c-meson-Use-_SHIFT-and-_MASK-for-regis.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMLIST-v2-i2c-meson-Use-_SHIFT-and-_MASK-for-regis.patch new file mode 100644 index 0000000000..7d4402eed0 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMLIST-v2-i2c-meson-Use-_SHIFT-and-_MASK-for-regis.patch @@ -0,0 +1,90 @@ +From a0ae584a106faa1717fe909918a539da58cfff67 Mon Sep 17 00:00:00 2001 +From: Lucas Tanure +Date: Sun, 10 Apr 2022 09:48:48 +0000 +Subject: [PATCH 30/75] FROMLIST(v2): i2c: meson: Use _SHIFT and _MASK for + register definitions + +Differentiate between masks and shifts + +Signed-off-by: Lucas Tanure +--- + drivers/i2c/busses/i2c-meson.c | 41 ++++++++++++++++++---------------- + 1 file changed, 22 insertions(+), 19 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-meson.c b/drivers/i2c/busses/i2c-meson.c +index 07eb819072c4..4b4a5b2d77ab 100644 +--- a/drivers/i2c/busses/i2c-meson.c ++++ b/drivers/i2c/busses/i2c-meson.c +@@ -30,18 +30,21 @@ + #define REG_TOK_RDATA1 0x1c + + /* Control register fields */ +-#define REG_CTRL_START BIT(0) +-#define REG_CTRL_ACK_IGNORE BIT(1) +-#define REG_CTRL_STATUS BIT(2) +-#define REG_CTRL_ERROR BIT(3) +-#define REG_CTRL_CLKDIV GENMASK(21, 12) +-#define REG_CTRL_CLKDIVEXT GENMASK(29, 28) +- +-#define REG_SLV_ADDR GENMASK(7, 0) +-#define REG_SLV_SDA_FILTER GENMASK(10, 8) +-#define REG_SLV_SCL_FILTER GENMASK(13, 11) +-#define REG_SLV_SCL_LOW GENMASK(27, 16) +-#define REG_SLV_SCL_LOW_EN BIT(28) ++#define REG_CTRL_START BIT(0) ++#define REG_CTRL_ACK_IGNORE BIT(1) ++#define REG_CTRL_STATUS BIT(2) ++#define REG_CTRL_ERROR BIT(3) ++#define REG_CTRL_CLKDIV_SHIFT 12 ++#define REG_CTRL_CLKDIV_MASK GENMASK(21, REG_CTRL_CLKDIV_SHIFT) ++#define REG_CTRL_CLKDIVEXT_SHIFT 28 ++#define REG_CTRL_CLKDIVEXT_MASK GENMASK(29, REG_CTRL_CLKDIVEXT_SHIFT) ++ ++#define REG_SLV_ADDR_MASK GENMASK(7, 0) ++#define REG_SLV_SDA_FILTER_MASK GENMASK(10, 8) ++#define REG_SLV_SCL_FILTER_MASK GENMASK(13, 11) ++#define REG_SLV_SCL_LOW_SHIFT 16 ++#define REG_SLV_SCL_LOW_MASK GENMASK(27, REG_SLV_SCL_LOW_SHIFT) ++#define REG_SLV_SCL_LOW_EN BIT(28) + + #define I2C_TIMEOUT_MS 500 + #define FILTER_DELAY 15 +@@ -149,11 +152,11 @@ static void meson_i2c_set_clk_div(struct meson_i2c *i2c, unsigned int freq) + div = GENMASK(11, 0); + } + +- meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIV, +- FIELD_PREP(REG_CTRL_CLKDIV, div & GENMASK(9, 0))); ++ meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIV_MASK, ++ FIELD_PREP(REG_CTRL_CLKDIV_MASK, div & GENMASK(9, 0))); + +- meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIVEXT, +- FIELD_PREP(REG_CTRL_CLKDIVEXT, div >> 10)); ++ meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIVEXT_MASK, ++ FIELD_PREP(REG_CTRL_CLKDIVEXT_MASK, div >> 10)); + + /* Disable HIGH/LOW mode */ + meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, REG_SLV_SCL_LOW_EN, 0); +@@ -292,8 +295,8 @@ static void meson_i2c_do_start(struct meson_i2c *i2c, struct i2c_msg *msg) + TOKEN_SLAVE_ADDR_WRITE; + + +- meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, REG_SLV_ADDR, +- FIELD_PREP(REG_SLV_ADDR, msg->addr << 1)); ++ meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, REG_SLV_ADDR_MASK, ++ FIELD_PREP(REG_SLV_ADDR_MASK, msg->addr << 1)); + + meson_i2c_add_token(i2c, TOKEN_START); + meson_i2c_add_token(i2c, token); +@@ -467,7 +470,7 @@ static int meson_i2c_probe(struct platform_device *pdev) + + /* Disable filtering */ + meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, +- REG_SLV_SDA_FILTER | REG_SLV_SCL_FILTER, 0); ++ REG_SLV_SDA_FILTER_MASK | REG_SLV_SCL_FILTER_MASK, 0); + + meson_i2c_set_clk_div(i2c, timings.bus_freq_hz); + +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMLIST-v1-pwm-meson-Simplify-duplicated-per-channe.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMLIST-v1-pwm-meson-Simplify-duplicated-per-channe.patch deleted file mode 100644 index 6cfbd8e3cc..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMLIST-v1-pwm-meson-Simplify-duplicated-per-channe.patch +++ /dev/null @@ -1,70 +0,0 @@ -From af595b31dff2af751a53aae0b83de9569c75b238 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= -Date: Sat, 27 Nov 2021 07:31:03 +0000 -Subject: [PATCH 31/90] FROMLIST(v1): pwm: meson: Simplify duplicated - per-channel tracking -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The driver tracks per-channel data via struct pwm_device::chip_data and -struct meson_pwm::channels[]. The latter holds the actual data, the former -is only a pointer to the latter. So simplify by using struct -meson_pwm::channels[] consistently. - -Signed-off-by: Uwe Kleine-König ---- - drivers/pwm/pwm-meson.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c -index 1fbe54a2abfe..908e314c7c00 100644 ---- a/drivers/pwm/pwm-meson.c -+++ b/drivers/pwm/pwm-meson.c -@@ -141,12 +141,13 @@ static int meson_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) - return err; - } - -- return pwm_set_chip_data(pwm, channel); -+ return 0; - } - - static void meson_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) - { -- struct meson_pwm_channel *channel = pwm_get_chip_data(pwm); -+ struct meson_pwm *meson = to_meson_pwm(chip); -+ struct meson_pwm_channel *channel = &meson->channels[pwm->hwpwm]; - - clk_disable_unprepare(channel->clk); - } -@@ -154,7 +155,7 @@ static void meson_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) - static int meson_pwm_calc(struct meson_pwm *meson, struct pwm_device *pwm, - const struct pwm_state *state) - { -- struct meson_pwm_channel *channel = pwm_get_chip_data(pwm); -+ struct meson_pwm_channel *channel = &meson->channels[pwm->hwpwm]; - unsigned int duty, period, pre_div, cnt, duty_cnt; - unsigned long fin_freq; - -@@ -217,7 +218,7 @@ static int meson_pwm_calc(struct meson_pwm *meson, struct pwm_device *pwm, - - static void meson_pwm_enable(struct meson_pwm *meson, struct pwm_device *pwm) - { -- struct meson_pwm_channel *channel = pwm_get_chip_data(pwm); -+ struct meson_pwm_channel *channel = &meson->channels[pwm->hwpwm]; - struct meson_pwm_channel_data *channel_data; - unsigned long flags; - u32 value; -@@ -260,8 +261,8 @@ static void meson_pwm_disable(struct meson_pwm *meson, struct pwm_device *pwm) - static int meson_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm, - const struct pwm_state *state) - { -- struct meson_pwm_channel *channel = pwm_get_chip_data(pwm); - struct meson_pwm *meson = to_meson_pwm(chip); -+ struct meson_pwm_channel *channel = &meson->channels[pwm->hwpwm]; - int err = 0; - - if (!state) --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMLIST-v2-i2c-meson-Use-50-duty-cycle-for-I2C-cloc.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMLIST-v2-i2c-meson-Use-50-duty-cycle-for-I2C-cloc.patch new file mode 100644 index 0000000000..424e4ddb4c --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0031-FROMLIST-v2-i2c-meson-Use-50-duty-cycle-for-I2C-cloc.patch @@ -0,0 +1,143 @@ +From 23e52264e449d1e7de766c6e4f93aa72f1051e69 Mon Sep 17 00:00:00 2001 +From: Lucas Tanure +Date: Sun, 10 Apr 2022 09:50:15 +0000 +Subject: [PATCH 31/75] FROMLIST(v2): i2c: meson: Use 50% duty cycle for I2C + clock + +The duty cycle of 33% is less than the required +by the I2C specs for the LOW period of the SCL +clock. + +Move the duty cyle to 50% for 100Khz or lower +clocks, and (40% High SCL / 60% Low SCL) duty +cycle for clocks above 100Khz. + +Signed-off-by: Lucas Tanure +--- + drivers/i2c/busses/i2c-meson.c | 70 +++++++++++++++++++++++++++++----- + 1 file changed, 60 insertions(+), 10 deletions(-) + +diff --git a/drivers/i2c/busses/i2c-meson.c b/drivers/i2c/busses/i2c-meson.c +index 4b4a5b2d77ab..50dab123380a 100644 +--- a/drivers/i2c/busses/i2c-meson.c ++++ b/drivers/i2c/busses/i2c-meson.c +@@ -65,10 +65,6 @@ enum { + STATE_WRITE, + }; + +-struct meson_i2c_data { +- unsigned char div_factor; +-}; +- + /** + * struct meson_i2c - Meson I2C device private data + * +@@ -109,6 +105,10 @@ struct meson_i2c { + const struct meson_i2c_data *data; + }; + ++struct meson_i2c_data { ++ void (*set_clk_div)(struct meson_i2c *i2c, unsigned int freq); ++}; ++ + static void meson_i2c_set_mask(struct meson_i2c *i2c, int reg, u32 mask, + u32 val) + { +@@ -137,14 +137,62 @@ static void meson_i2c_add_token(struct meson_i2c *i2c, int token) + i2c->num_tokens++; + } + +-static void meson_i2c_set_clk_div(struct meson_i2c *i2c, unsigned int freq) ++static void meson_gxbb_axg_i2c_set_clk_div(struct meson_i2c *i2c, unsigned int freq) ++{ ++ unsigned long clk_rate = clk_get_rate(i2c->clk); ++ unsigned int div_h, div_l; ++ ++ /* According to I2C-BUS Spec 2.1, in FAST-MODE, the minimum LOW period is 1.3uS, and ++ * minimum HIGH is least 0.6us. ++ * For 400000 freq, the period is 2.5us. To keep within the specs, give 40% of period to ++ * HIGH and 60% to LOW. This means HIGH at 1.0us and LOW 1.5us. ++ * The same applies for Fast-mode plus, where LOW is 0.5us and HIGH is 0.26us. ++ * Duty = H/(H + L) = 2/5 ++ */ ++ if (freq <= I2C_MAX_STANDARD_MODE_FREQ) { ++ div_h = DIV_ROUND_UP(clk_rate, freq); ++ div_l = DIV_ROUND_UP(div_h, 4); ++ div_h = DIV_ROUND_UP(div_h, 2) - FILTER_DELAY; ++ } else { ++ div_h = DIV_ROUND_UP(clk_rate * 2, freq * 5) - FILTER_DELAY; ++ div_l = DIV_ROUND_UP(clk_rate * 3, freq * 5 * 2); ++ } ++ ++ /* clock divider has 12 bits */ ++ if (div_h > GENMASK(11, 0)) { ++ dev_err(i2c->dev, "requested bus frequency too low\n"); ++ div_h = GENMASK(11, 0); ++ } ++ if (div_l > GENMASK(11, 0)) { ++ dev_err(i2c->dev, "requested bus frequency too low\n"); ++ div_l = GENMASK(11, 0); ++ } ++ ++ meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIV_MASK, ++ FIELD_PREP(REG_CTRL_CLKDIV_MASK, div_h & GENMASK(9, 0))); ++ ++ meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIVEXT_MASK, ++ FIELD_PREP(REG_CTRL_CLKDIVEXT_MASK, div_h >> 10)); ++ ++ /* set SCL low delay */ ++ meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, REG_SLV_SCL_LOW_MASK, ++ FIELD_PREP(REG_SLV_SCL_LOW_MASK, div_l)); ++ ++ /* Enable HIGH/LOW mode */ ++ meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, REG_SLV_SCL_LOW_EN, REG_SLV_SCL_LOW_EN); ++ ++ dev_dbg(i2c->dev, "%s: clk %lu, freq %u, divh %u, divl %u\n", __func__, ++ clk_rate, freq, div_h, div_l); ++} ++ ++static void meson6_i2c_set_clk_div(struct meson_i2c *i2c, unsigned int freq) + { + unsigned long clk_rate = clk_get_rate(i2c->clk); + unsigned int div; + + div = DIV_ROUND_UP(clk_rate, freq); + div -= FILTER_DELAY; +- div = DIV_ROUND_UP(div, i2c->data->div_factor); ++ div = DIV_ROUND_UP(div, 4); + + /* clock divider has 12 bits */ + if (div > GENMASK(11, 0)) { +@@ -472,7 +520,9 @@ static int meson_i2c_probe(struct platform_device *pdev) + meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, + REG_SLV_SDA_FILTER_MASK | REG_SLV_SCL_FILTER_MASK, 0); + +- meson_i2c_set_clk_div(i2c, timings.bus_freq_hz); ++ if (!i2c->data->set_clk_div) ++ return -EINVAL; ++ i2c->data->set_clk_div(i2c, timings.bus_freq_hz); + + ret = i2c_add_adapter(&i2c->adap); + if (ret < 0) { +@@ -494,15 +544,15 @@ static int meson_i2c_remove(struct platform_device *pdev) + } + + static const struct meson_i2c_data i2c_meson6_data = { +- .div_factor = 4, ++ .set_clk_div = meson6_i2c_set_clk_div, + }; + + static const struct meson_i2c_data i2c_gxbb_data = { +- .div_factor = 4, ++ .set_clk_div = meson_gxbb_axg_i2c_set_clk_div, + }; + + static const struct meson_i2c_data i2c_axg_data = { +- .div_factor = 3, ++ .set_clk_div = meson_gxbb_axg_i2c_set_clk_div, + }; + + static const struct of_device_id meson_i2c_match[] = { +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMLIST-v1-mmc-meson-gx-switch-to-device-managed-dm.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMLIST-v1-mmc-meson-gx-switch-to-device-managed-dm.patch new file mode 100644 index 0000000000..5c4d43a1a4 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMLIST-v1-mmc-meson-gx-switch-to-device-managed-dm.patch @@ -0,0 +1,73 @@ +From 28c487d0757b872d9dbeba4a2064de0c3d6da3bf Mon Sep 17 00:00:00 2001 +From: Heiner Kallweit +Date: Sun, 17 Apr 2022 05:34:29 +0000 +Subject: [PATCH 32/75] FROMLIST(v1): mmc: meson-gx: switch to device-managed + dmam_alloc_coherent() + +Using the device-managed version allows to simplify clean-up in probe() +error path and remove(). + +Signed-off-by: Heiner Kallweit +--- + drivers/mmc/host/meson-gx-mmc.c | 21 +++++---------------- + 1 file changed, 5 insertions(+), 16 deletions(-) + +diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c +index 1a11a4bf4d4f..f2ff19ff8e9d 100644 +--- a/drivers/mmc/host/meson-gx-mmc.c ++++ b/drivers/mmc/host/meson-gx-mmc.c +@@ -1271,8 +1271,8 @@ static int meson_mmc_probe(struct platform_device *pdev) + /* data bounce buffer */ + host->bounce_buf_size = mmc->max_req_size; + host->bounce_buf = +- dma_alloc_coherent(host->dev, host->bounce_buf_size, +- &host->bounce_dma_addr, GFP_KERNEL); ++ dmam_alloc_coherent(host->dev, host->bounce_buf_size, ++ &host->bounce_dma_addr, GFP_KERNEL); + if (host->bounce_buf == NULL) { + dev_err(host->dev, "Unable to map allocate DMA bounce buffer.\n"); + ret = -ENOMEM; +@@ -1280,12 +1280,12 @@ static int meson_mmc_probe(struct platform_device *pdev) + } + } + +- host->descs = dma_alloc_coherent(host->dev, SD_EMMC_DESC_BUF_LEN, +- &host->descs_dma_addr, GFP_KERNEL); ++ host->descs = dmam_alloc_coherent(host->dev, SD_EMMC_DESC_BUF_LEN, ++ &host->descs_dma_addr, GFP_KERNEL); + if (!host->descs) { + dev_err(host->dev, "Allocating descriptor DMA buffer failed\n"); + ret = -ENOMEM; +- goto err_bounce_buf; ++ goto err_free_irq; + } + + mmc->ops = &meson_mmc_ops; +@@ -1293,10 +1293,6 @@ static int meson_mmc_probe(struct platform_device *pdev) + + return 0; + +-err_bounce_buf: +- if (!host->dram_access_quirk) +- dma_free_coherent(host->dev, host->bounce_buf_size, +- host->bounce_buf, host->bounce_dma_addr); + err_free_irq: + free_irq(host->irq, host); + err_init_clk: +@@ -1318,13 +1314,6 @@ static int meson_mmc_remove(struct platform_device *pdev) + writel(0, host->regs + SD_EMMC_IRQ_EN); + free_irq(host->irq, host); + +- dma_free_coherent(host->dev, SD_EMMC_DESC_BUF_LEN, +- host->descs, host->descs_dma_addr); +- +- if (!host->dram_access_quirk) +- dma_free_coherent(host->dev, host->bounce_buf_size, +- host->bounce_buf, host->bounce_dma_addr); +- + clk_disable_unprepare(host->mmc_clk); + clk_disable_unprepare(host->core_clk); + +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMLIST-v1-pwm-meson-Drop-always-false-check-from-..patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMLIST-v1-pwm-meson-Drop-always-false-check-from-..patch deleted file mode 100644 index e03a80c70c..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMLIST-v1-pwm-meson-Drop-always-false-check-from-..patch +++ /dev/null @@ -1,34 +0,0 @@ -From 5d2b0c8f838a3a7dbf761e5b7fb1fb08f4df5160 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= -Date: Sat, 27 Nov 2021 07:32:18 +0000 -Subject: [PATCH 32/90] FROMLIST(v1): pwm: meson: Drop always false check from - .apply() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The pwm core only calls the apply callback with a valid state pointer, -so don't repeat this check already done in the core. - -Signed-off-by: Uwe Kleine-König ---- - drivers/pwm/pwm-meson.c | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c -index 908e314c7c00..57112f438c6d 100644 ---- a/drivers/pwm/pwm-meson.c -+++ b/drivers/pwm/pwm-meson.c -@@ -265,9 +265,6 @@ static int meson_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm, - struct meson_pwm_channel *channel = &meson->channels[pwm->hwpwm]; - int err = 0; - -- if (!state) -- return -EINVAL; -- - if (!state->enabled) { - if (state->polarity == PWM_POLARITY_INVERSED) { - /* --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMLIST-v1-serial-meson-acquire-port-lock-in-startu.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMLIST-v1-serial-meson-acquire-port-lock-in-startu.patch new file mode 100644 index 0000000000..60b91d65b3 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMLIST-v1-serial-meson-acquire-port-lock-in-startu.patch @@ -0,0 +1,90 @@ +From 462a86b58839bfed1488889f4162d917329f537a Mon Sep 17 00:00:00 2001 +From: John Ogness +Date: Mon, 9 May 2022 09:33:17 +0000 +Subject: [PATCH 33/75] FROMLIST(v1): serial: meson: acquire port->lock in + startup() + +The uart_ops startup() callback is called without interrupts +disabled and without port->lock locked, relatively late during the +boot process (from the call path of console_on_rootfs()). If the +device is a console, it was already previously registered and could +be actively printing messages. + +Since the startup() callback is reading/writing registers used by +the console write() callback (AML_UART_CONTROL), its access must +be synchronized using the port->lock. Currently it is not. + +The startup() callback is the only function that explicitly enables +interrupts. Without the synchronization, it is possible that +interrupts become accidentally permanently disabled. + +CPU0 CPU1 +meson_serial_console_write meson_uart_startup +-------------------------- ------------------ +spin_lock(port->lock) +val = readl(AML_UART_CONTROL) +uart_console_write() + writel(INT_EN, AML_UART_CONTROL) +writel(val, AML_UART_CONTROL) +spin_unlock(port->lock) + +Add port->lock synchronization to meson_uart_startup() to avoid +racing with meson_serial_console_write(). + +Also add detailed comments to meson_uart_reset() explaining why it +is *not* using port->lock synchronization. + +Fixes: ff7693d079e5 ("ARM: meson: serial: add MesonX SoC on-chip uart driver") +Reported-by: Marek Szyprowski +Signed-off-by: John Ogness +Tested-by: Marek Szyprowski +Reviewed-by: Jiri Slaby +Acked-by: Neil Armstrong +--- + drivers/tty/serial/meson_uart.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c +index 2bf1c57e0981..39021dac09cc 100644 +--- a/drivers/tty/serial/meson_uart.c ++++ b/drivers/tty/serial/meson_uart.c +@@ -253,6 +253,14 @@ static const char *meson_uart_type(struct uart_port *port) + return (port->type == PORT_MESON) ? "meson_uart" : NULL; + } + ++/* ++ * This function is called only from probe() using a temporary io mapping ++ * in order to perform a reset before setting up the device. Since the ++ * temporarily mapped region was successfully requested, there can be no ++ * console on this port at this time. Hence it is not necessary for this ++ * function to acquire the port->lock. (Since there is no console on this ++ * port at this time, the port->lock is not initialized yet.) ++ */ + static void meson_uart_reset(struct uart_port *port) + { + u32 val; +@@ -267,9 +275,12 @@ static void meson_uart_reset(struct uart_port *port) + + static int meson_uart_startup(struct uart_port *port) + { ++ unsigned long flags; + u32 val; + int ret = 0; + ++ spin_lock_irqsave(&port->lock, flags); ++ + val = readl(port->membase + AML_UART_CONTROL); + val |= AML_UART_CLEAR_ERR; + writel(val, port->membase + AML_UART_CONTROL); +@@ -285,6 +296,8 @@ static int meson_uart_startup(struct uart_port *port) + val = (AML_UART_RECV_IRQ(1) | AML_UART_XMIT_IRQ(port->fifosize / 2)); + writel(val, port->membase + AML_UART_MISC); + ++ spin_unlock_irqrestore(&port->lock, flags); ++ + ret = request_irq(port->irq, meson_uart_interrupt, 0, + port->name, port); + +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMLIST-v4-phy-amlogic-phy-meson-gxl-usb2-fix-share.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMLIST-v4-phy-amlogic-phy-meson-gxl-usb2-fix-share.patch deleted file mode 100644 index 7bb6ed9c46..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMLIST-v4-phy-amlogic-phy-meson-gxl-usb2-fix-share.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 44db0a603f48f39f5bb38ffd1b173d7c7036357b Mon Sep 17 00:00:00 2001 -From: Amjad Ouled-Ameur -Date: Mon, 6 Dec 2021 04:25:36 +0000 -Subject: [PATCH 33/90] FROMLIST(v4): phy: amlogic: phy-meson-gxl-usb2: fix - shared reset controller use - -Use reset_control_rearm() call if an error occurs in case -phy_meson_gxl_usb2_init() fails after reset() has been called ; or in case -phy_meson_gxl_usb2_exit() is called i.e the resource is no longer used -and the reset line may be triggered again by other devices. - -reset_control_rearm() keeps use of triggered_count sane in the reset -framework. Therefore, use of reset_control_reset() on shared reset line -should be balanced with reset_control_rearm(). - -Signed-off-by: Amjad Ouled-Ameur -Reported-by: Jerome Brunet ---- - drivers/phy/amlogic/phy-meson-gxl-usb2.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/phy/amlogic/phy-meson-gxl-usb2.c b/drivers/phy/amlogic/phy-meson-gxl-usb2.c -index 2b3c0d730f20..d2f56075dc57 100644 ---- a/drivers/phy/amlogic/phy-meson-gxl-usb2.c -+++ b/drivers/phy/amlogic/phy-meson-gxl-usb2.c -@@ -125,6 +125,7 @@ static int phy_meson_gxl_usb2_exit(struct phy *phy) - struct phy_meson_gxl_usb2_priv *priv = phy_get_drvdata(phy); - - clk_disable_unprepare(priv->clk); -+ reset_control_rearm(priv->reset); - - return 0; - } --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMLIST-v1-drm-meson-add-YUV422-output-support.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMLIST-v1-drm-meson-add-YUV422-output-support.patch new file mode 100644 index 0000000000..c110350570 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMLIST-v1-drm-meson-add-YUV422-output-support.patch @@ -0,0 +1,53 @@ +From db6c49de494561d79bc0e75d30812e3e72769b2a Mon Sep 17 00:00:00 2001 +From: Dongjin Kim +Date: Mon, 16 May 2022 05:46:15 +0000 +Subject: [PATCH 34/75] FROMLIST(v1): drm/meson: add YUV422 output support + +Support YUV422 output from the Amlogic Meson SoC VPU to the HDMI +controller. Without this YUV422 format out of the HDMI encoder +leads to using the dw-hdmi YUV444 to YUV422 color conversion which +gives wrong colors and a green line on the left edge of the screen. + +Signed-off-by: Dongjin Kim +Signed-off-by: Christian Hewitt +Tested-by: Furkan Kardame +--- + drivers/gpu/drm/meson/meson_encoder_hdmi.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/meson/meson_encoder_hdmi.c b/drivers/gpu/drm/meson/meson_encoder_hdmi.c +index 5e306de6f485..08529efb4405 100644 +--- a/drivers/gpu/drm/meson/meson_encoder_hdmi.c ++++ b/drivers/gpu/drm/meson/meson_encoder_hdmi.c +@@ -218,7 +218,8 @@ static void meson_encoder_hdmi_atomic_enable(struct drm_bridge *bridge, + if (encoder_hdmi->output_bus_fmt == MEDIA_BUS_FMT_UYYVYY8_0_5X24) { + ycrcb_map = VPU_HDMI_OUTPUT_CRYCB; + yuv420_mode = true; +- } ++ } else if (encoder_hdmi->output_bus_fmt == MEDIA_BUS_FMT_UYVY8_1X16) ++ ycrcb_map = VPU_HDMI_OUTPUT_CRYCB; + + /* VENC + VENC-DVI Mode setup */ + meson_venc_hdmi_mode_set(priv, vic, ycrcb_map, yuv420_mode, mode); +@@ -230,6 +231,10 @@ static void meson_encoder_hdmi_atomic_enable(struct drm_bridge *bridge, + /* Setup YUV420 to HDMI-TX, no 10bit diphering */ + writel_relaxed(2 | (2 << 2), + priv->io_base + _REG(VPU_HDMI_FMT_CTRL)); ++ else if (encoder_hdmi->output_bus_fmt == MEDIA_BUS_FMT_UYVY8_1X16) ++ /* Setup YUV422 to HDMI-TX, no 10bit diphering */ ++ writel_relaxed(1 | (2 << 2), ++ priv->io_base + _REG(VPU_HDMI_FMT_CTRL)); + else + /* Setup YUV444 to HDMI-TX, no 10bit diphering */ + writel_relaxed(0, priv->io_base + _REG(VPU_HDMI_FMT_CTRL)); +@@ -257,6 +262,7 @@ static void meson_encoder_hdmi_atomic_disable(struct drm_bridge *bridge, + + static const u32 meson_encoder_hdmi_out_bus_fmts[] = { + MEDIA_BUS_FMT_YUV8_1X24, ++ MEDIA_BUS_FMT_UYVY8_1X16, + MEDIA_BUS_FMT_UYYVYY8_0_5X24, + }; + +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMLIST-v4-phy-amlogic-meson8b-usb2-Use-dev_err_pro.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMLIST-v4-phy-amlogic-meson8b-usb2-Use-dev_err_pro.patch deleted file mode 100644 index f731b4a682..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMLIST-v4-phy-amlogic-meson8b-usb2-Use-dev_err_pro.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 2639df70052725a687b1bd5c2db17af72a02cf12 Mon Sep 17 00:00:00 2001 -From: Amjad Ouled-Ameur -Date: Mon, 6 Dec 2021 04:26:22 +0000 -Subject: [PATCH 34/90] FROMLIST(v4): phy: amlogic: meson8b-usb2: Use - dev_err_probe() - -Use the existing dev_err_probe() helper instead of open-coding the same -operation. - -Signed-off-by: Amjad Ouled-Ameur -Reported-by: Martin Blumenstingl ---- - drivers/phy/amlogic/phy-meson8b-usb2.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/drivers/phy/amlogic/phy-meson8b-usb2.c b/drivers/phy/amlogic/phy-meson8b-usb2.c -index cf10bed40528..77e7e9b1428c 100644 ---- a/drivers/phy/amlogic/phy-meson8b-usb2.c -+++ b/drivers/phy/amlogic/phy-meson8b-usb2.c -@@ -265,8 +265,9 @@ static int phy_meson8b_usb2_probe(struct platform_device *pdev) - return PTR_ERR(priv->clk_usb); - - priv->reset = devm_reset_control_get_optional_shared(&pdev->dev, NULL); -- if (PTR_ERR(priv->reset) == -EPROBE_DEFER) -- return PTR_ERR(priv->reset); -+ if (IS_ERR(priv->reset)) -+ return dev_err_probe(&pdev->dev, PTR_ERR(priv->reset), -+ "Failed to get the reset line"); - - priv->dr_mode = of_usb_get_dr_mode_by_phy(pdev->dev.of_node, -1); - if (priv->dr_mode == USB_DR_MODE_UNKNOWN) { --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMLIST-v2-arm64-dts-meson-add-gpio-fan-control-to-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMLIST-v2-arm64-dts-meson-add-gpio-fan-control-to-.patch new file mode 100644 index 0000000000..bd153d5eb1 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMLIST-v2-arm64-dts-meson-add-gpio-fan-control-to-.patch @@ -0,0 +1,61 @@ +From 87c03be41fc904f550495d690fee72436a2fdf0a Mon Sep 17 00:00:00 2001 +From: Furkan Kardame +Date: Sat, 14 May 2022 17:46:36 +0300 +Subject: [PATCH 35/75] FROMLIST(v2): arm64: dts: meson: add gpio-fan control + to GS-King-X + +GS-King-X has a single speed GPIO fan which is always-on by default. If +we add controls for the fan and a trip point, the fan stays off most of +the time, reducing background noise from the unit. + +Signed-off-by: Furkan Kardame +--- + .../boot/dts/amlogic/meson-g12b-gsking-x.dts | 25 +++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts +index 6c7bfacbad78..462382b8c54f 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts +@@ -20,6 +20,14 @@ + rtc1 = &vrtc; + }; + ++ gpio_fan: gpio-fan { ++ compatible = "gpio-fan"; ++ gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; ++ /* Using Dummy Speed */ ++ gpio-fan,speed-map = <0 0 1 1>; ++ #cooling-cells = <2>; ++ }; ++ + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; +@@ -96,6 +104,23 @@ + status = "okay"; + }; + ++&cpu_thermal { ++ trips { ++ cpu_active: cpu-active { ++ temperature = <60000>; /* millicelsius */ ++ hysteresis = <2000>; /* millicelsius */ ++ type = "active"; ++ }; ++ }; ++ ++ cooling-maps { ++ map { ++ trip = <&cpu_active>; ++ cooling-device = <&gpio_fan 1 THERMAL_NO_LIMIT>; ++ }; ++ }; ++}; ++ + &frddr_a { + status = "okay"; + }; +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMLIST-v4-phy-amlogic-meson8b-usb2-fix-shared-rese.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMLIST-v4-phy-amlogic-meson8b-usb2-fix-shared-rese.patch deleted file mode 100644 index 4b23091a11..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMLIST-v4-phy-amlogic-meson8b-usb2-fix-shared-rese.patch +++ /dev/null @@ -1,60 +0,0 @@ -From eef11c571c63f09b64850e1c6994388822a869eb Mon Sep 17 00:00:00 2001 -From: Amjad Ouled-Ameur -Date: Mon, 6 Dec 2021 04:27:13 +0000 -Subject: [PATCH 35/90] FROMLIST(v4): phy: amlogic: meson8b-usb2: fix shared - reset control use - -Use reset_control_rearm() call if an error occurs in case -phy_meson8b_usb2_power_on() fails after reset() has been called, or in -case phy_meson8b_usb2_power_off() is called i.e the resource is no longer -used and the reset line may be triggered again by other devices. - -reset_control_rearm() keeps use of triggered_count sane in the reset -framework, use of reset_control_reset() on shared reset line should -be balanced with reset_control_rearm(). - -Signed-off-by: Amjad Ouled-Ameur -Reported-by: Jerome Brunet ---- - drivers/phy/amlogic/phy-meson8b-usb2.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/phy/amlogic/phy-meson8b-usb2.c b/drivers/phy/amlogic/phy-meson8b-usb2.c -index 77e7e9b1428c..dd96763911b8 100644 ---- a/drivers/phy/amlogic/phy-meson8b-usb2.c -+++ b/drivers/phy/amlogic/phy-meson8b-usb2.c -@@ -154,6 +154,7 @@ static int phy_meson8b_usb2_power_on(struct phy *phy) - ret = clk_prepare_enable(priv->clk_usb_general); - if (ret) { - dev_err(&phy->dev, "Failed to enable USB general clock\n"); -+ reset_control_rearm(priv->reset); - return ret; - } - -@@ -161,6 +162,7 @@ static int phy_meson8b_usb2_power_on(struct phy *phy) - if (ret) { - dev_err(&phy->dev, "Failed to enable USB DDR clock\n"); - clk_disable_unprepare(priv->clk_usb_general); -+ reset_control_rearm(priv->reset); - return ret; - } - -@@ -199,6 +201,7 @@ static int phy_meson8b_usb2_power_on(struct phy *phy) - dev_warn(&phy->dev, "USB ID detect failed!\n"); - clk_disable_unprepare(priv->clk_usb); - clk_disable_unprepare(priv->clk_usb_general); -+ reset_control_rearm(priv->reset); - return -EINVAL; - } - } -@@ -218,6 +221,7 @@ static int phy_meson8b_usb2_power_off(struct phy *phy) - - clk_disable_unprepare(priv->clk_usb); - clk_disable_unprepare(priv->clk_usb_general); -+ reset_control_rearm(priv->reset); - - /* power off the PHY by putting it into reset mode */ - regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET, --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-FROMLIST-v2-media-v4l2-mem2mem-Apply-DST_QUEUE_OFF_B.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-FROMLIST-v2-media-v4l2-mem2mem-Apply-DST_QUEUE_OFF_B.patch deleted file mode 100644 index 58cfff3983..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-FROMLIST-v2-media-v4l2-mem2mem-Apply-DST_QUEUE_OFF_B.patch +++ /dev/null @@ -1,127 +0,0 @@ -From c2a9afdc271f1dc8e145de930972d4e2a6d04b31 Mon Sep 17 00:00:00 2001 -From: Chen-Yu Tsai -Date: Wed, 15 Dec 2021 03:51:07 +0000 -Subject: [PATCH 36/90] FROMLIST(v2): media: v4l2-mem2mem: Apply - DST_QUEUE_OFF_BASE on MMAP buffers across ioctls - -DST_QUEUE_OFF_BASE is applied to offset/mem_offset on MMAP capture buffers -only for the VIDIOC_QUERYBUF ioctl, while the userspace fields (including -offset/mem_offset) are filled in for VIDIOC_{QUERY,PREPARE,Q,DQ}BUF -ioctls. This leads to differences in the values presented to userspace. -If userspace attempts to mmap the capture buffer directly using values -from DQBUF, it will fail. - -Move the code that applies the magic offset into a helper, and call -that helper from all four ioctl entry points. - -Fixes: 7f98639def42 ("V4L/DVB: add memory-to-memory device helper framework for videobuf") -Fixes: 908a0d7c588e ("[media] v4l: mem2mem: port to videobuf2") -Signed-off-by: Chen-Yu Tsai ---- - drivers/media/v4l2-core/v4l2-mem2mem.c | 53 ++++++++++++++++++++------ - 1 file changed, 41 insertions(+), 12 deletions(-) - -diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-core/v4l2-mem2mem.c -index e2654b422334..3bac9e373502 100644 ---- a/drivers/media/v4l2-core/v4l2-mem2mem.c -+++ b/drivers/media/v4l2-core/v4l2-mem2mem.c -@@ -585,19 +585,14 @@ int v4l2_m2m_reqbufs(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, - } - EXPORT_SYMBOL_GPL(v4l2_m2m_reqbufs); - --int v4l2_m2m_querybuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, -- struct v4l2_buffer *buf) -+static void v4l2_m2m_adjust_mem_offset(struct vb2_queue *vq, -+ struct v4l2_buffer *buf) - { -- struct vb2_queue *vq; -- int ret = 0; -- unsigned int i; -- -- vq = v4l2_m2m_get_vq(m2m_ctx, buf->type); -- ret = vb2_querybuf(vq, buf); -- - /* Adjust MMAP memory offsets for the CAPTURE queue */ - if (buf->memory == V4L2_MEMORY_MMAP && V4L2_TYPE_IS_CAPTURE(vq->type)) { - if (V4L2_TYPE_IS_MULTIPLANAR(vq->type)) { -+ unsigned int i; -+ - for (i = 0; i < buf->length; ++i) - buf->m.planes[i].m.mem_offset - += DST_QUEUE_OFF_BASE; -@@ -605,8 +600,23 @@ int v4l2_m2m_querybuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, - buf->m.offset += DST_QUEUE_OFF_BASE; - } - } -+} - -- return ret; -+int v4l2_m2m_querybuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, -+ struct v4l2_buffer *buf) -+{ -+ struct vb2_queue *vq; -+ int ret = 0; -+ -+ vq = v4l2_m2m_get_vq(m2m_ctx, buf->type); -+ ret = vb2_querybuf(vq, buf); -+ if (ret) -+ return ret; -+ -+ /* Adjust MMAP memory offsets for the CAPTURE queue */ -+ v4l2_m2m_adjust_mem_offset(vq, buf); -+ -+ return 0; - } - EXPORT_SYMBOL_GPL(v4l2_m2m_querybuf); - -@@ -763,6 +773,9 @@ int v4l2_m2m_qbuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, - if (ret) - return ret; - -+ /* Adjust MMAP memory offsets for the CAPTURE queue */ -+ v4l2_m2m_adjust_mem_offset(vq, buf); -+ - /* - * If the capture queue is streaming, but streaming hasn't started - * on the device, but was asked to stop, mark the previously queued -@@ -784,9 +797,17 @@ int v4l2_m2m_dqbuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, - struct v4l2_buffer *buf) - { - struct vb2_queue *vq; -+ int ret; - - vq = v4l2_m2m_get_vq(m2m_ctx, buf->type); -- return vb2_dqbuf(vq, buf, file->f_flags & O_NONBLOCK); -+ ret = vb2_dqbuf(vq, buf, file->f_flags & O_NONBLOCK); -+ if (ret) -+ return ret; -+ -+ /* Adjust MMAP memory offsets for the CAPTURE queue */ -+ v4l2_m2m_adjust_mem_offset(vq, buf); -+ -+ return 0; - } - EXPORT_SYMBOL_GPL(v4l2_m2m_dqbuf); - -@@ -795,9 +816,17 @@ int v4l2_m2m_prepare_buf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, - { - struct video_device *vdev = video_devdata(file); - struct vb2_queue *vq; -+ int ret; - - vq = v4l2_m2m_get_vq(m2m_ctx, buf->type); -- return vb2_prepare_buf(vq, vdev->v4l2_dev->mdev, buf); -+ ret = vb2_prepare_buf(vq, vdev->v4l2_dev->mdev, buf); -+ if (ret) -+ return ret; -+ -+ /* Adjust MMAP memory offsets for the CAPTURE queue */ -+ v4l2_m2m_adjust_mem_offset(vq, buf); -+ -+ return 0; - } - EXPORT_SYMBOL_GPL(v4l2_m2m_prepare_buf); - --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0053-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch similarity index 97% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0053-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch index 372d8fdec5..177b66e98f 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0053-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-WIP-ASoC-hdmi-codec-reorder-channel-allocation-list.patch @@ -1,7 +1,7 @@ -From dd29d3d05631c4afdab56fb696424565a4afefba Mon Sep 17 00:00:00 2001 +From b540e025c5ee02690acc402ea6a13db5a9d96568 Mon Sep 17 00:00:00 2001 From: Jonas Karlman Date: Sun, 23 Dec 2018 02:24:38 +0100 -Subject: [PATCH 53/90] WIP: ASoC: hdmi-codec: reorder channel allocation list +Subject: [PATCH 36/75] WIP: ASoC: hdmi-codec: reorder channel allocation list Wrong channel allocation is selected by hdmi_codec_get_ch_alloc_table_idx(). @@ -24,7 +24,7 @@ Signed-off-by: Jonas Karlman 1 file changed, 77 insertions(+), 63 deletions(-) diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c -index b07607a9ecea..a12015471ea2 100644 +index bcb018ea690b..6d6acd932615 100644 --- a/sound/soc/codecs/hdmi-codec.c +++ b/sound/soc/codecs/hdmi-codec.c @@ -188,84 +188,97 @@ static const struct snd_pcm_chmap_elem hdmi_codec_8ch_chmaps[] = { diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0037-FROMLIST-v1-pinctrl-meson-g12a-add-more-pwm_f-option.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0037-FROMLIST-v1-pinctrl-meson-g12a-add-more-pwm_f-option.patch deleted file mode 100644 index 6ba3c81877..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0037-FROMLIST-v1-pinctrl-meson-g12a-add-more-pwm_f-option.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 185e327de6600377e45b601ec62082a6db7e3109 Mon Sep 17 00:00:00 2001 -From: Gary Bisson -Date: Mon, 3 Jan 2022 16:49:28 +0000 -Subject: [PATCH 37/90] FROMLIST(v1): pinctrl: meson-g12a: add more pwm_f - options - -Add missing PWM_F pin muxing for GPIOA_11 and GPIOZ_12. - -Signed-off-by: Gary Bisson ---- - drivers/pinctrl/meson/pinctrl-meson-g12a.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/drivers/pinctrl/meson/pinctrl-meson-g12a.c b/drivers/pinctrl/meson/pinctrl-meson-g12a.c -index cd9656b13836..d182a575981e 100644 ---- a/drivers/pinctrl/meson/pinctrl-meson-g12a.c -+++ b/drivers/pinctrl/meson/pinctrl-meson-g12a.c -@@ -283,6 +283,8 @@ static const unsigned int pwm_d_x6_pins[] = { GPIOX_6 }; - static const unsigned int pwm_e_pins[] = { GPIOX_16 }; - - /* pwm_f */ -+static const unsigned int pwm_f_z_pins[] = { GPIOZ_12 }; -+static const unsigned int pwm_f_a_pins[] = { GPIOA_11 }; - static const unsigned int pwm_f_x_pins[] = { GPIOX_7 }; - static const unsigned int pwm_f_h_pins[] = { GPIOH_5 }; - -@@ -618,6 +620,7 @@ static struct meson_pmx_group meson_g12a_periphs_groups[] = { - GROUP(tdm_c_dout2_z, 4), - GROUP(tdm_c_dout3_z, 4), - GROUP(mclk1_z, 4), -+ GROUP(pwm_f_z, 5), - - /* bank GPIOX */ - GROUP(sdio_d0, 1), -@@ -768,6 +771,7 @@ static struct meson_pmx_group meson_g12a_periphs_groups[] = { - GROUP(tdm_c_dout3_a, 2), - GROUP(mclk0_a, 1), - GROUP(mclk1_a, 2), -+ GROUP(pwm_f_a, 3), - }; - - /* uart_ao_a */ -@@ -1069,7 +1073,7 @@ static const char * const pwm_e_groups[] = { - }; - - static const char * const pwm_f_groups[] = { -- "pwm_f_x", "pwm_f_h", -+ "pwm_f_z", "pwm_f_a", "pwm_f_x", "pwm_f_h", - }; - - static const char * const cec_ao_a_h_groups[] = { --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0054-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0037-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch similarity index 86% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0054-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0037-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch index e0d976bc51..08e0b53044 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0054-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0037-WIP-mmc-meson-gx-mmc-set-core-clock-phase-to-270-deg.patch @@ -1,7 +1,7 @@ -From 5c5664545a97520bbce591add5a7dbbea143b999 Mon Sep 17 00:00:00 2001 +From d9bb7b1871d26e2c8d022d80c67e4adf718d53d3 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Thu, 14 Jan 2021 17:43:02 +0100 -Subject: [PATCH 54/90] WIP: mmc: meson-gx-mmc: set core clock phase to 270 +Subject: [PATCH 37/75] WIP: mmc: meson-gx-mmc: set core clock phase to 270 degrees for AXG compatible controllers Signed-off-by: Neil Armstrong @@ -10,7 +10,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c -index 1a11a4bf4d4f..df60312a1765 100644 +index f2ff19ff8e9d..396fabce04ac 100644 --- a/drivers/mmc/host/meson-gx-mmc.c +++ b/drivers/mmc/host/meson-gx-mmc.c @@ -38,6 +38,7 @@ @@ -38,7 +38,7 @@ index 1a11a4bf4d4f..df60312a1765 100644 clk_reg |= FIELD_PREP(CLK_TX_PHASE_MASK, CLK_PHASE_0); clk_reg |= FIELD_PREP(CLK_RX_PHASE_MASK, CLK_PHASE_0); writel(clk_reg, host->regs + SD_EMMC_CLOCK); -@@ -1337,6 +1339,7 @@ static const struct meson_mmc_data meson_gx_data = { +@@ -1326,6 +1328,7 @@ static const struct meson_mmc_data meson_gx_data = { .rx_delay_mask = CLK_V2_RX_DELAY_MASK, .always_on = CLK_V2_ALWAYS_ON, .adjust = SD_EMMC_ADJUST, @@ -46,7 +46,7 @@ index 1a11a4bf4d4f..df60312a1765 100644 }; static const struct meson_mmc_data meson_axg_data = { -@@ -1344,6 +1347,7 @@ static const struct meson_mmc_data meson_axg_data = { +@@ -1333,6 +1336,7 @@ static const struct meson_mmc_data meson_axg_data = { .rx_delay_mask = CLK_V3_RX_DELAY_MASK, .always_on = CLK_V3_ALWAYS_ON, .adjust = SD_EMMC_V3_ADJUST, diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0055-WIP-arm64-dts-meson-add-Broadcom-WiFi-to-P212-dtsi.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0038-WIP-arm64-dts-meson-add-Broadcom-WiFi-to-P212-dtsi.patch similarity index 87% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0055-WIP-arm64-dts-meson-add-Broadcom-WiFi-to-P212-dtsi.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0038-WIP-arm64-dts-meson-add-Broadcom-WiFi-to-P212-dtsi.patch index 5a0f7f64ad..e0932a8056 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0055-WIP-arm64-dts-meson-add-Broadcom-WiFi-to-P212-dtsi.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0038-WIP-arm64-dts-meson-add-Broadcom-WiFi-to-P212-dtsi.patch @@ -1,7 +1,7 @@ -From fa5498d499cc8aa5a59d7c9682e1d70e73dea144 Mon Sep 17 00:00:00 2001 +From 790e92f9e0abe0027d1d227a201f1e1c9c693648 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Thu, 13 Jan 2022 03:50:01 +0000 -Subject: [PATCH 55/90] WIP: arm64: dts: meson: add Broadcom WiFi to P212 dtsi +Subject: [PATCH 38/75] WIP: arm64: dts: meson: add Broadcom WiFi to P212 dtsi The P212 has a combined WiFi/BT module. The BT side is already enabled in the dtsi but the WiFi side is not. Let's enable the WiFi module. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0056-WIP-arm64-dts-meson-move-pwm_ef-node-in-P212-dtsi.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-WIP-arm64-dts-meson-move-pwm_ef-node-in-P212-dtsi.patch similarity index 90% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0056-WIP-arm64-dts-meson-move-pwm_ef-node-in-P212-dtsi.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-WIP-arm64-dts-meson-move-pwm_ef-node-in-P212-dtsi.patch index adf2a44f98..8fb339d18b 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0056-WIP-arm64-dts-meson-move-pwm_ef-node-in-P212-dtsi.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-WIP-arm64-dts-meson-move-pwm_ef-node-in-P212-dtsi.patch @@ -1,7 +1,7 @@ -From d1ecff8da5fd4818b465e2b004f4737ca0dfb6fb Mon Sep 17 00:00:00 2001 +From c889662109dc29b01bf86fa4b2479696e14a880d Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Thu, 13 Jan 2022 03:56:12 +0000 -Subject: [PATCH 56/90] WIP: arm64: dts: meson: move pwm_ef node in P212 dtsi +Subject: [PATCH 39/75] WIP: arm64: dts: meson: move pwm_ef node in P212 dtsi Cosmetic-only change to alpha-sort the pwm_ef node. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-FROMLIST-v3-Bluetooth-hci_h5-Add-power-reset-via-gpi.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-FROMLIST-v3-Bluetooth-hci_h5-Add-power-reset-via-gpi.patch deleted file mode 100644 index bc1f150ba8..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-FROMLIST-v3-Bluetooth-hci_h5-Add-power-reset-via-gpi.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 1cee0a34ddbccebf5c09744b170803bb5946ca3d Mon Sep 17 00:00:00 2001 -From: Vyacheslav Bocharov -Date: Wed, 19 Jan 2022 06:30:48 +0000 -Subject: [PATCH 40/90] FROMLIST(v3): Bluetooth: hci_h5: Add power reset via - gpio in h5_btrtl_open - -Add power reset via enable-gpios in h5_btrtl_open function. - -Signed-off-by: Vyacheslav Bocharov ---- - drivers/bluetooth/hci_h5.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/drivers/bluetooth/hci_h5.c b/drivers/bluetooth/hci_h5.c -index 34286ffe0568..fdf504b0d265 100644 ---- a/drivers/bluetooth/hci_h5.c -+++ b/drivers/bluetooth/hci_h5.c -@@ -966,6 +966,11 @@ static void h5_btrtl_open(struct h5 *h5) - pm_runtime_enable(&h5->hu->serdev->dev); - } - -+ /* The controller needs reset to startup */ -+ gpiod_set_value_cansleep(h5->enable_gpio, 0); -+ gpiod_set_value_cansleep(h5->device_wake_gpio, 0); -+ msleep(100); -+ - /* The controller needs up to 500ms to wakeup */ - gpiod_set_value_cansleep(h5->enable_gpio, 1); - gpiod_set_value_cansleep(h5->device_wake_gpio, 1); --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0057-WIP-arm64-dts-meson-remove-WiFi-BT-nodes-from-Khadas.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-WIP-arm64-dts-meson-remove-WiFi-BT-nodes-from-Khadas.patch similarity index 90% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0057-WIP-arm64-dts-meson-remove-WiFi-BT-nodes-from-Khadas.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-WIP-arm64-dts-meson-remove-WiFi-BT-nodes-from-Khadas.patch index 0c07b95484..c3a9cb2700 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0057-WIP-arm64-dts-meson-remove-WiFi-BT-nodes-from-Khadas.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-WIP-arm64-dts-meson-remove-WiFi-BT-nodes-from-Khadas.patch @@ -1,7 +1,7 @@ -From dfb3b1a759cdb45cddf5cca6ef904c4765445f55 Mon Sep 17 00:00:00 2001 +From 4bc5816d27156d1e5ee32be72b1719d584821933 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Thu, 13 Jan 2022 03:58:58 +0000 -Subject: [PATCH 57/90] WIP: arm64: dts: meson: remove WiFi/BT nodes from +Subject: [PATCH 40/75] WIP: arm64: dts: meson: remove WiFi/BT nodes from Khadas VIM1 The Broadcom WiFi/BT SDIO nodes are now inherited from the P212 common dtsi diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0041-FROMLIST-v2-arm64-dts-meson-remove-CPU-opps-below-1G.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0041-FROMLIST-v2-arm64-dts-meson-remove-CPU-opps-below-1G.patch deleted file mode 100644 index bc6e81a1b2..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0041-FROMLIST-v2-arm64-dts-meson-remove-CPU-opps-below-1G.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 65dd459b9384d6d1acc157d4ef563642693007c9 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 10 Feb 2022 09:53:37 +0000 -Subject: [PATCH 41/90] FROMLIST(v2): arm64: dts: meson: remove CPU opps below - 1GHz for G12B boards - -Amlogic G12B devices experience CPU stalls and random board wedges when -the system idles and CPU cores clock down to lower opp points. Recent -vendor kernels include a change to remove 100-250MHz and other distro -sources also remove the 500/667MHz points. Unless all 100-667Mhz opps -are removed or the CPU governor forced to performance stalls are still -observed, so let's remove them to improve stability and uptime. - -Fixes: b96d4e92709b ("arm64: dts: meson-g12b: support a311d and s922x cpu operating points") -Signed-off-by: Christian Hewitt ---- - .../boot/dts/amlogic/meson-g12b-a311d.dtsi | 40 ------------------- - .../boot/dts/amlogic/meson-g12b-s922x.dtsi | 40 ------------------- - 2 files changed, 80 deletions(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-a311d.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d.dtsi -index d61f43052a34..8e9ad1e51d66 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-g12b-a311d.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d.dtsi -@@ -11,26 +11,6 @@ - compatible = "operating-points-v2"; - opp-shared; - -- opp-100000000 { -- opp-hz = /bits/ 64 <100000000>; -- opp-microvolt = <731000>; -- }; -- -- opp-250000000 { -- opp-hz = /bits/ 64 <250000000>; -- opp-microvolt = <731000>; -- }; -- -- opp-500000000 { -- opp-hz = /bits/ 64 <500000000>; -- opp-microvolt = <731000>; -- }; -- -- opp-667000000 { -- opp-hz = /bits/ 64 <667000000>; -- opp-microvolt = <731000>; -- }; -- - opp-1000000000 { - opp-hz = /bits/ 64 <1000000000>; - opp-microvolt = <761000>; -@@ -71,26 +51,6 @@ - compatible = "operating-points-v2"; - opp-shared; - -- opp-100000000 { -- opp-hz = /bits/ 64 <100000000>; -- opp-microvolt = <731000>; -- }; -- -- opp-250000000 { -- opp-hz = /bits/ 64 <250000000>; -- opp-microvolt = <731000>; -- }; -- -- opp-500000000 { -- opp-hz = /bits/ 64 <500000000>; -- opp-microvolt = <731000>; -- }; -- -- opp-667000000 { -- opp-hz = /bits/ 64 <667000000>; -- opp-microvolt = <731000>; -- }; -- - opp-1000000000 { - opp-hz = /bits/ 64 <1000000000>; - opp-microvolt = <731000>; -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-s922x.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-s922x.dtsi -index 1e5d0ee5d541..44c23c984034 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-g12b-s922x.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-s922x.dtsi -@@ -11,26 +11,6 @@ - compatible = "operating-points-v2"; - opp-shared; - -- opp-100000000 { -- opp-hz = /bits/ 64 <100000000>; -- opp-microvolt = <731000>; -- }; -- -- opp-250000000 { -- opp-hz = /bits/ 64 <250000000>; -- opp-microvolt = <731000>; -- }; -- -- opp-500000000 { -- opp-hz = /bits/ 64 <500000000>; -- opp-microvolt = <731000>; -- }; -- -- opp-667000000 { -- opp-hz = /bits/ 64 <667000000>; -- opp-microvolt = <731000>; -- }; -- - opp-1000000000 { - opp-hz = /bits/ 64 <1000000000>; - opp-microvolt = <731000>; -@@ -76,26 +56,6 @@ - compatible = "operating-points-v2"; - opp-shared; - -- opp-100000000 { -- opp-hz = /bits/ 64 <100000000>; -- opp-microvolt = <751000>; -- }; -- -- opp-250000000 { -- opp-hz = /bits/ 64 <250000000>; -- opp-microvolt = <751000>; -- }; -- -- opp-500000000 { -- opp-hz = /bits/ 64 <500000000>; -- opp-microvolt = <751000>; -- }; -- -- opp-667000000 { -- opp-hz = /bits/ 64 <667000000>; -- opp-microvolt = <751000>; -- }; -- - opp-1000000000 { - opp-hz = /bits/ 64 <1000000000>; - opp-microvolt = <771000>; --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0058-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0041-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch similarity index 96% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0058-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0041-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch index c9a36ff573..c9be0bd26a 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0058-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0041-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch @@ -1,7 +1,7 @@ -From fd15d86035de9f5ddb76e2b33815169a0fc142dc Mon Sep 17 00:00:00 2001 +From 2af0b6b790691fdfc79d184f47d5b0a229d109f7 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 18 Jan 2022 15:09:12 +0000 -Subject: [PATCH 58/90] WIP: arm64: dts: meson: set p212/p23x/q20x SDIO to +Subject: [PATCH 41/75] WIP: arm64: dts: meson: set p212/p23x/q20x SDIO to 100MHz Amlogic datasheets describe 50MHz max-frequency for SDIO on GXL/GXM but diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0042-FROMLIST-v2-arm64-dts-meson-remove-CPU-opps-below-1G.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0042-FROMLIST-v2-arm64-dts-meson-remove-CPU-opps-below-1G.patch deleted file mode 100644 index 84c4b8f42b..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0042-FROMLIST-v2-arm64-dts-meson-remove-CPU-opps-below-1G.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 5a7b646a062c993fb5a2f355a7568e020dcff3aa Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 10 Feb 2022 10:01:05 +0000 -Subject: [PATCH 42/90] FROMLIST(v2): arm64: dts: meson: remove CPU opps below - 1GHz for SM1 boards - -Amlogic SM1 devices experience CPU stalls and random board wedges when -the system idles and CPU cores clock down to lower opp points. Recent -vendor kernels include a change to remove 100-250MHz and other distro -sources also remove the 500/667MHz points. Unless all 100-667Mhz opps -are removed or the CPU governor forced to performance stalls are still -observed, so let's remove them to improve stability and uptime. - -Fixes: 3d9e76483049 ("arm64: dts: meson-sm1-sei610: enable DVFS") -Signed-off-by: Christian Hewitt ---- - arch/arm64/boot/dts/amlogic/meson-sm1.dtsi | 20 -------------------- - 1 file changed, 20 deletions(-) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi -index 1e0adf259d61..a685dabde5d3 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi -+++ b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi -@@ -95,26 +95,6 @@ - compatible = "operating-points-v2"; - opp-shared; - -- opp-100000000 { -- opp-hz = /bits/ 64 <100000000>; -- opp-microvolt = <730000>; -- }; -- -- opp-250000000 { -- opp-hz = /bits/ 64 <250000000>; -- opp-microvolt = <730000>; -- }; -- -- opp-500000000 { -- opp-hz = /bits/ 64 <500000000>; -- opp-microvolt = <730000>; -- }; -- -- opp-667000000 { -- opp-hz = /bits/ 64 <666666666>; -- opp-microvolt = <750000>; -- }; -- - opp-1000000000 { - opp-hz = /bits/ 64 <1000000000>; - opp-microvolt = <770000>; --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0059-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0042-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch similarity index 91% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0059-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0042-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch index b175411373..7c594930d4 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0059-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0042-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patch @@ -1,7 +1,7 @@ -From 40e9017aefcc38da1ba4ed9ba9f639f4699834cb Mon Sep 17 00:00:00 2001 +From 9b1098f064055ba606f70ebc8efe981c8a59ffbe Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 19 Jan 2022 06:45:06 +0000 -Subject: [PATCH 59/90] WIP: arm64: dts: meson: add UHS SDIO capabilities to +Subject: [PATCH 42/75] WIP: arm64: dts: meson: add UHS SDIO capabilities to p212/p23x/q20x Add UHS capabilities to the SDIO node to enable 100MHz speeds. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0043-FROMLIST-v1-drivers-meson-vdec-add-VP9-support-to-GX.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0043-FROMLIST-v1-drivers-meson-vdec-add-VP9-support-to-GX.patch deleted file mode 100644 index 266ce4f285..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0043-FROMLIST-v1-drivers-meson-vdec-add-VP9-support-to-GX.patch +++ /dev/null @@ -1,42 +0,0 @@ -From fa0fc8498a811c85bace6138f60b7d09f07d18b8 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Thu, 25 Nov 2021 11:31:43 +0000 -Subject: [PATCH 43/90] FROMLIST(v1): drivers: meson: vdec: add VP9 support to - GXM - -VP9 support for GXM appears to have been missed from the original -codec submission [0] but it works well, so let's add support. - -[0] https://github.com/torvalds/linux/commit/00c43088aa680989407b6afbda295f67b3f123f1 - -Signed-off-by: Christian Hewitt ---- - drivers/staging/media/meson/vdec/vdec_platform.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/drivers/staging/media/meson/vdec/vdec_platform.c b/drivers/staging/media/meson/vdec/vdec_platform.c -index eabbebab2da2..88c9d72e1c83 100644 ---- a/drivers/staging/media/meson/vdec/vdec_platform.c -+++ b/drivers/staging/media/meson/vdec/vdec_platform.c -@@ -103,6 +103,18 @@ static const struct amvdec_format vdec_formats_gxl[] = { - - static const struct amvdec_format vdec_formats_gxm[] = { - { -+ .pixfmt = V4L2_PIX_FMT_VP9, -+ .min_buffers = 16, -+ .max_buffers = 24, -+ .max_width = 3840, -+ .max_height = 2160, -+ .vdec_ops = &vdec_hevc_ops, -+ .codec_ops = &codec_vp9_ops, -+ .firmware_path = "meson/vdec/gxl_vp9.bin", -+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 }, -+ .flags = V4L2_FMT_FLAG_COMPRESSED | -+ V4L2_FMT_FLAG_DYN_RESOLUTION, -+ }, { - .pixfmt = V4L2_PIX_FMT_H264, - .min_buffers = 2, - .max_buffers = 24, --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0060-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0043-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch similarity index 87% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0060-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0043-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch index 0c97980666..f4d5d3ce7c 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0060-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0043-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patch @@ -1,7 +1,7 @@ -From 8c3fedfdb05685886ef319ced3356b618d24fc86 Mon Sep 17 00:00:00 2001 +From 1ed843a2e25618d459e35e7daca8b849f9aa1a41 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 18 Jan 2022 15:18:32 +0000 -Subject: [PATCH 60/90] WIP: arm64: dts: meson: remove SDIO node from Khadas +Subject: [PATCH 43/75] WIP: arm64: dts: meson: remove SDIO node from Khadas VIM1 Now that SDIO 100MHz max-frequency is inherited from the p212 dtsi we diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0044-FROMLIST-v2-spi-gpio-Implement-LSB-First-bitbang-sup.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0044-FROMLIST-v2-spi-gpio-Implement-LSB-First-bitbang-sup.patch deleted file mode 100644 index 06499225c5..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0044-FROMLIST-v2-spi-gpio-Implement-LSB-First-bitbang-sup.patch +++ /dev/null @@ -1,209 +0,0 @@ -From f46afa0e4a37894ee46e023c193f40179635ddca Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20F=C3=A4rber?= -Date: Sun, 20 Feb 2022 08:21:13 +0000 -Subject: [PATCH 44/90] FROMLIST(v2): spi: gpio: Implement LSB First bitbang - support -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Add support for slave DT property spi-lsb-first, i.e., SPI_LSB_FIRST mode. -Duplicate the inline helpers bitbang_txrx_be_cpha{0,1} as LE versions. -Conditionally call them from all the spi-gpio txrx_word callbacks. - -Some alternatives to this implementation approach were discussed back -then [0], but eventually it was considered reasonable. - -[0] https://lore.kernel.org/linux-arm-kernel/20191212033952.5967-8-afaerber@suse.de/ - -Signed-off-by: Andreas Färber -Signed-off-by: Heiner Kallweit ---- - drivers/spi/spi-bitbang-txrx.h | 66 ++++++++++++++++++++++++++++++++++ - drivers/spi/spi-gpio.c | 42 +++++++++++++++++----- - 2 files changed, 99 insertions(+), 9 deletions(-) - -diff --git a/drivers/spi/spi-bitbang-txrx.h b/drivers/spi/spi-bitbang-txrx.h -index ae61d72c7d28..267342dfa738 100644 ---- a/drivers/spi/spi-bitbang-txrx.h -+++ b/drivers/spi/spi-bitbang-txrx.h -@@ -41,6 +41,8 @@ - * chips need ... there may be several reasons you'd need to tweak timings - * in these routines, not just to make it faster or slower to match a - * particular CPU clock rate. -+ * -+ * ToDo: Maybe the bitrev macros can be used to improve the code? - */ - - static inline u32 -@@ -106,3 +108,67 @@ bitbang_txrx_be_cpha1(struct spi_device *spi, - } - return word; - } -+ -+static inline u32 -+bitbang_txrx_le_cpha0(struct spi_device *spi, -+ unsigned int nsecs, unsigned int cpol, unsigned int flags, -+ u32 word, u8 bits) -+{ -+ /* if (cpol == 0) this is SPI_MODE_0; else this is SPI_MODE_2 */ -+ -+ u32 oldbit = !(word & 1); -+ /* clock starts at inactive polarity */ -+ for (; likely(bits); bits--) { -+ -+ /* setup LSB (to slave) on trailing edge */ -+ if ((flags & SPI_MASTER_NO_TX) == 0) { -+ if ((word & 1) != oldbit) { -+ setmosi(spi, word & 1); -+ oldbit = word & 1; -+ } -+ } -+ spidelay(nsecs); /* T(setup) */ -+ -+ setsck(spi, !cpol); -+ spidelay(nsecs); -+ -+ /* sample LSB (from slave) on leading edge */ -+ word >>= 1; -+ if ((flags & SPI_MASTER_NO_RX) == 0) -+ word |= getmiso(spi) << (bits - 1); -+ setsck(spi, cpol); -+ } -+ return word; -+} -+ -+static inline u32 -+bitbang_txrx_le_cpha1(struct spi_device *spi, -+ unsigned int nsecs, unsigned int cpol, unsigned int flags, -+ u32 word, u8 bits) -+{ -+ /* if (cpol == 0) this is SPI_MODE_1; else this is SPI_MODE_3 */ -+ -+ u32 oldbit = !(word & 1); -+ /* clock starts at inactive polarity */ -+ for (; likely(bits); bits--) { -+ -+ /* setup LSB (to slave) on leading edge */ -+ setsck(spi, !cpol); -+ if ((flags & SPI_MASTER_NO_TX) == 0) { -+ if ((word & 1) != oldbit) { -+ setmosi(spi, word & 1); -+ oldbit = word & 1; -+ } -+ } -+ spidelay(nsecs); /* T(setup) */ -+ -+ setsck(spi, cpol); -+ spidelay(nsecs); -+ -+ /* sample LSB (from slave) on trailing edge */ -+ word >>= 1; -+ if ((flags & SPI_MASTER_NO_RX) == 0) -+ word |= getmiso(spi) << (bits - 1); -+ } -+ return word; -+} -diff --git a/drivers/spi/spi-gpio.c b/drivers/spi/spi-gpio.c -index 0584f4d2fde2..4b12c4964a66 100644 ---- a/drivers/spi/spi-gpio.c -+++ b/drivers/spi/spi-gpio.c -@@ -135,25 +135,37 @@ static inline int getmiso(const struct spi_device *spi) - static u32 spi_gpio_txrx_word_mode0(struct spi_device *spi, - unsigned nsecs, u32 word, u8 bits, unsigned flags) - { -- return bitbang_txrx_be_cpha0(spi, nsecs, 0, flags, word, bits); -+ if (unlikely(spi->mode & SPI_LSB_FIRST)) -+ return bitbang_txrx_le_cpha0(spi, nsecs, 0, flags, word, bits); -+ else -+ return bitbang_txrx_be_cpha0(spi, nsecs, 0, flags, word, bits); - } - - static u32 spi_gpio_txrx_word_mode1(struct spi_device *spi, - unsigned nsecs, u32 word, u8 bits, unsigned flags) - { -- return bitbang_txrx_be_cpha1(spi, nsecs, 0, flags, word, bits); -+ if (unlikely(spi->mode & SPI_LSB_FIRST)) -+ return bitbang_txrx_le_cpha1(spi, nsecs, 0, flags, word, bits); -+ else -+ return bitbang_txrx_be_cpha1(spi, nsecs, 0, flags, word, bits); - } - - static u32 spi_gpio_txrx_word_mode2(struct spi_device *spi, - unsigned nsecs, u32 word, u8 bits, unsigned flags) - { -- return bitbang_txrx_be_cpha0(spi, nsecs, 1, flags, word, bits); -+ if (unlikely(spi->mode & SPI_LSB_FIRST)) -+ return bitbang_txrx_le_cpha0(spi, nsecs, 1, flags, word, bits); -+ else -+ return bitbang_txrx_be_cpha0(spi, nsecs, 1, flags, word, bits); - } - - static u32 spi_gpio_txrx_word_mode3(struct spi_device *spi, - unsigned nsecs, u32 word, u8 bits, unsigned flags) - { -- return bitbang_txrx_be_cpha1(spi, nsecs, 1, flags, word, bits); -+ if (unlikely(spi->mode & SPI_LSB_FIRST)) -+ return bitbang_txrx_le_cpha1(spi, nsecs, 1, flags, word, bits); -+ else -+ return bitbang_txrx_be_cpha1(spi, nsecs, 1, flags, word, bits); - } - - /* -@@ -170,28 +182,40 @@ static u32 spi_gpio_spec_txrx_word_mode0(struct spi_device *spi, - unsigned nsecs, u32 word, u8 bits, unsigned flags) - { - flags = spi->master->flags; -- return bitbang_txrx_be_cpha0(spi, nsecs, 0, flags, word, bits); -+ if (unlikely(spi->mode & SPI_LSB_FIRST)) -+ return bitbang_txrx_le_cpha0(spi, nsecs, 0, flags, word, bits); -+ else -+ return bitbang_txrx_be_cpha0(spi, nsecs, 0, flags, word, bits); - } - - static u32 spi_gpio_spec_txrx_word_mode1(struct spi_device *spi, - unsigned nsecs, u32 word, u8 bits, unsigned flags) - { - flags = spi->master->flags; -- return bitbang_txrx_be_cpha1(spi, nsecs, 0, flags, word, bits); -+ if (unlikely(spi->mode & SPI_LSB_FIRST)) -+ return bitbang_txrx_le_cpha1(spi, nsecs, 0, flags, word, bits); -+ else -+ return bitbang_txrx_be_cpha1(spi, nsecs, 0, flags, word, bits); - } - - static u32 spi_gpio_spec_txrx_word_mode2(struct spi_device *spi, - unsigned nsecs, u32 word, u8 bits, unsigned flags) - { - flags = spi->master->flags; -- return bitbang_txrx_be_cpha0(spi, nsecs, 1, flags, word, bits); -+ if (unlikely(spi->mode & SPI_LSB_FIRST)) -+ return bitbang_txrx_le_cpha0(spi, nsecs, 1, flags, word, bits); -+ else -+ return bitbang_txrx_be_cpha0(spi, nsecs, 1, flags, word, bits); - } - - static u32 spi_gpio_spec_txrx_word_mode3(struct spi_device *spi, - unsigned nsecs, u32 word, u8 bits, unsigned flags) - { - flags = spi->master->flags; -- return bitbang_txrx_be_cpha1(spi, nsecs, 1, flags, word, bits); -+ if (unlikely(spi->mode & SPI_LSB_FIRST)) -+ return bitbang_txrx_le_cpha1(spi, nsecs, 1, flags, word, bits); -+ else -+ return bitbang_txrx_be_cpha1(spi, nsecs, 1, flags, word, bits); - } - - /*----------------------------------------------------------------------*/ -@@ -378,7 +402,7 @@ static int spi_gpio_probe(struct platform_device *pdev) - - master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32); - master->mode_bits = SPI_3WIRE | SPI_3WIRE_HIZ | SPI_CPHA | SPI_CPOL | -- SPI_CS_HIGH; -+ SPI_CS_HIGH | SPI_LSB_FIRST; - if (!spi_gpio->mosi) { - /* HW configuration without MOSI pin - * --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0061-WIP-arm64-dts-meson-add-audio-playback-to-S905X-P212.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0044-WIP-arm64-dts-meson-add-audio-playback-to-S905X-P212.patch similarity index 94% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0061-WIP-arm64-dts-meson-add-audio-playback-to-S905X-P212.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0044-WIP-arm64-dts-meson-add-audio-playback-to-S905X-P212.patch index 5f14ee5a4a..a57630876b 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0061-WIP-arm64-dts-meson-add-audio-playback-to-S905X-P212.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0044-WIP-arm64-dts-meson-add-audio-playback-to-S905X-P212.patch @@ -1,7 +1,7 @@ -From b4f1722a917026b6090c7fb3d6b575768ebf72f5 Mon Sep 17 00:00:00 2001 +From 7b9e792aa7cedcf369c691fcb887731078262d58 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Thu, 13 Jan 2022 04:30:44 +0000 -Subject: [PATCH 61/90] WIP: arm64: dts: meson: add audio playback to +Subject: [PATCH 44/75] WIP: arm64: dts: meson: add audio playback to S905X-P212 dts Add support for the HDMI and Analogue i2s audio outputs. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0062-WIP-drivers-meson-vdec-remove-redundant-if-statement.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0045-WIP-drivers-meson-vdec-remove-redundant-if-statement.patch similarity index 85% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0062-WIP-drivers-meson-vdec-remove-redundant-if-statement.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0045-WIP-drivers-meson-vdec-remove-redundant-if-statement.patch index a13dc6c9fe..6468c57456 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0062-WIP-drivers-meson-vdec-remove-redundant-if-statement.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0045-WIP-drivers-meson-vdec-remove-redundant-if-statement.patch @@ -1,7 +1,7 @@ -From 4aca1a59251338a9f98b58fc67e7749fae32b3be Mon Sep 17 00:00:00 2001 +From ddf238f977b1fa5893ff533ec9105505b326abfa Mon Sep 17 00:00:00 2001 From: benjamin545 Date: Thu, 15 Jul 2021 14:32:33 -0400 -Subject: [PATCH 62/90] WIP: drivers: meson: vdec: remove redundant if +Subject: [PATCH 45/75] WIP: drivers: meson: vdec: remove redundant if statement checking if sess->fmt_out->pixfmt is V4L2_PIX_FMT_VP9 was already done @@ -11,7 +11,7 @@ as a condition to enter the if statement where this additional check is performe 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c -index db7022707ff8..e18334e57fc0 100644 +index 86ccc8937afc..7b15fc54efe4 100644 --- a/drivers/staging/media/meson/vdec/esparser.c +++ b/drivers/staging/media/meson/vdec/esparser.c @@ -314,8 +314,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0063-WIP-drivers-meson-vdec-improve-mmu-and-fbc-handling-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0046-WIP-drivers-meson-vdec-improve-mmu-and-fbc-handling-.patch similarity index 98% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0063-WIP-drivers-meson-vdec-improve-mmu-and-fbc-handling-.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0046-WIP-drivers-meson-vdec-improve-mmu-and-fbc-handling-.patch index 03b719b7cd..b23516ddca 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0063-WIP-drivers-meson-vdec-improve-mmu-and-fbc-handling-.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0046-WIP-drivers-meson-vdec-improve-mmu-and-fbc-handling-.patch @@ -1,7 +1,7 @@ -From df7d1adad3f60c8cb3f33235b6301093801b7b47 Mon Sep 17 00:00:00 2001 +From c9e328d0c4d4bb82e957243639a2657a6471df31 Mon Sep 17 00:00:00 2001 From: benjamin545 Date: Thu, 15 Jul 2021 16:32:39 -0400 -Subject: [PATCH 63/90] WIP: drivers: meson: vdec: improve mmu and fbc handling +Subject: [PATCH 46/75] WIP: drivers: meson: vdec: improve mmu and fbc handling and add 10 bit handling --- @@ -429,7 +429,7 @@ index 897f5d7a6aad..bfc312ec2a56 100644 /* No frame is actually processed */ vp9->cur_frame = NULL; diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c -index e18334e57fc0..610a92b9f6f2 100644 +index 7b15fc54efe4..5d2273d53d02 100644 --- a/drivers/staging/media/meson/vdec/esparser.c +++ b/drivers/staging/media/meson/vdec/esparser.c @@ -319,6 +319,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) @@ -453,7 +453,7 @@ index 0906b8fb5cc6..a48170fe4cff 100644 u8 quantization; u8 xfer_func; diff --git a/drivers/staging/media/meson/vdec/vdec_helpers.c b/drivers/staging/media/meson/vdec/vdec_helpers.c -index 203d7afa085d..23a69c51c634 100644 +index 7d2a75653250..d684057509bf 100644 --- a/drivers/staging/media/meson/vdec/vdec_helpers.c +++ b/drivers/staging/media/meson/vdec/vdec_helpers.c @@ -50,32 +50,40 @@ void amvdec_write_parser(struct amvdec_core *core, u32 reg, u32 val) @@ -507,7 +507,7 @@ index 203d7afa085d..23a69c51c634 100644 static int canvas_alloc(struct amvdec_session *sess, u8 *canvas_id) { -@@ -436,7 +444,7 @@ void amvdec_set_par_from_dar(struct amvdec_session *sess, +@@ -440,7 +448,7 @@ void amvdec_set_par_from_dar(struct amvdec_session *sess, EXPORT_SYMBOL_GPL(amvdec_set_par_from_dar); void amvdec_src_change(struct amvdec_session *sess, u32 width, @@ -516,7 +516,7 @@ index 203d7afa085d..23a69c51c634 100644 { static const struct v4l2_event ev = { .type = V4L2_EVENT_SOURCE_CHANGE, -@@ -444,25 +452,27 @@ void amvdec_src_change(struct amvdec_session *sess, u32 width, +@@ -448,25 +456,27 @@ void amvdec_src_change(struct amvdec_session *sess, u32 width, v4l2_ctrl_s_ctrl(sess->ctrl_min_buf_capture, dpb_size); @@ -552,7 +552,7 @@ index 203d7afa085d..23a69c51c634 100644 } EXPORT_SYMBOL_GPL(amvdec_src_change); diff --git a/drivers/staging/media/meson/vdec/vdec_helpers.h b/drivers/staging/media/meson/vdec/vdec_helpers.h -index 88137d15aa3a..fca4251f7599 100644 +index 4bf3e61d081b..1a711679d26a 100644 --- a/drivers/staging/media/meson/vdec/vdec_helpers.h +++ b/drivers/staging/media/meson/vdec/vdec_helpers.h @@ -27,9 +27,10 @@ void amvdec_clear_dos_bits(struct amvdec_core *core, u32 reg, u32 val); diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0064-WIP-drivers-meson-vdec-add-HEVC-decode-codec.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0047-WIP-drivers-meson-vdec-add-HEVC-decode-codec.patch similarity index 99% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0064-WIP-drivers-meson-vdec-add-HEVC-decode-codec.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0047-WIP-drivers-meson-vdec-add-HEVC-decode-codec.patch index 4883ce93a2..d55f6e224a 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0064-WIP-drivers-meson-vdec-add-HEVC-decode-codec.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0047-WIP-drivers-meson-vdec-add-HEVC-decode-codec.patch @@ -1,7 +1,7 @@ -From 478ef90d4bb38e6c5ae11c4abd6142fc7336c746 Mon Sep 17 00:00:00 2001 +From 667ed5bb98335462c0ca6554c75c33923c6e3e01 Mon Sep 17 00:00:00 2001 From: benjamin545 Date: Thu, 15 Jul 2021 17:08:42 -0400 -Subject: [PATCH 64/90] WIP: drivers: meson: vdec: add HEVC decode codec +Subject: [PATCH 47/75] WIP: drivers: meson: vdec: add HEVC decode codec --- drivers/staging/media/meson/vdec/Makefile | 2 +- @@ -1492,7 +1492,7 @@ index 000000000000..f2f9b2464df1 + +#endif diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c -index 610a92b9f6f2..9b6034936d32 100644 +index 5d2273d53d02..df5956c6141d 100644 --- a/drivers/staging/media/meson/vdec/esparser.c +++ b/drivers/staging/media/meson/vdec/esparser.c @@ -309,7 +309,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0065-WIP-drivers-meson-vdec-add-handling-to-HEVC-decoder-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0048-WIP-drivers-meson-vdec-add-handling-to-HEVC-decoder-.patch similarity index 97% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0065-WIP-drivers-meson-vdec-add-handling-to-HEVC-decoder-.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0048-WIP-drivers-meson-vdec-add-handling-to-HEVC-decoder-.patch index c02123d9e4..bca1742a1e 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0065-WIP-drivers-meson-vdec-add-handling-to-HEVC-decoder-.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0048-WIP-drivers-meson-vdec-add-handling-to-HEVC-decoder-.patch @@ -1,7 +1,7 @@ -From a9f750c672c4c1238cccd1d8d76a138a5602d035 Mon Sep 17 00:00:00 2001 +From 58471a413d6a439726405ca14a37901fb9f582e9 Mon Sep 17 00:00:00 2001 From: benjamin545 Date: Mon, 2 Aug 2021 15:18:40 -0400 -Subject: [PATCH 65/90] WIP: drivers: meson: vdec: add handling to HEVC decoder +Subject: [PATCH 48/75] WIP: drivers: meson: vdec: add handling to HEVC decoder to show frames when ready ..rather than when no longer referenced diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0066-WIP-drivers-meson-vdec-add-HEVC-support-to-GXBB.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0049-WIP-drivers-meson-vdec-add-HEVC-support-to-GXBB.patch similarity index 90% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0066-WIP-drivers-meson-vdec-add-HEVC-support-to-GXBB.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0049-WIP-drivers-meson-vdec-add-HEVC-support-to-GXBB.patch index 9a03d5f949..eaffea8e3b 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0066-WIP-drivers-meson-vdec-add-HEVC-support-to-GXBB.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0049-WIP-drivers-meson-vdec-add-HEVC-support-to-GXBB.patch @@ -1,7 +1,7 @@ -From 975c23d02776b023a75e6090b521a839e67a8c42 Mon Sep 17 00:00:00 2001 +From e1b8ad5bd7344587395410b88068d3876c8997c4 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 21 Nov 2021 19:12:07 +0000 -Subject: [PATCH 66/90] WIP: drivers: meson: vdec: add HEVC support to GXBB +Subject: [PATCH 49/75] WIP: drivers: meson: vdec: add HEVC support to GXBB It's not clear whether the GXL firmware is the same one used with GXBB but let's try it and see! diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0050-FROMLIST-v1-usb-core-improve-handling-of-hubs-with-n.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0050-FROMLIST-v1-usb-core-improve-handling-of-hubs-with-n.patch deleted file mode 100644 index e2ca9ad928..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0050-FROMLIST-v1-usb-core-improve-handling-of-hubs-with-n.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 477a4f4816028d590f7b013e04b29319dbe66a24 Mon Sep 17 00:00:00 2001 -From: Heiner Kallweit -Date: Wed, 23 Feb 2022 02:21:19 +0000 -Subject: [PATCH 50/90] FROMLIST(v1): usb: core: improve handling of hubs with - no ports - -I get the "hub doesn't have any ports" error message on a system with -Amlogic S905W SoC. Seems the SoC has internal USB 3.0 supports but -is crippled with regard to USB 3.0 ports. -Maybe we shouldn't consider this scenario an error. So let's change -the message to info level, but otherwise keep the handling of the -scenario as it is today. With the patch it looks like this on my -system. - -dwc2 c9100000.usb: supply vusb_d not found, using dummy regulator -dwc2 c9100000.usb: supply vusb_a not found, using dummy regulator -dwc2 c9100000.usb: EPs: 7, dedicated fifos, 712 entries in SPRAM -xhci-hcd xhci-hcd.0.auto: xHCI Host Controller -xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1 -xhci-hcd xhci-hcd.0.auto: hcc params 0x0228f664 hci version 0x100 quirks 0x0000000002010010 -xhci-hcd xhci-hcd.0.auto: irq 49, io mem 0xc9000000 -hub 1-0:1.0: USB hub found -hub 1-0:1.0: 2 ports detected -xhci-hcd xhci-hcd.0.auto: xHCI Host Controller -xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2 -xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed -usb usb2: We don't know the algorithms for LPM for this host, disabling LPM. -hub 2-0:1.0: USB hub found -hub 2-0:1.0: hub has no ports, exiting - -Signed-off-by: Heiner Kallweit ---- - drivers/usb/core/hub.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 588f3ded89cd..4151b960915b 100644 ---- a/drivers/usb/core/hub.c -+++ b/drivers/usb/core/hub.c -@@ -1423,9 +1423,8 @@ static int hub_configure(struct usb_hub *hub, - ret = -ENODEV; - goto fail; - } else if (hub->descriptor->bNbrPorts == 0) { -- message = "hub doesn't have any ports!"; -- ret = -ENODEV; -- goto fail; -+ dev_info(hub_dev, "hub has no ports, exiting\n"); -+ return -ENODEV; - } - - /* --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0067-WIP-drivers-meson-vdec-check-if-parser-has-really-pa.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0050-WIP-drivers-meson-vdec-check-if-parser-has-really-pa.patch similarity index 87% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0067-WIP-drivers-meson-vdec-check-if-parser-has-really-pa.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0050-WIP-drivers-meson-vdec-check-if-parser-has-really-pa.patch index 1f4ca5189d..3d8ecbbecb 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0067-WIP-drivers-meson-vdec-check-if-parser-has-really-pa.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0050-WIP-drivers-meson-vdec-check-if-parser-has-really-pa.patch @@ -1,7 +1,7 @@ -From cb0c20e84a934c66961ace27f340cd7c98188dbe Mon Sep 17 00:00:00 2001 +From d072a2e0e20a14e7a11c6bbf2a70b0be0f5b25db Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Mon, 22 Nov 2021 09:15:21 +0000 -Subject: [PATCH 67/90] WIP: drivers: meson: vdec: check if parser has really +Subject: [PATCH 50/75] WIP: drivers: meson: vdec: check if parser has really parser before marking input buffer as error Signed-off-by: Neil Armstrong @@ -10,7 +10,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c -index 9b6034936d32..bb9480f0a70c 100644 +index df5956c6141d..06f627b141fb 100644 --- a/drivers/staging/media/meson/vdec/esparser.c +++ b/drivers/staging/media/meson/vdec/esparser.c @@ -300,6 +300,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) @@ -21,7 +21,7 @@ index 9b6034936d32..bb9480f0a70c 100644 /* * When max ref frame is held by VP9, this should be -= 3 to prevent a -@@ -349,15 +350,20 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) +@@ -354,15 +355,20 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) } pad_size = esparser_pad_start_code(core, vb, payload_size); diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0051-FROMLIST-v2-ASoC-soc-core-add-debugfs_prefix-member-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0051-FROMLIST-v2-ASoC-soc-core-add-debugfs_prefix-member-.patch deleted file mode 100644 index 970fe32ae6..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0051-FROMLIST-v2-ASoC-soc-core-add-debugfs_prefix-member-.patch +++ /dev/null @@ -1,55 +0,0 @@ -From a3d32cc21b3d206d13f9cf4e475206e47d57f9c5 Mon Sep 17 00:00:00 2001 -From: Heiner Kallweit -Date: Thu, 10 Mar 2022 06:06:23 +0000 -Subject: [PATCH 51/90] FROMLIST(v2): ASoC: soc-core: add debugfs_prefix member - to snd_soc_component_driver - -Allow the component debugfs_prefix to be set from -snd_soc_component_driver. First use case is avoiding a duplicate -debugfs entry error in case a device has multiple components -which have the same name therefore. - -Note that we don't set component->debugfs_prefix if it's set already. -That's needed because partially component->debugfs_prefix is set -before calling snd_soc_component_initialize(). - -Signed-off-by: Heiner Kallweit ---- - include/sound/soc-component.h | 4 ++++ - sound/soc/soc-core.c | 5 +++++ - 2 files changed, 9 insertions(+) - -diff --git a/include/sound/soc-component.h b/include/sound/soc-component.h -index a52080407b98..766dc6f009c0 100644 ---- a/include/sound/soc-component.h -+++ b/include/sound/soc-component.h -@@ -179,6 +179,10 @@ struct snd_soc_component_driver { - struct snd_pcm_hw_params *params); - bool use_dai_pcm_id; /* use DAI link PCM ID as PCM device number */ - int be_pcm_base; /* base device ID for all BE PCMs */ -+ -+#ifdef CONFIG_DEBUG_FS -+ const char *debugfs_prefix; -+#endif - }; - - struct snd_soc_component { -diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c -index 434e61b46983..8ac0b32a018c 100644 ---- a/sound/soc/soc-core.c -+++ b/sound/soc/soc-core.c -@@ -2586,6 +2586,11 @@ int snd_soc_component_initialize(struct snd_soc_component *component, - component->dev = dev; - component->driver = driver; - -+#ifdef CONFIG_DEBUG_FS -+ if (!component->debugfs_prefix) -+ component->debugfs_prefix = driver->debugfs_prefix; -+#endif -+ - return 0; - } - EXPORT_SYMBOL_GPL(snd_soc_component_initialize); --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0088-WIP-drm-meson-meson_vclk-fix-VIC-alternate-timings.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0051-WIP-drm-meson-meson_vclk-fix-VIC-alternate-timings.patch similarity index 92% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0088-WIP-drm-meson-meson_vclk-fix-VIC-alternate-timings.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0051-WIP-drm-meson-meson_vclk-fix-VIC-alternate-timings.patch index 3de91f16e6..306b1b065d 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0088-WIP-drm-meson-meson_vclk-fix-VIC-alternate-timings.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0051-WIP-drm-meson-meson_vclk-fix-VIC-alternate-timings.patch @@ -1,7 +1,7 @@ -From 06fe0cdc82836f529cbc57f608aff95c032d85eb Mon Sep 17 00:00:00 2001 +From 51babedd158973b9b578fda731177705b453e339 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 13 Feb 2022 08:53:39 +0000 -Subject: [PATCH 88/90] WIP: drm/meson/meson_vclk: fix VIC alternate timings +Subject: [PATCH 51/75] WIP: drm/meson/meson_vclk: fix VIC alternate timings 4K VP9 media with 59.94 fractional refresh rate refuses to play with the screen going blank (no sync) and the following error reported in diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0052-FROMLIST-v2-ASoC-meson-aiu-fix-duplicate-debugfs-dir.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0052-FROMLIST-v2-ASoC-meson-aiu-fix-duplicate-debugfs-dir.patch deleted file mode 100644 index 87be362f9f..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0052-FROMLIST-v2-ASoC-meson-aiu-fix-duplicate-debugfs-dir.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 7d9d88da9a294a6475d62a3857b7d2d5cc3d4fd5 Mon Sep 17 00:00:00 2001 -From: Heiner Kallweit -Date: Thu, 10 Mar 2022 06:07:27 +0000 -Subject: [PATCH 52/90] FROMLIST(v2): ASoC: meson: aiu: fix duplicate debugfs - directory error - -On a S905W-based system I get the following error: -debugfs: Directory 'c1105400.audio-controller' with parent 'P230-Q200' already present! - -Turned out that multiple components having the same name triggers this -error in soc_init_component_debugfs(). With the patch the error is gone -and that's the debugfs entries. - -/sys/kernel/debug/asoc/P230-Q200/acodec:c1105400.audio-controller -/sys/kernel/debug/asoc/P230-Q200/hdmi:c1105400.audio-controller -/sys/kernel/debug/asoc/P230-Q200/cpu:c1105400.audio-controller - -Signed-off-by: Heiner Kallweit ---- - sound/soc/meson/aiu-acodec-ctrl.c | 3 +++ - sound/soc/meson/aiu-codec-ctrl.c | 3 +++ - sound/soc/meson/aiu.c | 3 +++ - 3 files changed, 9 insertions(+) - -diff --git a/sound/soc/meson/aiu-acodec-ctrl.c b/sound/soc/meson/aiu-acodec-ctrl.c -index 27a6d3259c50..22e181646bc3 100644 ---- a/sound/soc/meson/aiu-acodec-ctrl.c -+++ b/sound/soc/meson/aiu-acodec-ctrl.c -@@ -193,6 +193,9 @@ static const struct snd_soc_component_driver aiu_acodec_ctrl_component = { - .of_xlate_dai_name = aiu_acodec_of_xlate_dai_name, - .endianness = 1, - .non_legacy_dai_naming = 1, -+#ifdef CONFIG_DEBUG_FS -+ .debugfs_prefix = "acodec", -+#endif - }; - - int aiu_acodec_ctrl_register_component(struct device *dev) -diff --git a/sound/soc/meson/aiu-codec-ctrl.c b/sound/soc/meson/aiu-codec-ctrl.c -index 2b8575491aeb..225b330b732c 100644 ---- a/sound/soc/meson/aiu-codec-ctrl.c -+++ b/sound/soc/meson/aiu-codec-ctrl.c -@@ -192,6 +192,9 @@ static const struct snd_soc_component_driver aiu_hdmi_ctrl_component = { - .of_xlate_dai_name = aiu_hdmi_of_xlate_dai_name, - .endianness = 1, - .non_legacy_dai_naming = 1, -+#ifdef CONFIG_DEBUG_FS -+ .debugfs_prefix = "hdmi", -+#endif - }; - - int aiu_hdmi_ctrl_register_component(struct device *dev) -diff --git a/sound/soc/meson/aiu.c b/sound/soc/meson/aiu.c -index d299a70db7e5..88e611e64d14 100644 ---- a/sound/soc/meson/aiu.c -+++ b/sound/soc/meson/aiu.c -@@ -103,6 +103,9 @@ static const struct snd_soc_component_driver aiu_cpu_component = { - .pointer = aiu_fifo_pointer, - .probe = aiu_cpu_component_probe, - .remove = aiu_cpu_component_remove, -+#ifdef CONFIG_DEBUG_FS -+ .debugfs_prefix = "cpu", -+#endif - }; - - static struct snd_soc_dai_driver aiu_cpu_dai_drv[] = { --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0068-WIP-arm64-dts-meson-radxa-zero-add-support-for-the-u.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0052-WIP-arm64-dts-meson-radxa-zero-add-support-for-the-u.patch similarity index 94% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0068-WIP-arm64-dts-meson-radxa-zero-add-support-for-the-u.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0052-WIP-arm64-dts-meson-radxa-zero-add-support-for-the-u.patch index 7287f10aeb..a82c1df37c 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0068-WIP-arm64-dts-meson-radxa-zero-add-support-for-the-u.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0052-WIP-arm64-dts-meson-radxa-zero-add-support-for-the-u.patch @@ -1,7 +1,7 @@ -From 795fad491189f7fd6034d6d639602119a4e60755 Mon Sep 17 00:00:00 2001 +From c0bb4618f0a7c54d8c0787486e3b86c51d99fe0b Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Tue, 17 Aug 2021 16:16:43 +0000 -Subject: [PATCH 68/90] WIP: arm64: dts: meson: radxa-zero: add support for the +Subject: [PATCH 52/75] WIP: arm64: dts: meson: radxa-zero: add support for the usb type-c controller Radxa Zero uses an FUSB302 type-c controller, so lets enable it. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0069-WIP-dt-bindings-arm-amlogic-add-support-for-Radxa-Ze.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0053-WIP-dt-bindings-arm-amlogic-add-support-for-Radxa-Ze.patch similarity index 82% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0069-WIP-dt-bindings-arm-amlogic-add-support-for-Radxa-Ze.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0053-WIP-dt-bindings-arm-amlogic-add-support-for-Radxa-Ze.patch index 2295ad5201..90ee8ec6a5 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0069-WIP-dt-bindings-arm-amlogic-add-support-for-Radxa-Ze.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0053-WIP-dt-bindings-arm-amlogic-add-support-for-Radxa-Ze.patch @@ -1,7 +1,7 @@ -From 9c2db9e795f4d73e78a02f6c8cb313e6bcf34f7e Mon Sep 17 00:00:00 2001 +From 950b0bf5323a1d098df793f5e0a167c52ce586c9 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 16 Feb 2022 07:27:07 +0000 -Subject: [PATCH 69/90] WIP: dt-bindings: arm: amlogic: add support for Radxa +Subject: [PATCH 53/75] WIP: dt-bindings: arm: amlogic: add support for Radxa Zero2 The Radxa Zero2 is a small form-factor SBC using the Amlogic @@ -13,7 +13,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 05365bb50b29..d069aecabeb3 100644 +index 61a6cabb375b..bf32821281b1 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.yaml +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml @@ -152,6 +152,7 @@ properties: diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0070-WIP-arm64-dts-meson-add-support-for-Radxa-Zero2.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0054-WIP-arm64-dts-meson-add-support-for-Radxa-Zero2.patch similarity index 97% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0070-WIP-arm64-dts-meson-add-support-for-Radxa-Zero2.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0054-WIP-arm64-dts-meson-add-support-for-Radxa-Zero2.patch index 2da001ffa0..b5db247891 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0070-WIP-arm64-dts-meson-add-support-for-Radxa-Zero2.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0054-WIP-arm64-dts-meson-add-support-for-Radxa-Zero2.patch @@ -1,7 +1,7 @@ -From aadb6d12609309106f6ab7a56face84c19859796 Mon Sep 17 00:00:00 2001 +From 534da1209ca0fe47367b6180e1ec823fd26cdfe1 Mon Sep 17 00:00:00 2001 From: Yuntian Zhang Date: Fri, 14 Jan 2022 15:50:02 +0000 -Subject: [PATCH 70/90] WIP: arm64: dts: meson: add support for Radxa Zero2 +Subject: [PATCH 54/75] WIP: arm64: dts: meson: add support for Radxa Zero2 Radxa Zero2 is a small form factor SBC based on the Amlogic A311D chipset that ships in a number of eMMC configurations: @@ -26,17 +26,17 @@ Signed-off-by: Christian Hewitt create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 383e9fb49852..d606270f7db2 100644 +index 3e3c48f53b02..1afc3366c7ee 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -12,6 +12,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-khadas-vim3.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb +@@ -12,6 +12,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts new file mode 100644 index 000000000000..fefa6f2b7abf diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0071-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0055-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch similarity index 92% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0071-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0055-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch index fdf508d6be..5ec115aaae 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0071-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0055-WIP-arm64-dts-meson-add-audio-playback-to-p201.patch @@ -1,7 +1,7 @@ -From 810b78077ca7574f999e2fa68753778c26dbcdf2 Mon Sep 17 00:00:00 2001 +From 33938c18450ada5caa78ff097df932049cb7fc96 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 15 May 2020 07:52:47 +0000 -Subject: [PATCH 71/90] WIP: arm64: dts: meson: add audio playback to p201 +Subject: [PATCH 55/75] WIP: arm64: dts: meson: add audio playback to p201 Add initial audio support limited to HDMI i2s. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0072-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0056-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch similarity index 94% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0072-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0056-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch index b095acadc9..b5f35f02b6 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0072-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0056-WIP-arm64-dts-meson-add-audio-playback-to-p200.patch @@ -1,7 +1,7 @@ -From 9d33954e9242785f5baf611b45f2f5a4af43a446 Mon Sep 17 00:00:00 2001 +From 294deb40792a87e9d2f0881bb0ba5bb6b10ff05a Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Fri, 15 May 2020 07:56:15 +0000 -Subject: [PATCH 72/90] WIP: arm64: dts: meson: add audio playback to p200 +Subject: [PATCH 56/75] WIP: arm64: dts: meson: add audio playback to p200 Add initial support limited to HDMI i2s and SPDIF (LPCM). diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0073-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0057-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch similarity index 96% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0073-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0057-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch index 8edffc7ba9..23f2c220a6 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0073-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0057-WIP-arm64-dts-meson-add-audio-playback-to-u200.patch @@ -1,7 +1,7 @@ -From cd4ccfa569b37714d3bb0da970018c7201480811 Mon Sep 17 00:00:00 2001 +From 7f6100e93b3fe6c2afb8086cbe5e09d897b5a6e5 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 17 May 2020 05:00:55 +0000 -Subject: [PATCH 73/90] WIP: arm64: dts: meson: add audio playback to u200 +Subject: [PATCH 57/75] WIP: arm64: dts: meson: add audio playback to u200 Add initial support limited to HDMI i2s and SPDIF (LPCM). diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0074-WIP-arm64-dts-meson-add-Headphone-output-to-Beelink-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0058-WIP-arm64-dts-meson-add-Headphone-output-to-Beelink-.patch similarity index 97% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0074-WIP-arm64-dts-meson-add-Headphone-output-to-Beelink-.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0058-WIP-arm64-dts-meson-add-Headphone-output-to-Beelink-.patch index b0b0640a56..637323a596 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0074-WIP-arm64-dts-meson-add-Headphone-output-to-Beelink-.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0058-WIP-arm64-dts-meson-add-Headphone-output-to-Beelink-.patch @@ -1,7 +1,7 @@ -From 91ffd9ae8a3465528cdd8ea37afd28537121159c Mon Sep 17 00:00:00 2001 +From 085a0ee83c3f23cc07c347925923ed479aa3b72c Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sat, 27 Nov 2021 13:50:06 +0000 -Subject: [PATCH 74/90] WIP: arm64: dts: meson: add Headphone output to Beelink +Subject: [PATCH 58/75] WIP: arm64: dts: meson: add Headphone output to Beelink GT-King Add support for the Headphone audio DAC built-in to the S922X chip. diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0075-WIP-dt-bindings-arm-amlogic-add-support-for-the-Tani.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0059-WIP-dt-bindings-arm-amlogic-add-support-for-the-Tani.patch similarity index 83% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0075-WIP-dt-bindings-arm-amlogic-add-support-for-the-Tani.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0059-WIP-dt-bindings-arm-amlogic-add-support-for-the-Tani.patch index 03dff4a917..733376c70c 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0075-WIP-dt-bindings-arm-amlogic-add-support-for-the-Tani.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0059-WIP-dt-bindings-arm-amlogic-add-support-for-the-Tani.patch @@ -1,7 +1,7 @@ -From 530878a80414883138169088a12f002d30d5b0c1 Mon Sep 17 00:00:00 2001 +From 4b6f1b8abba54458afcb681d10af83de55d27914 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sat, 29 Feb 2020 15:13:02 +0000 -Subject: [PATCH 75/90] WIP: dt-bindings: arm: amlogic: add support for the +Subject: [PATCH 59/75] WIP: dt-bindings: arm: amlogic: add support for the Tanix TX5 Max The Oranth (Tanix) TX5 Max is based on the Amlogic U200 reference @@ -13,7 +13,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index d069aecabeb3..56fe7d25b892 100644 +index bf32821281b1..549715524184 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.yaml +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml @@ -144,6 +144,7 @@ properties: diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0076-WIP-arm64-dts-meson-add-support-for-the-Tanix-TX5-Ma.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0060-WIP-arm64-dts-meson-add-support-for-the-Tanix-TX5-Ma.patch similarity index 96% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0076-WIP-arm64-dts-meson-add-support-for-the-Tanix-TX5-Ma.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0060-WIP-arm64-dts-meson-add-support-for-the-Tanix-TX5-Ma.patch index 358b8c61c6..9a7d49f7b3 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0076-WIP-arm64-dts-meson-add-support-for-the-Tanix-TX5-Ma.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0060-WIP-arm64-dts-meson-add-support-for-the-Tanix-TX5-Ma.patch @@ -1,7 +1,7 @@ -From ee948717cbc1d5adbe2e056d06a50761f46fba0d Mon Sep 17 00:00:00 2001 +From e5377c6a08722bb2fc4e782615ca5b4b0a58ff40 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 20 Oct 2019 04:06:59 +0000 -Subject: [PATCH 76/90] WIP: arm64: dts: meson: add support for the Tanix TX5 +Subject: [PATCH 60/75] WIP: arm64: dts: meson: add support for the Tanix TX5 Max The Tanix TX5 Max is based on the Amlogic U200 reference design @@ -26,17 +26,17 @@ Signed-off-by: Christian Hewitt create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12a-tanix-tx5max.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index d606270f7db2..0bc5a6d1374e 100644 +index 1afc3366c7ee..17016f4fd4ef 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb +@@ -4,6 +4,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb dtb-$(CONFIG_ARCH_MESON) += meson-g12a-radxa-zero.dtb dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-g12a-tanix-tx5max.dtb dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gsking-x.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-khadas-vim3.dtb diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-tanix-tx5max.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-tanix-tx5max.dts new file mode 100644 index 000000000000..0e55427ca398 diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0077-WIP-arm64-dts-meson-add-multiple-MeCool-device-trees.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0061-WIP-arm64-dts-meson-add-multiple-MeCool-device-trees.patch similarity index 82% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0077-WIP-arm64-dts-meson-add-multiple-MeCool-device-trees.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0061-WIP-arm64-dts-meson-add-multiple-MeCool-device-trees.patch index 31a91ffb03..2b11137c01 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0077-WIP-arm64-dts-meson-add-multiple-MeCool-device-trees.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0061-WIP-arm64-dts-meson-add-multiple-MeCool-device-trees.patch @@ -1,7 +1,7 @@ -From 5c0f2fc10f7b82453281aacdbb8f750384829b10 Mon Sep 17 00:00:00 2001 +From d0d0132c7c50539b69621b512c2266d3d1f27f5f Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Mon, 21 Oct 2019 03:58:06 +0000 -Subject: [PATCH 77/90] WIP: arm64: dts: meson: add multiple MeCool device +Subject: [PATCH 61/75] WIP: arm64: dts: meson: add multiple MeCool device trees This adds initial device trees for a range of MeCool devices based on various @@ -11,13 +11,13 @@ prepares for the addition of DVB support in the future. Signed-off-by: Christian Hewitt --- - arch/arm64/boot/dts/amlogic/Makefile | 5 +++ + arch/arm64/boot/dts/amlogic/Makefile | 11 ++++++ .../dts/amlogic/meson-gxbb-mecool-ki-plus.dts | 34 +++++++++++++++++++ .../dts/amlogic/meson-gxbb-mecool-kii-pro.dts | 34 +++++++++++++++++++ .../meson-gxl-s905d-mecool-ki-plus.dts | 21 ++++++++++++ .../amlogic/meson-gxl-s905d-mecool-ki-pro.dts | 16 +++++++++ .../meson-gxl-s905d-mecool-m8s-plus.dts | 16 +++++++++ - 6 files changed, 126 insertions(+) + 6 files changed, 132 insertions(+) create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-mecool-ki-plus.dts create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-mecool-kii-pro.dts create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-ki-plus.dts @@ -25,11 +25,11 @@ Signed-off-by: Christian Hewitt create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905d-mecool-m8s-plus.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 0bc5a6d1374e..8607056c8a60 100644 +index 17016f4fd4ef..ae5130fd4a7a 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -16,6 +16,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb +@@ -17,6 +17,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-ki-plus.dtb @@ -37,10 +37,10 @@ index 0bc5a6d1374e..8607056c8a60 100644 dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb -@@ -33,7 +35,10 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb +@@ -30,12 +32,21 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-wetek-play2.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-libretech-ac.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-p241.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-libretech-pc.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-mecool-ki-plus.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-mecool-ki-pro.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-mecool-kii-pro.dtb @@ -48,6 +48,17 @@ index 0bc5a6d1374e..8607056c8a60 100644 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-phicomm-n1.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-sml5442tw.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-vero4k-plus.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-hwacom-amazetv.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-khadas-vim.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-jethome-jethub-j80.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-mecool-ki-plus.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-mecool-ki-plus.dts new file mode 100644 index 000000000000..cb422633a8f9 diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0078-WIP-dt-bindings-arm-amlogic-add-support-for-Minix-NE.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0062-WIP-dt-bindings-arm-amlogic-add-support-for-Minix-NE.patch similarity index 84% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0078-WIP-dt-bindings-arm-amlogic-add-support-for-Minix-NE.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0062-WIP-dt-bindings-arm-amlogic-add-support-for-Minix-NE.patch index 8fb1eff84e..69ff5cd916 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0078-WIP-dt-bindings-arm-amlogic-add-support-for-Minix-NE.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0062-WIP-dt-bindings-arm-amlogic-add-support-for-Minix-NE.patch @@ -1,7 +1,7 @@ -From be308e6dcb61298b822da615cdcd239efe74cbb7 Mon Sep 17 00:00:00 2001 +From 37d76038f757c93ca0d7d92412c093fc719ebf7e Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 11 Apr 2021 05:50:13 +0000 -Subject: [PATCH 78/90] WIP: dt-bindings: arm: amlogic: add support for Minix +Subject: [PATCH 62/75] WIP: dt-bindings: arm: amlogic: add support for Minix NEO-U1 The Minix NEO-U1 is an Android STB based on the Amlogic P200 (GXBB) @@ -13,7 +13,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 56fe7d25b892..5ae242fd767b 100644 +index 549715524184..4a9334f626f9 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.yaml +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml @@ -58,6 +58,7 @@ properties: diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0079-WIP-arm64-dts-meson-add-initial-device-tree-for-Mini.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0063-WIP-arm64-dts-meson-add-initial-device-tree-for-Mini.patch similarity index 95% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0079-WIP-arm64-dts-meson-add-initial-device-tree-for-Mini.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0063-WIP-arm64-dts-meson-add-initial-device-tree-for-Mini.patch index 02d7375f3d..9a790d268b 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0079-WIP-arm64-dts-meson-add-initial-device-tree-for-Mini.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0063-WIP-arm64-dts-meson-add-initial-device-tree-for-Mini.patch @@ -1,7 +1,7 @@ -From 09b79df08522547ca9bf79dde6b45abfc39a9b2c Mon Sep 17 00:00:00 2001 +From 2af0a5558530c91e8c8fed11467da976f06f67ec Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 11 Apr 2021 05:52:14 +0000 -Subject: [PATCH 79/90] WIP: arm64: dts: meson: add initial device-tree for +Subject: [PATCH 63/75] WIP: arm64: dts: meson: add initial device-tree for Minix NEO-U1 The Minix NEO-U1 is an Android STB based on the Amlogic P200 (GXBB) @@ -30,10 +30,10 @@ Signed-off-by: Christian Hewitt create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-minix-neo-u1.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 8607056c8a60..4d6bb615d8e3 100644 +index ae5130fd4a7a..aefd3fb784d8 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -18,6 +18,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb +@@ -19,6 +19,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-ki-plus.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-kii-pro.dtb diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0080-WIP-media-rc-add-keymap-for-Beelink-Mini-MXIII-remot.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0064-WIP-media-rc-add-keymap-for-Beelink-Mini-MXIII-remot.patch similarity index 93% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0080-WIP-media-rc-add-keymap-for-Beelink-Mini-MXIII-remot.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0064-WIP-media-rc-add-keymap-for-Beelink-Mini-MXIII-remot.patch index 5e9688c625..724cc16286 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0080-WIP-media-rc-add-keymap-for-Beelink-Mini-MXIII-remot.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0064-WIP-media-rc-add-keymap-for-Beelink-Mini-MXIII-remot.patch @@ -1,7 +1,7 @@ -From 2ca5320afed93f431117fb490a2eabde8cbc2574 Mon Sep 17 00:00:00 2001 +From 318ae4d2828571247e5b49676d0a01ad42c42494 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 8 Dec 2021 15:33:47 +0000 -Subject: [PATCH 80/90] WIP: media: rc: add keymap for Beelink Mini MXIII +Subject: [PATCH 64/75] WIP: media: rc: add keymap for Beelink Mini MXIII remote Add a keymap and bindings for the simple IR (NEC) remote used with @@ -29,16 +29,16 @@ index d4c541c4b164..ab28159a1768 100644 - rc-behold-columbus - rc-budget-ci-old diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile -index 5fe5c9e1a46d..5dc7e2c0e62a 100644 +index f513ff5caf4e..f3bf9878d72c 100644 --- a/drivers/media/rc/keymaps/Makefile +++ b/drivers/media/rc/keymaps/Makefile -@@ -18,6 +18,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \ +@@ -22,6 +22,7 @@ obj-$(CONFIG_RC_MAP) += \ rc-avertv-303.o \ rc-azurewave-ad-tu700.o \ rc-beelink-gs1.o \ + rc-beelink-mxiii.o \ - rc-behold.o \ rc-behold-columbus.o \ + rc-behold.o \ rc-budget-ci-old.o \ diff --git a/drivers/media/rc/keymaps/rc-beelink-mxiii.c b/drivers/media/rc/keymaps/rc-beelink-mxiii.c new file mode 100644 diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0081-WIP-dt-bindings-arm-amlogic-add-support-for-Beelink-.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0065-WIP-dt-bindings-arm-amlogic-add-support-for-Beelink-.patch similarity index 84% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0081-WIP-dt-bindings-arm-amlogic-add-support-for-Beelink-.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0065-WIP-dt-bindings-arm-amlogic-add-support-for-Beelink-.patch index c4b1350eb1..c7d52ac5c0 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0081-WIP-dt-bindings-arm-amlogic-add-support-for-Beelink-.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0065-WIP-dt-bindings-arm-amlogic-add-support-for-Beelink-.patch @@ -1,7 +1,7 @@ -From 44518805812a8e8d1fec4699c102359d4684eeb7 Mon Sep 17 00:00:00 2001 +From 0a079e9c7149766df7cfa6cbd94d2d26c2d5a0cf Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 8 Dec 2021 15:28:50 +0000 -Subject: [PATCH 81/90] WIP: dt-bindings: arm: amlogic: add support for Beelink +Subject: [PATCH 65/75] WIP: dt-bindings: arm: amlogic: add support for Beelink Mini MXIII The Beelink Mini MXIII is an Android STB based on the Amlogic P200 @@ -13,7 +13,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 5ae242fd767b..7bf98a03a999 100644 +index 4a9334f626f9..eb360bf4789a 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.yaml +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml @@ -56,6 +56,7 @@ properties: diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0082-WIP-arm64-dts-meson-add-support-for-Beelink-Mini-MXI.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0066-WIP-arm64-dts-meson-add-support-for-Beelink-Mini-MXI.patch similarity index 94% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0082-WIP-arm64-dts-meson-add-support-for-Beelink-Mini-MXI.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0066-WIP-arm64-dts-meson-add-support-for-Beelink-Mini-MXI.patch index 1814a2c4a0..49272dffd8 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0082-WIP-arm64-dts-meson-add-support-for-Beelink-Mini-MXI.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0066-WIP-arm64-dts-meson-add-support-for-Beelink-Mini-MXI.patch @@ -1,7 +1,7 @@ -From ebeac16a213b495bb6a522a49d8de6626b6792d0 Mon Sep 17 00:00:00 2001 +From 573b07e5fd5d0f97666594496a20528f8c838bb4 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 8 Dec 2021 15:26:00 +0000 -Subject: [PATCH 82/90] WIP: arm64: dts: meson: add support for Beelink Mini +Subject: [PATCH 66/75] WIP: arm64: dts: meson: add support for Beelink Mini MXIII This is a GXBB board that ships in two variants, one with @@ -15,11 +15,11 @@ Signed-off-by: Christian Hewitt create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-beelink-mini-mxiii.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 4d6bb615d8e3..8014a6a43ba7 100644 +index aefd3fb784d8..bb21e1eb187d 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -16,6 +16,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb +@@ -17,6 +17,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-beelink-mini-mxiii.dtb diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0083-WIP-media-rc-add-keymap-for-MeCool-M8S-Pro-W-remote.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0067-WIP-media-rc-add-keymap-for-MeCool-M8S-Pro-W-remote.patch similarity index 92% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0083-WIP-media-rc-add-keymap-for-MeCool-M8S-Pro-W-remote.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0067-WIP-media-rc-add-keymap-for-MeCool-M8S-Pro-W-remote.patch index 8967b77944..842c2604e4 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0083-WIP-media-rc-add-keymap-for-MeCool-M8S-Pro-W-remote.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0067-WIP-media-rc-add-keymap-for-MeCool-M8S-Pro-W-remote.patch @@ -1,7 +1,7 @@ -From c917ffe10b62477459db1348925324e82710aa33 Mon Sep 17 00:00:00 2001 +From 55cc90964032d3d15748ea218be70bd36c124478 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 16 Jan 2022 08:48:02 +0000 -Subject: [PATCH 83/90] WIP: media: rc: add keymap for MeCool M8S Pro W remote +Subject: [PATCH 67/75] WIP: media: rc: add keymap for MeCool M8S Pro W remote Add a keymap and bindings for the simple IR (NEC) remote used with the MeCool M8S Pro W Android STB device. @@ -9,10 +9,10 @@ the MeCool M8S Pro W Android STB device. Signed-off-by: Christian Hewitt --- .../devicetree/bindings/media/rc.yaml | 1 + - drivers/media/rc/keymaps/Makefile | 1 + + drivers/media/rc/keymaps/Makefile | 2 + .../media/rc/keymaps/rc-mecool-m8s-pro-w.c | 75 +++++++++++++++++++ include/media/rc-map.h | 1 + - 4 files changed, 78 insertions(+) + 4 files changed, 79 insertions(+) create mode 100644 drivers/media/rc/keymaps/rc-mecool-m8s-pro-w.c diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml @@ -28,16 +28,17 @@ index ab28159a1768..4bad220cb645 100644 - rc-medion-x10-digitainer - rc-medion-x10-or2x diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile -index 5dc7e2c0e62a..65be4a05d2f9 100644 +index f3bf9878d72c..ef48a6bbeca4 100644 --- a/drivers/media/rc/keymaps/Makefile +++ b/drivers/media/rc/keymaps/Makefile -@@ -70,6 +70,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \ +@@ -75,6 +75,8 @@ obj-$(CONFIG_RC_MAP) += \ rc-manli.o \ - rc-mecool-kii-pro.o \ rc-mecool-kiii-pro.o \ + rc-mecool-kii-pro.o \ + rc-mecool-m8s-pro-w.o \ - rc-medion-x10.o \ ++ rc-medion-x10.o \ rc-medion-x10-digitainer.o \ + rc-medion-x10.o \ rc-medion-x10-or2x.o \ diff --git a/drivers/media/rc/keymaps/rc-mecool-m8s-pro-w.c b/drivers/media/rc/keymaps/rc-mecool-m8s-pro-w.c new file mode 100644 diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0084-WIP-dt-bindings-arm-amlogic-add-support-for-MeCool-M.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0068-WIP-dt-bindings-arm-amlogic-add-support-for-MeCool-M.patch similarity index 83% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0084-WIP-dt-bindings-arm-amlogic-add-support-for-MeCool-M.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0068-WIP-dt-bindings-arm-amlogic-add-support-for-MeCool-M.patch index 898f261d78..fe8d48cb3f 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0084-WIP-dt-bindings-arm-amlogic-add-support-for-MeCool-M.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0068-WIP-dt-bindings-arm-amlogic-add-support-for-MeCool-M.patch @@ -1,7 +1,7 @@ -From 2191b379bed5f7b7f7e56b29ece6011e49a55ae7 Mon Sep 17 00:00:00 2001 +From 92c67619656a78f3b83a8a9fea69c4972f43c0cd Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 16 Jan 2022 08:15:36 +0000 -Subject: [PATCH 84/90] WIP: dt-bindings: arm: amlogic: add support for MeCool +Subject: [PATCH 68/75] WIP: dt-bindings: arm: amlogic: add support for MeCool M8S Pro W The MeCool M8S Pro W is an Android STB based on the Amlogic P281 @@ -13,7 +13,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 7bf98a03a999..0ee4a83cea2f 100644 +index eb360bf4789a..2f0eddea5729 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.yaml +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml @@ -89,6 +89,7 @@ properties: diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0085-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-W.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0069-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-W.patch similarity index 93% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0085-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-W.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0069-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-W.patch index 52bc274df5..02deaa77a7 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0085-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-W.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0069-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-W.patch @@ -1,7 +1,7 @@ -From 75d63879080f31874d4ab7199e2fb43ca6f05dc8 Mon Sep 17 00:00:00 2001 +From 5ff1eb9a81cbe2f39e080c8f83622a547f8a8a69 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sun, 16 Jan 2022 08:17:41 +0000 -Subject: [PATCH 85/90] WIP: arm64: dts: meson: add support for MeCool M8S Pro +Subject: [PATCH 69/75] WIP: arm64: dts: meson: add support for MeCool M8S Pro W MeCool M8S Pro W is an Android STB based on the Amlogic P281 (GXL) diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0086-WIP-dt-bindings-arm-amlogic-add-Vero-4K-binding.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0070-WIP-dt-bindings-arm-amlogic-add-Vero-4K-binding.patch similarity index 82% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0086-WIP-dt-bindings-arm-amlogic-add-Vero-4K-binding.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0070-WIP-dt-bindings-arm-amlogic-add-Vero-4K-binding.patch index 9438255a63..f7ff3b9ba2 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0086-WIP-dt-bindings-arm-amlogic-add-Vero-4K-binding.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0070-WIP-dt-bindings-arm-amlogic-add-Vero-4K-binding.patch @@ -1,7 +1,7 @@ -From dcbcb4b9640b59d4469c82752e5c1a922c6629f9 Mon Sep 17 00:00:00 2001 +From 04a5edac81421048ef0f31ff54b33c732e50ae57 Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 19 Jan 2022 02:40:20 +0000 -Subject: [PATCH 86/90] WIP: dt-bindings: arm: amlogic: add Vero 4K binding +Subject: [PATCH 70/75] WIP: dt-bindings: arm: amlogic: add Vero 4K binding Add the board binding for the OSMC Vero 4K STB device @@ -11,7 +11,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml -index 0ee4a83cea2f..fbc9d7160c9a 100644 +index 2f0eddea5729..8f86ab3386c4 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.yaml +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml @@ -102,6 +102,7 @@ properties: diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0087-WIP-arm64-dts-meson-add-support-for-OSMC-Vero-4K.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0071-WIP-arm64-dts-meson-add-support-for-OSMC-Vero-4K.patch similarity index 92% rename from projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0087-WIP-arm64-dts-meson-add-support-for-OSMC-Vero-4K.patch rename to projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0071-WIP-arm64-dts-meson-add-support-for-OSMC-Vero-4K.patch index 1e70fec274..884fb5a479 100644 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0087-WIP-arm64-dts-meson-add-support-for-OSMC-Vero-4K.patch +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0071-WIP-arm64-dts-meson-add-support-for-OSMC-Vero-4K.patch @@ -1,7 +1,7 @@ -From b17886f74c7387d1b68b57aec973352cbafad9c7 Mon Sep 17 00:00:00 2001 +From 9353dbf37487c7dcf63742f4f9458a1afd79f44b Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Wed, 19 Jan 2022 04:06:17 +0000 -Subject: [PATCH 87/90] WIP: arm64: dts: meson: add support for OSMC Vero 4K +Subject: [PATCH 71/75] WIP: arm64: dts: meson: add support for OSMC Vero 4K The OSMC Vero 4K device is based on the Amlogic S905X (P212) reference design with the following specifications: @@ -28,17 +28,17 @@ Signed-off-by: Christian Hewitt create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 8014a6a43ba7..67d5fcedeeb8 100644 +index bb21e1eb187d..44b39b5f14a9 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile -@@ -37,6 +37,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb +@@ -49,6 +49,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-vero4k.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-mecool-ki-plus.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-mecool-ki-pro.dtb - dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-mecool-kii-pro.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-jethome-jethub-j80.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts new file mode 100644 index 000000000000..6196153e424d diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0072-WIP-arm64-dts-meson-add-RTL8822CS-bluetooth-to-X96-A.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0072-WIP-arm64-dts-meson-add-RTL8822CS-bluetooth-to-X96-A.patch new file mode 100644 index 0000000000..efcbe30ed9 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0072-WIP-arm64-dts-meson-add-RTL8822CS-bluetooth-to-X96-A.patch @@ -0,0 +1,37 @@ +From a828960dfd50fc2a3b621fe3d26ae1278d559186 Mon Sep 17 00:00:00 2001 +From: Christian Hewitt +Date: Tue, 12 Apr 2022 11:21:21 +0000 +Subject: [PATCH 72/75] WIP: arm64: dts: meson: add RTL8822CS bluetooth to + X96-Air + +Add the uart_A/bluetooth node for the RTL8822CS chip. + +Signed-off-by: Christian Hewitt +--- + .../boot/dts/amlogic/meson-sm1-x96-air-gbit.dts | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts +index 7e1a74046ba5..66e53c25bfb4 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts +@@ -131,3 +131,16 @@ + &tohdmitx { + status = "okay"; + }; ++ ++&uart_A { ++ status = "okay"; ++ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; ++ pinctrl-names = "default"; ++ uart-has-rtscts; ++ ++ bluetooth { ++ compatible = "realtek,rtl8822cs-bt"; ++ enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; ++ host-wake-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>; ++ }; ++}; +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0073-WIP-media-rc-add-keymap-for-Venz-V10-remote.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0073-WIP-media-rc-add-keymap-for-Venz-V10-remote.patch new file mode 100644 index 0000000000..3a718d7456 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0073-WIP-media-rc-add-keymap-for-Venz-V10-remote.patch @@ -0,0 +1,154 @@ +From a5975e39c9bdc6705a1eeccb497dee11f6bfc7c4 Mon Sep 17 00:00:00 2001 +From: Christian Hewitt +Date: Sun, 10 Apr 2022 11:51:38 +0000 +Subject: [PATCH 73/75] WIP: media: rc: add keymap for Venz V10 remote + +Add a keymap and bindings for the IR (NEC) remote used with +the Venz V10 Android STB device. + +Signed-off-by: Christian Hewitt +--- + .../devicetree/bindings/media/rc.yaml | 1 + + drivers/media/rc/keymaps/Makefile | 1 + + drivers/media/rc/keymaps/rc-venz-v10.c | 92 +++++++++++++++++++ + include/media/rc-map.h | 1 + + 4 files changed, 95 insertions(+) + create mode 100644 drivers/media/rc/keymaps/rc-venz-v10.c + +diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml +index 4bad220cb645..5db3586a11cf 100644 +--- a/Documentation/devicetree/bindings/media/rc.yaml ++++ b/Documentation/devicetree/bindings/media/rc.yaml +@@ -151,6 +151,7 @@ properties: + - rc-videomate-tv-pvr + - rc-videostrong-kii-pro + - rc-vega-s9x ++ - rc-venz-v10 + - rc-wetek-hub + - rc-wetek-play2 + - rc-winfast +diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile +index ef48a6bbeca4..77d8b5a69815 100644 +--- a/drivers/media/rc/keymaps/Makefile ++++ b/drivers/media/rc/keymaps/Makefile +@@ -128,6 +128,7 @@ obj-$(CONFIG_RC_MAP) += \ + rc-twinhan1027.o \ + rc-twinhan-dtv-cab-ci.o \ + rc-vega-s9x.o \ ++ rc-venz-v10.o \ + rc-videomate-m1f.o \ + rc-videomate-s350.o \ + rc-videomate-tv-pvr.o \ +diff --git a/drivers/media/rc/keymaps/rc-venz-v10.c b/drivers/media/rc/keymaps/rc-venz-v10.c +new file mode 100644 +index 000000000000..f0a99a31a1d7 +--- /dev/null ++++ b/drivers/media/rc/keymaps/rc-venz-v10.c +@@ -0,0 +1,92 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++// ++// Copyright (C) 2022 Christian Hewitt ++ ++#include ++#include ++ ++// ++// Keytable for the Venz V10 remote control ++// ++ ++static struct rc_map_table venz_v10[] = { ++ { 0x847912, KEY_POWER }, ++ { 0x847903, KEY_MUTE }, ++ ++ { 0x847921, KEY_EPG }, ++ { 0x847922, KEY_ZOOMIN }, ++ { 0x847923, KEY_ZOOMOUT }, ++ { 0x847924, KEY_SCREEN }, // LAUNCHER ++ ++ // UP ++ // DOWN ++ // LEFT ++ // RIGHT ++ ++ { 0x847904, KEY_FAVORITES }, // TV-SYS ++ { 0x84790a, KEY_INFO }, // RATIO ++ { 0x84791f, KEY_LANGUAGE }, // TRACK ++ { 0x84791e, KEY_SUBTITLE }, // SUB-T ++ ++ { 0x847929, KEY_RED }, ++ { 0x847930, KEY_GREEN }, ++ { 0x847931, KEY_YELLOW }, ++ { 0x847932, KEY_BLUE }, ++ ++ { 0x847906, KEY_HOME }, ++ { 0x84791b, KEY_CONFIG }, ++ ++ { 0x847905, KEY_UP }, ++ { 0x847907, KEY_LEFT }, ++ { 0x847908, KEY_OK }, ++ { 0x847909, KEY_RIGHT }, ++ { 0x847900, KEY_DOWN }, ++ ++ { 0x847920, KEY_CONTEXT_MENU }, ++ { 0x84791a, KEY_BACK }, ++ ++ { 0x847910, KEY_VOLUMEUP }, ++ { 0x84790f, KEY_VOLUMEDOWN }, ++ { 0x847919, KEY_PLAYPAUSE }, ++ { 0x84791c, KEY_STOP }, ++ { 0x84791d, KEY_PREVIOUS }, ++ { 0x847928, KEY_NEXT }, ++ ++ { 0x84790b, KEY_1 }, ++ { 0x84790c, KEY_2 }, ++ { 0x84790d, KEY_3 }, ++ { 0x84790e, KEY_4 }, ++ { 0x847911, KEY_5 }, ++ { 0x847927, KEY_6 }, ++ { 0x847913, KEY_7 }, ++ { 0x847914, KEY_8 }, ++ { 0x847915, KEY_9 }, ++ { 0x847916, KEY_MENU }, // MOUSE ++ { 0x847917, KEY_0 }, ++ { 0x847918, KEY_DELETE }, ++}; ++ ++static struct rc_map_list venz_v10_map = { ++ .map = { ++ .scan = venz_v10, ++ .size = ARRAY_SIZE(venz_v10), ++ .rc_proto = RC_PROTO_NEC, ++ .name = RC_MAP_VENZ_V10, ++ } ++}; ++ ++static int __init init_rc_map_venz_v10(void) ++{ ++ return rc_map_register(&venz_v10_map); ++} ++ ++static void __exit exit_rc_map_venz_v10(void) ++{ ++ rc_map_unregister(&venz_v10_map); ++} ++ ++module_init(init_rc_map_venz_v10) ++module_exit(exit_rc_map_venz_v10) ++ ++MODULE_LICENSE("GPL"); ++MODULE_AUTHOR("Christian Hewitt +Date: Sat, 9 Apr 2022 06:27:50 +0000 +Subject: [PATCH 74/75] WIP: dt-bindings: arm: amlogic: add S905L and Venz V10 + bindings + +Add SOC bindings for S905L devices and the board binding for Venz V10. + +Signed-off-by: Christian Hewitt +--- + Documentation/devicetree/bindings/arm/amlogic.yaml | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml +index 8f86ab3386c4..a6e5eabd1539 100644 +--- a/Documentation/devicetree/bindings/arm/amlogic.yaml ++++ b/Documentation/devicetree/bindings/arm/amlogic.yaml +@@ -83,6 +83,13 @@ properties: + - const: amlogic,s805x + - const: amlogic,meson-gxl + ++ - description: Boards with the Amlogic Meson GXL S905L SoC ++ items: ++ - enum: ++ - venz,v10 ++ - const: amlogic,s905l ++ - const: amlogic,meson-gxl ++ + - description: Boards with the Amlogic Meson GXL S905W SoC + items: + - enum: +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0075-WIP-arm64-dts-meson-add-support-for-Venz-V10.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0075-WIP-arm64-dts-meson-add-support-for-Venz-V10.patch new file mode 100644 index 0000000000..984f796af8 --- /dev/null +++ b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0075-WIP-arm64-dts-meson-add-support-for-Venz-V10.patch @@ -0,0 +1,373 @@ +From 8675d7483041b4f753303e0ad42a3a7441fdf23d Mon Sep 17 00:00:00 2001 +From: Christian Hewitt +Date: Sat, 9 Apr 2022 06:21:58 +0000 +Subject: [PATCH 75/75] WIP: arm64: dts: meson: add support for Venz V10 + +The Venz V10 is an Android STB based on the Amlogic P212 (GXL) +reference design with an S905L chip and the following specs: + +- 1GB DDR3 RAM +- 8GB eMMC +- 10/100 Base-T Ethernet +- RTL8189ES Wireless (802.11 b/g/n) +- HDMI 2.0b video +- 1x 3.5mm AV jack +- 2x USB 2.0 port +- IR receiver +- 1x Update/Reset button (underside) +- 1x micro SD card slot + +Signed-off-by: Christian Hewitt +--- + arch/arm64/boot/dts/amlogic/Makefile | 1 + + .../dts/amlogic/meson-gxl-s905l-venz-v10.dts | 326 ++++++++++++++++++ + 2 files changed, 327 insertions(+) + create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905l-venz-v10.dts + +diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile +index 44b39b5f14a9..b1c14511a138 100644 +--- a/arch/arm64/boot/dts/amlogic/Makefile ++++ b/arch/arm64/boot/dts/amlogic/Makefile +@@ -43,6 +43,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-phicomm-n1.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-sml5442tw.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-vero4k-plus.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905l-venz-v10.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-hwacom-amazetv.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-khadas-vim.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905l-venz-v10.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905l-venz-v10.dts +new file mode 100644 +index 000000000000..553377fce051 +--- /dev/null ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905l-venz-v10.dts +@@ -0,0 +1,326 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (c) 2016 Endless Computers, Inc. ++ * Author: Carlo Caione ++ */ ++ ++/dts-v1/; ++ ++#include "meson-gxl-s905x.dtsi" ++#include ++#include ++#include ++ ++/ { ++ compatible = "venz,v10", "amlogic,s905l", "amlogic,meson-gxl"; ++ model = "Venz V10"; ++ ++ aliases { ++ serial0 = &uart_AO; ++ ethernet0 = ðmac; ++ wlan0 = &rtl8189; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ memory@0 { ++ device_type = "memory"; ++ reg = <0x0 0x0 0x0 0x80000000>; ++ }; ++ ++ dio2133: analog-amplifier { ++ compatible = "simple-audio-amplifier"; ++ sound-name-prefix = "AU2"; ++ VCC-supply = <&hdmi_5v>; ++ enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ led-standby { ++ color = ; ++ function = LED_FUNCTION_POWER; ++ gpios = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; ++ default-state = "on"; ++ }; ++ }; ++ ++ cvbs-connector { ++ compatible = "composite-video-connector"; ++ ++ port { ++ cvbs_connector_in: endpoint { ++ remote-endpoint = <&cvbs_vdac_out>; ++ }; ++ }; ++ }; ++ ++ hdmi-connector { ++ compatible = "hdmi-connector"; ++ type = "a"; ++ ++ port { ++ hdmi_connector_in: endpoint { ++ remote-endpoint = <&hdmi_tx_tmds_out>; ++ }; ++ }; ++ }; ++ ++ hdmi_5v: regulator-hdmi-5v { ++ compatible = "regulator-fixed"; ++ ++ regulator-name = "HDMI_5V"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ ++ gpio = <&gpio GPIOH_3 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ regulator-always-on; ++ }; ++ ++ vddio_boot: regulator-vddio_boot { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDIO_BOOT"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ }; ++ ++ vddao_3v3: regulator-vddao_3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDAO_3V3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ }; ++ ++ vddio_ao18: regulator-vddio_ao18 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDIO_AO18"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ }; ++ ++ vcc_3v3: regulator-vcc_3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VCC_3V3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ }; ++ ++ emmc_pwrseq: emmc-pwrseq { ++ compatible = "mmc-pwrseq-emmc"; ++ reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; ++ }; ++ ++ wifi32k: wifi32k { ++ compatible = "pwm-clock"; ++ #clock-cells = <0>; ++ clock-frequency = <32768>; ++ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ ++ }; ++ ++ sdio_pwrseq: sdio-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; ++ clocks = <&wifi32k>; ++ clock-names = "ext_clock"; ++ }; ++ ++ sound { ++ compatible = "amlogic,gx-sound-card"; ++ model = "VENZ-V10"; ++ audio-aux-devs = <&dio2133>; ++ audio-widgets = "Line", "Lineout"; ++ audio-routing = "AU2 INL", "ACODEC LOLN", ++ "AU2 INR", "ACODEC LORN", ++ "Lineout", "AU2 OUTL", ++ "Lineout", "AU2 OUTR"; ++ assigned-clocks = <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>, ++ <&clkc CLKID_MPLL2>; ++ assigned-clock-parents = <0>, <0>, <0>; ++ assigned-clock-rates = <294912000>, ++ <270950400>, ++ <393216000>; ++ status = "okay"; ++ ++ dai-link-0 { ++ sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; ++ }; ++ ++ dai-link-1 { ++ sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>; ++ dai-format = "i2s"; ++ mclk-fs = <256>; ++ ++ codec-0 { ++ sound-dai = <&aiu AIU_HDMI CTRL_I2S>; ++ }; ++ ++ codec-1 { ++ sound-dai = <&aiu AIU_ACODEC CTRL_I2S>; ++ }; ++ }; ++ ++ dai-link-2 { ++ sound-dai = <&aiu AIU_HDMI CTRL_OUT>; ++ ++ codec-0 { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ ++ dai-link-3 { ++ sound-dai = <&aiu AIU_ACODEC CTRL_OUT>; ++ ++ codec-0 { ++ sound-dai = <&acodec>; ++ }; ++ }; ++ }; ++}; ++ ++&acodec { ++ AVDD-supply = <&vddio_ao18>; ++ status = "okay"; ++}; ++ ++&aiu { ++ status = "okay"; ++}; ++ ++&cec_AO { ++ status = "okay"; ++ pinctrl-0 = <&ao_cec_pins>; ++ pinctrl-names = "default"; ++ hdmi-phandle = <&hdmi_tx>; ++}; ++ ++&cvbs_vdac_port { ++ cvbs_vdac_out: endpoint { ++ remote-endpoint = <&cvbs_connector_in>; ++ }; ++}; ++ ++ðmac { ++ status = "okay"; ++}; ++ ++&hdmi_tx { ++ status = "okay"; ++ pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; ++ pinctrl-names = "default"; ++ hdmi-supply = <&hdmi_5v>; ++}; ++ ++&hdmi_tx_tmds_port { ++ hdmi_tx_tmds_out: endpoint { ++ remote-endpoint = <&hdmi_connector_in>; ++ }; ++}; ++ ++&ir { ++ status = "okay"; ++ pinctrl-0 = <&remote_input_ao_pins>; ++ pinctrl-names = "default"; ++ linux,rc-map-name = "rc-venz-v10"; ++}; ++ ++&pwm_ef { ++ status = "okay"; ++ pinctrl-0 = <&pwm_e_pins>; ++ pinctrl-names = "default"; ++ clocks = <&clkc CLKID_FCLK_DIV4>; ++ clock-names = "clkin0"; ++}; ++ ++&saradc { ++ status = "okay"; ++ vref-supply = <&vddio_ao18>; ++}; ++ ++/* Wireless SDIO Module */ ++&sd_emmc_a { ++ status = "okay"; ++ pinctrl-0 = <&sdio_pins>; ++ pinctrl-1 = <&sdio_clk_gate_pins>; ++ pinctrl-names = "default", "clk-gate"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ bus-width = <4>; ++ cap-sd-highspeed; ++ max-frequency = <100000000>; ++ ++ non-removable; ++ disable-wp; ++ ++ /* WiFi firmware requires power to be kept while in suspend */ ++ keep-power-in-suspend; ++ ++ mmc-pwrseq = <&sdio_pwrseq>; ++ ++ vmmc-supply = <&vddao_3v3>; ++ vqmmc-supply = <&vddio_boot>; ++ ++ rtl8189: wifi@1 { ++ reg = <1>; ++ }; ++}; ++ ++/* SD card */ ++&sd_emmc_b { ++ status = "okay"; ++ pinctrl-0 = <&sdcard_pins>; ++ pinctrl-1 = <&sdcard_clk_gate_pins>; ++ pinctrl-names = "default", "clk-gate"; ++ ++ bus-width = <4>; ++ cap-sd-highspeed; ++ max-frequency = <50000000>; ++ disable-wp; ++ ++ cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; ++ ++ vmmc-supply = <&vddao_3v3>; ++ vqmmc-supply = <&vddio_boot>; ++}; ++ ++/* eMMC */ ++&sd_emmc_c { ++ status = "okay"; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; ++ pinctrl-1 = <&emmc_clk_gate_pins>; ++ pinctrl-names = "default", "clk-gate"; ++ ++ bus-width = <8>; ++ cap-mmc-highspeed; ++ max-frequency = <200000000>; ++ non-removable; ++ disable-wp; ++ mmc-ddr-1_8v; ++ mmc-hs200-1_8v; ++ ++ mmc-pwrseq = <&emmc_pwrseq>; ++ vmmc-supply = <&vcc_3v3>; ++ vqmmc-supply = <&vddio_boot>; ++}; ++ ++/* This UART is brought out to the DB9 connector */ ++&uart_AO { ++ status = "okay"; ++ pinctrl-0 = <&uart_ao_a_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&usb { ++ status = "okay"; ++ dr_mode = "host"; ++}; ++ ++&usb2_phy0 { ++ /* HDMI_5V is the supply for the USB VBUS */ ++ phy-supply = <&hdmi_5v>; ++}; +-- +2.17.1 + diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0089-WIP-auxdisplay-fixup-for-TM1628-display-controller-d.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0089-WIP-auxdisplay-fixup-for-TM1628-display-controller-d.patch deleted file mode 100644 index f5b6ee379b..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0089-WIP-auxdisplay-fixup-for-TM1628-display-controller-d.patch +++ /dev/null @@ -1,42 +0,0 @@ -From bc95963582619cce9758cdbf38e3f1557d1a498f Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sun, 20 Feb 2022 09:14:07 +0000 -Subject: [PATCH 89/90] WIP: auxdisplay: fixup for TM1628 display controller - driver - -The remove callback return type has recently been changed to void in -linux-next, but 5.17 sources use the previous approach. - -Signed-off-by: Christian Hewitt ---- - drivers/auxdisplay/tm1628.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/drivers/auxdisplay/tm1628.c b/drivers/auxdisplay/tm1628.c -index 072de8d47a59..0758c397ef4f 100644 ---- a/drivers/auxdisplay/tm1628.c -+++ b/drivers/auxdisplay/tm1628.c -@@ -5,6 +5,7 @@ - * Copyright (c) 2019 Andreas Färber - */ - -+#include - #include - #include - #include -@@ -334,10 +335,11 @@ static int tm1628_spi_probe(struct spi_device *spi) - return 0; - } - --static void tm1628_spi_remove(struct spi_device *spi) -+static int tm1628_spi_remove(struct spi_device *spi) - { - device_remove_file(&spi->dev, &dev_attr_display_text); - tm1628_set_display_ctrl(spi, false); -+ return 0; - } - - static void tm1628_spi_shutdown(struct spi_device *spi) --- -2.17.1 - diff --git a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0090-WIP-arm64-dts-meson-g12a-x96-max-add-support-for-the.patch b/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0090-WIP-arm64-dts-meson-g12a-x96-max-add-support-for-the.patch deleted file mode 100644 index 88bc581fc2..0000000000 --- a/projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0090-WIP-arm64-dts-meson-g12a-x96-max-add-support-for-the.patch +++ /dev/null @@ -1,95 +0,0 @@ -From faeccc288aa426a219d4b29da43d433de10942e3 Mon Sep 17 00:00:00 2001 -From: Christian Hewitt -Date: Sun, 20 Feb 2022 16:31:04 +0000 -Subject: [PATCH 90/90] WIP: arm64: dts: meson-g12a-x96-max: add support for - the 7 segment display - -First attempt at adding support for the 7 segment display of the device. - -See https://github.com/arthur-liberman/vfd-configurations/blob/master/x96-max-1gbit-vfd.conf - -Signed-off-by: Christian Hewitt ---- - .../boot/dts/amlogic/meson-g12a-x96-max.dts | 59 +++++++++++++++++++ - 1 file changed, 59 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts -index b4e86196e346..36ca9c6a1bdf 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts -@@ -8,6 +8,7 @@ - #include "meson-g12a.dtsi" - #include - #include -+#include - #include - - / { -@@ -228,6 +229,64 @@ - }; - }; - -+ spi { -+ compatible = "spi-gpio"; -+ sck-gpios = <&gpio GPIOX_0 GPIO_ACTIVE_HIGH>; -+ mosi-gpios = <&gpio GPIOA_15 GPIO_ACTIVE_HIGH>; -+ cs-gpios = <&gpio_ao GPIOAO_10 GPIO_ACTIVE_LOW>; -+ num-chipselects = <1>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ tm1628: led-controller@0 { -+ compatible = "titanmec,tm1628"; -+ reg = <0>; -+ spi-3wire; -+ spi-lsb-first; -+ spi-rx-delay-us = <1>; -+ spi-max-frequency = <500000>; -+ #address-cells = <2>; -+ #size-cells = <0>; -+ -+ segment-mapping = /bits/ 8 <4 5 6 1 2 3 7>; -+ grid = /bits/ 8 <3 4 5 1>; -+ -+ apps@2,1 { -+ reg = <2 1>; -+ function = "apps"; -+ }; -+ -+ usb@5,2 { -+ reg = <2 2>; -+ function = LED_FUNCTION_USB; -+ }; -+ setup@2,3 { -+ reg = <2 3>; -+ function = "setup"; -+ }; -+ -+ card@2,4 { -+ reg = <2 4>; -+ function = LED_FUNCTION_SD; -+ }; -+ -+ colon@2,5 { -+ reg = <2 5>; -+ function = "colon"; -+ }; -+ -+ hdmi@2,6 { -+ reg = <2 6>; -+ function = "hdmi"; -+ }; -+ -+ cvbs@2,7 { -+ reg = < 7>; -+ function = "cvbs"; -+ }; -+ }; -+ }; -+ - wifi32k: wifi32k { - compatible = "pwm-clock"; - #clock-cells = <0>; --- -2.17.1 - diff --git a/projects/Amlogic/linux/linux.aarch64.conf b/projects/Amlogic/linux/linux.aarch64.conf index b4501075b5..b8e01db713 100644 --- a/projects/Amlogic/linux/linux.aarch64.conf +++ b/projects/Amlogic/linux/linux.aarch64.conf @@ -1,21 +1,21 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 5.17.0-rc4 Kernel Configuration +# Linux/arm64 5.18.0 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="aarch64-none-linux-gnu-gcc.real (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621" +CONFIG_CC_VERSION_TEXT="aarch64-none-elf-gcc-11.3.0 (GCC) 11.3.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=100301 +CONFIG_GCC_VERSION=110300 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=23601 +CONFIG_AS_VERSION=23700 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=23601 +CONFIG_LD_VERSION=23700 CONFIG_LLD_VERSION=0 -CONFIG_CC_CAN_LINK=y -CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y +CONFIG_PAHOLE_VERSION=0 CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -100,6 +100,7 @@ CONFIG_PREEMPT_BUILD=y CONFIG_PREEMPT=y CONFIG_PREEMPT_COUNT=y CONFIG_PREEMPTION=y +# CONFIG_PREEMPT_DYNAMIC is not set # CONFIG_SCHED_CORE is not set # @@ -259,6 +260,7 @@ CONFIG_PROFILING=y # end of General setup CONFIG_ARM64=y +CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_64BIT=y CONFIG_MMU=y CONFIG_ARM64_PAGE_SHIFT=12 @@ -397,7 +399,6 @@ CONFIG_HZ_250=y CONFIG_HZ=250 CONFIG_SCHED_HRTICK=y CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_HAS_FILTER_PGPROT=y # CONFIG_PARAVIRT is not set # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set # CONFIG_KEXEC is not set @@ -406,6 +407,7 @@ CONFIG_ARCH_HAS_FILTER_PGPROT=y # CONFIG_XEN is not set CONFIG_FORCE_MAX_ZONEORDER=11 CONFIG_UNMAP_KERNEL_AT_EL0=y +CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y CONFIG_RODATA_FULL_DEFAULT_ENABLED=y # CONFIG_ARM64_SW_TTBR0_PAN is not set CONFIG_ARM64_TAGGED_ADDR_ABI=y @@ -670,6 +672,7 @@ CONFIG_COMPAT_32BIT_TIME=y CONFIG_HAVE_ARCH_VMAP_STACK=y CONFIG_VMAP_STACK=y CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y +CONFIG_RANDOMIZE_KSTACK_OFFSET=y # CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y @@ -679,6 +682,8 @@ CONFIG_HAVE_ARCH_COMPILER_H=y CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y # CONFIG_LOCK_EVENT_COUNTS is not set CONFIG_ARCH_HAS_RELR=y +CONFIG_HAVE_PREEMPT_DYNAMIC=y +CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y @@ -713,6 +718,7 @@ CONFIG_MODPROBE_PATH="/sbin/modprobe" # CONFIG_TRIM_UNUSED_KSYMS is not set CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y +CONFIG_BLOCK_LEGACY_AUTOLOAD=y CONFIG_BLK_CGROUP_RWSTAT=y CONFIG_BLK_DEV_BSG_COMMON=y CONFIG_BLK_DEV_BSGLIB=y @@ -788,6 +794,7 @@ CONFIG_FREEZER=y CONFIG_BINFMT_ELF=y CONFIG_COMPAT_BINFMT_ELF=y CONFIG_ARCH_BINFMT_ELF_STATE=y +CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y CONFIG_ARCH_HAVE_ELF_PROT=y CONFIG_ARCH_USE_GNU_PROPERTY=y CONFIG_ELFCORE=y @@ -838,6 +845,7 @@ CONFIG_GENERIC_EARLY_IOREMAP=y # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set # CONFIG_IDLE_PAGE_TRACKING is not set CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y CONFIG_ARCH_HAS_PTE_DEVMAP=y CONFIG_ARCH_HAS_ZONE_DMA_SET=y CONFIG_ZONE_DMA=y @@ -1371,6 +1379,7 @@ CONFIG_GRO_CELLS=y CONFIG_NET_SELFTESTS=y CONFIG_NET_SOCK_MSG=y CONFIG_PAGE_POOL=y +# CONFIG_PAGE_POOL_STATS is not set CONFIG_FAILOVER=m CONFIG_ETHTOOL_NETLINK=y @@ -1403,6 +1412,8 @@ CONFIG_PCIE_BUS_DEFAULT=y # CONFIG_PCIE_BUS_SAFE is not set # CONFIG_PCIE_BUS_PERFORMANCE is not set # CONFIG_PCIE_BUS_PEER2PEER is not set +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 # CONFIG_HOTPLUG_PCI is not set # @@ -1520,7 +1531,6 @@ CONFIG_GENERIC_ARCH_TOPOLOGY=y CONFIG_ARM_SCPI_PROTOCOL=y CONFIG_ARM_SCPI_POWER_DOMAIN=y -# CONFIG_ARM_SDE_INTERFACE is not set # CONFIG_FIRMWARE_MEMMAP is not set # CONFIG_FW_CFG_SYSFS is not set # CONFIG_ARM_FFA_TRANSPORT is not set @@ -1626,6 +1636,7 @@ CONFIG_MTD_CFI_I2=y # # CONFIG_MTD_NAND_ECC_SW_HAMMING is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set +# CONFIG_MTD_NAND_ECC_MXIC is not set # end of ECC engine support # end of NAND @@ -1705,6 +1716,7 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 # CONFIG_PCI_ENDPOINT_TEST is not set # CONFIG_XILINX_SDFEC is not set # CONFIG_HISI_HIKEY_USB is not set +# CONFIG_OPEN_DICE is not set # CONFIG_C2PORT is not set # @@ -1770,7 +1782,7 @@ CONFIG_BLK_DEV_BSG=y # # CONFIG_SCSI_SPI_ATTRS is not set # CONFIG_SCSI_FC_ATTRS is not set -CONFIG_SCSI_ISCSI_ATTRS=y +# CONFIG_SCSI_ISCSI_ATTRS is not set CONFIG_SCSI_SAS_ATTRS=y CONFIG_SCSI_SAS_LIBSAS=y CONFIG_SCSI_SAS_HOST_SMP=y @@ -1778,8 +1790,8 @@ CONFIG_SCSI_SAS_HOST_SMP=y # end of SCSI Transports CONFIG_SCSI_LOWLEVEL=y -CONFIG_ISCSI_TCP=y -CONFIG_ISCSI_BOOT_SYSFS=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set # CONFIG_SCSI_CXGB3_ISCSI is not set # CONFIG_SCSI_CXGB4_ISCSI is not set # CONFIG_SCSI_BNX2_ISCSI is not set @@ -1981,23 +1993,23 @@ CONFIG_NET_VENDOR_ASIX=y # CONFIG_SPI_AX88796C is not set # CONFIG_NET_VENDOR_ATHEROS is not set # CONFIG_NET_VENDOR_BROADCOM is not set -# CONFIG_NET_VENDOR_BROCADE is not set # CONFIG_NET_VENDOR_CADENCE is not set # CONFIG_NET_VENDOR_CAVIUM is not set # CONFIG_NET_VENDOR_CHELSIO is not set # CONFIG_NET_VENDOR_CISCO is not set # CONFIG_NET_VENDOR_CORTINA is not set +# CONFIG_NET_VENDOR_DAVICOM is not set # CONFIG_DNET is not set # CONFIG_NET_VENDOR_DEC is not set # CONFIG_NET_VENDOR_DLINK is not set # CONFIG_NET_VENDOR_EMULEX is not set # CONFIG_NET_VENDOR_ENGLEDER is not set # CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_FUNGIBLE is not set # CONFIG_NET_VENDOR_GOOGLE is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_INTEL is not set -# CONFIG_NET_VENDOR_MICROSOFT is not set # CONFIG_JME is not set # CONFIG_NET_VENDOR_LITEX is not set # CONFIG_NET_VENDOR_MARVELL is not set @@ -2005,18 +2017,20 @@ CONFIG_NET_VENDOR_ASIX=y # CONFIG_NET_VENDOR_MICREL is not set # CONFIG_NET_VENDOR_MICROCHIP is not set # CONFIG_NET_VENDOR_MICROSEMI is not set +# CONFIG_NET_VENDOR_MICROSOFT is not set # CONFIG_NET_VENDOR_MYRI is not set # CONFIG_FEALNX is not set +# CONFIG_NET_VENDOR_NI is not set # CONFIG_NET_VENDOR_NATSEMI is not set # CONFIG_NET_VENDOR_NETERION is not set # CONFIG_NET_VENDOR_NETRONOME is not set -# CONFIG_NET_VENDOR_NI is not set # CONFIG_NET_VENDOR_NVIDIA is not set # CONFIG_NET_VENDOR_OKI is not set # CONFIG_ETHOC is not set # CONFIG_NET_VENDOR_PACKET_ENGINES is not set # CONFIG_NET_VENDOR_PENSANDO is not set # CONFIG_NET_VENDOR_QLOGIC is not set +# CONFIG_NET_VENDOR_BROCADE is not set # CONFIG_NET_VENDOR_QUALCOMM is not set # CONFIG_NET_VENDOR_RDC is not set CONFIG_NET_VENDOR_REALTEK=y @@ -2027,9 +2041,9 @@ CONFIG_NET_VENDOR_REALTEK=y # CONFIG_NET_VENDOR_ROCKER is not set # CONFIG_NET_VENDOR_SAMSUNG is not set # CONFIG_NET_VENDOR_SEEQ is not set -# CONFIG_NET_VENDOR_SOLARFLARE is not set # CONFIG_NET_VENDOR_SILAN is not set # CONFIG_NET_VENDOR_SIS is not set +# CONFIG_NET_VENDOR_SOLARFLARE is not set # CONFIG_NET_VENDOR_SMSC is not set # CONFIG_NET_VENDOR_SOCIONEXT is not set CONFIG_NET_VENDOR_STMICRO=y @@ -2307,6 +2321,7 @@ CONFIG_MT7663S=m # CONFIG_MT7915E is not set # CONFIG_MT7921E is not set # CONFIG_MT7921S is not set +# CONFIG_MT7921U is not set CONFIG_WLAN_VENDOR_MICROCHIP=y # CONFIG_WILC1000_SDIO is not set # CONFIG_WILC1000_SPI is not set @@ -2337,26 +2352,37 @@ CONFIG_WLAN_VENDOR_REALTEK=y CONFIG_RTL8187=m CONFIG_RTL8187_LEDS=y CONFIG_RTL_CARDS=m -# CONFIG_RTL8192CE is not set -# CONFIG_RTL8192SE is not set -# CONFIG_RTL8192DE is not set -# CONFIG_RTL8723AE is not set -# CONFIG_RTL8723BE is not set -# CONFIG_RTL8188EE is not set -# CONFIG_RTL8192EE is not set -# CONFIG_RTL8821AE is not set -# CONFIG_RTL8192CU is not set +CONFIG_RTL8192CE=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192DE=m +CONFIG_RTL8723AE=m +CONFIG_RTL8723BE=m +CONFIG_RTL8188EE=m +CONFIG_RTL8192EE=m +CONFIG_RTL8821AE=m +CONFIG_RTL8192CU=m CONFIG_RTLWIFI=m +CONFIG_RTLWIFI_PCI=m CONFIG_RTLWIFI_USB=m -# CONFIG_RTLWIFI_DEBUG is not set +CONFIG_RTLWIFI_DEBUG=y CONFIG_RTL8192C_COMMON=m +CONFIG_RTL8723_COMMON=m +CONFIG_RTLBTCOEXIST=m CONFIG_RTL8XXXU=m CONFIG_RTL8XXXU_UNTESTED=y CONFIG_RTW88=m -# CONFIG_RTW88_8822BE is not set -# CONFIG_RTW88_8822CE is not set -# CONFIG_RTW88_8723DE is not set -# CONFIG_RTW88_8821CE is not set +CONFIG_RTW88_CORE=m +CONFIG_RTW88_PCI=m +CONFIG_RTW88_8822B=m +CONFIG_RTW88_8822C=m +CONFIG_RTW88_8723D=m +CONFIG_RTW88_8821C=m +CONFIG_RTW88_8822BE=m +CONFIG_RTW88_8822CE=m +CONFIG_RTW88_8723DE=m +CONFIG_RTW88_8821CE=m +# CONFIG_RTW88_DEBUG is not set +# CONFIG_RTW88_DEBUGFS is not set # CONFIG_RTW89 is not set CONFIG_WLAN_VENDOR_RSI=y # CONFIG_RSI_91X is not set @@ -2603,7 +2629,6 @@ CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_SIFIVE is not set # CONFIG_SERIAL_SCCNXP is not set # CONFIG_SERIAL_SC16IS7XX is not set -# CONFIG_SERIAL_BCM63XX is not set # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set # CONFIG_SERIAL_XILINX_PS_UART is not set @@ -2631,7 +2656,6 @@ CONFIG_HW_RANDOM=y # CONFIG_HW_RANDOM_TIMERIOMEM is not set # CONFIG_HW_RANDOM_BA431 is not set CONFIG_HW_RANDOM_MESON=y -# CONFIG_HW_RANDOM_CAVIUM is not set CONFIG_HW_RANDOM_OPTEE=m # CONFIG_HW_RANDOM_CCTRNG is not set # CONFIG_HW_RANDOM_XIPHERA is not set @@ -2753,7 +2777,7 @@ CONFIG_SPI_MEM=y # # CONFIG_SPI_ALTERA is not set # CONFIG_SPI_AXI_SPI_ENGINE is not set -# CONFIG_SPI_BITBANG is not set +CONFIG_SPI_BITBANG=y # CONFIG_SPI_CADENCE is not set # CONFIG_SPI_CADENCE_QUADSPI is not set # CONFIG_SPI_CADENCE_XSPI is not set @@ -2837,6 +2861,7 @@ CONFIG_PINCTRL_MESON_AXG=y CONFIG_PINCTRL_MESON_AXG_PMX=y CONFIG_PINCTRL_MESON_G12A=y CONFIG_PINCTRL_MESON_A1=y +CONFIG_PINCTRL_MESON_S4=y # # Renesas pinctrl drivers @@ -2948,12 +2973,14 @@ CONFIG_POWER_SUPPLY=y CONFIG_POWER_SUPPLY_HWMON=y # CONFIG_PDA_POWER is not set # CONFIG_GENERIC_ADC_BATTERY is not set +# CONFIG_IP5XXX_POWER is not set # CONFIG_TEST_POWER is not set # CONFIG_CHARGER_ADP5061 is not set # CONFIG_BATTERY_CW2015 is not set # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SAMSUNG_SDI is not set # CONFIG_BATTERY_SBS is not set # CONFIG_CHARGER_SBS is not set # CONFIG_MANAGER_SBS is not set @@ -2983,6 +3010,7 @@ CONFIG_POWER_SUPPLY_HWMON=y # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_UCS1002 is not set # CONFIG_CHARGER_BD99954 is not set +# CONFIG_BATTERY_UG3105 is not set CONFIG_HWMON=y # CONFIG_HWMON_DEBUG_CHIP is not set @@ -3103,6 +3131,7 @@ CONFIG_SENSORS_PWM_FAN=m # CONFIG_SENSORS_SHT4x is not set # CONFIG_SENSORS_SHTC1 is not set # CONFIG_SENSORS_SIS5595 is not set +# CONFIG_SENSORS_SY7636A is not set # CONFIG_SENSORS_DME1737 is not set # CONFIG_SENSORS_EMC1403 is not set # CONFIG_SENSORS_EMC2103 is not set @@ -3129,6 +3158,7 @@ CONFIG_SENSORS_PWM_FAN=m # CONFIG_SENSORS_TMP108 is not set # CONFIG_SENSORS_TMP401 is not set # CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_TMP464 is not set # CONFIG_SENSORS_TMP513 is not set # CONFIG_SENSORS_VIA686A is not set # CONFIG_SENSORS_VT1211 is not set @@ -3273,6 +3303,7 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_MAX77650 is not set # CONFIG_MFD_MAX77686 is not set # CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77714 is not set # CONFIG_MFD_MAX77843 is not set # CONFIG_MFD_MAX8907 is not set # CONFIG_MFD_MAX8925 is not set @@ -3295,6 +3326,7 @@ CONFIG_MFD_RK808=y # CONFIG_MFD_RN5T618 is not set CONFIG_MFD_SEC_CORE=y # CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SIMPLE_MFD_I2C is not set # CONFIG_MFD_SM501 is not set # CONFIG_MFD_SKY81452 is not set # CONFIG_MFD_STMPE is not set @@ -3395,6 +3427,7 @@ CONFIG_REGULATOR_PWM=y # CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set # CONFIG_REGULATOR_RK808 is not set # CONFIG_REGULATOR_RT4801 is not set +# CONFIG_REGULATOR_RT5190A is not set # CONFIG_REGULATOR_RT6160 is not set # CONFIG_REGULATOR_RT6245 is not set # CONFIG_REGULATOR_RTQ2134 is not set @@ -3404,11 +3437,13 @@ CONFIG_REGULATOR_PWM=y # CONFIG_REGULATOR_S2MPS11 is not set # CONFIG_REGULATOR_S5M8767 is not set # CONFIG_REGULATOR_SLG51000 is not set +# CONFIG_REGULATOR_SY7636A is not set # CONFIG_REGULATOR_SY8106A is not set # CONFIG_REGULATOR_SY8824X is not set # CONFIG_REGULATOR_SY8827N is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set +# CONFIG_REGULATOR_TPS6286X is not set # CONFIG_REGULATOR_TPS65023 is not set # CONFIG_REGULATOR_TPS6507X is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -3416,42 +3451,42 @@ CONFIG_REGULATOR_PWM=y # CONFIG_REGULATOR_VCTRL is not set # CONFIG_REGULATOR_QCOM_LABIBB is not set CONFIG_RC_CORE=y -CONFIG_RC_MAP=m -CONFIG_LIRC=y CONFIG_BPF_LIRC_MODE2=y +CONFIG_LIRC=y +CONFIG_RC_MAP=m CONFIG_RC_DECODERS=y +CONFIG_IR_IMON_DECODER=m +CONFIG_IR_JVC_DECODER=m +CONFIG_IR_MCE_KBD_DECODER=m CONFIG_IR_NEC_DECODER=m CONFIG_IR_RC5_DECODER=m CONFIG_IR_RC6_DECODER=m -CONFIG_IR_JVC_DECODER=m -CONFIG_IR_SONY_DECODER=m +CONFIG_IR_RCMM_DECODER=m CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SHARP_DECODER=m -CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_SONY_DECODER=m CONFIG_IR_XMP_DECODER=m -CONFIG_IR_IMON_DECODER=m -CONFIG_IR_RCMM_DECODER=m CONFIG_RC_DEVICES=y -CONFIG_RC_ATI_REMOTE=m +CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m # CONFIG_IR_HIX5HD2 is not set +CONFIG_IR_IGORPLUGUSB=m +CONFIG_IR_IGUANA=m CONFIG_IR_IMON=m CONFIG_IR_IMON_RAW=m CONFIG_IR_MCEUSB=m CONFIG_IR_MESON=m # CONFIG_IR_MESON_TX is not set +CONFIG_IR_PWM_TX=m CONFIG_IR_REDRAT3=m +# CONFIG_IR_SERIAL is not set # CONFIG_IR_SPI is not set CONFIG_IR_STREAMZAP=m -CONFIG_IR_IGORPLUGUSB=m -CONFIG_IR_IGUANA=m -CONFIG_IR_TTUSBIR=m -# CONFIG_RC_LOOPBACK is not set -CONFIG_IR_GPIO_CIR=m -CONFIG_IR_GPIO_TX=m -CONFIG_IR_PWM_TX=m -# CONFIG_IR_SERIAL is not set -CONFIG_RC_XBOX_DVD=m CONFIG_IR_TOY=m +CONFIG_IR_TTUSBIR=m +CONFIG_RC_ATI_REMOTE=m +# CONFIG_RC_LOOPBACK is not set +CONFIG_RC_XBOX_DVD=m CONFIG_CEC_CORE=y CONFIG_CEC_NOTIFIER=y @@ -3495,7 +3530,6 @@ CONFIG_DVB_CORE=y # # Video4Linux options # -CONFIG_VIDEO_V4L2=y CONFIG_VIDEO_V4L2_I2C=y CONFIG_VIDEO_V4L2_SUBDEV_API=y # CONFIG_VIDEO_ADV_DEBUG is not set @@ -3523,6 +3557,10 @@ CONFIG_DVB_MAX_ADAPTERS=8 # CONFIG_DVB_ULE_DEBUG is not set # end of Digital TV options +# +# Media drivers +# + # # Media drivers # @@ -3531,27 +3569,27 @@ CONFIG_MEDIA_USB_SUPPORT=y # # Webcam devices # -CONFIG_USB_VIDEO_CLASS=m -# CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV is not set +# CONFIG_VIDEO_CPIA2 is not set # CONFIG_USB_GSPCA is not set # CONFIG_USB_PWC is not set -# CONFIG_VIDEO_CPIA2 is not set -# CONFIG_USB_ZR364XX is not set -# CONFIG_USB_STKWEBCAM is not set # CONFIG_USB_S2255 is not set +# CONFIG_USB_STKWEBCAM is not set CONFIG_VIDEO_USBTV=m +CONFIG_USB_VIDEO_CLASS=m +# CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV is not set +# CONFIG_USB_ZR364XX is not set # # Analog TV USB devices # +# CONFIG_VIDEO_GO7007 is not set +CONFIG_VIDEO_HDPVR=m CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y CONFIG_VIDEO_PVRUSB2_DVB=y # CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set -CONFIG_VIDEO_HDPVR=m CONFIG_VIDEO_STK1160_COMMON=m CONFIG_VIDEO_STK1160=m -# CONFIG_VIDEO_GO7007 is not set # # Analog/digital TV USB devices @@ -3570,34 +3608,9 @@ CONFIG_VIDEO_TM6000_DVB=m # # Digital TV USB devices # -CONFIG_DVB_USB=m -# CONFIG_DVB_USB_DEBUG is not set -CONFIG_DVB_USB_DIB3000MC=m -CONFIG_DVB_USB_A800=m -CONFIG_DVB_USB_DIBUSB_MB=m -CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y -CONFIG_DVB_USB_DIBUSB_MC=m -CONFIG_DVB_USB_DIB0700=m -CONFIG_DVB_USB_UMT_010=m -CONFIG_DVB_USB_CXUSB=m -# CONFIG_DVB_USB_CXUSB_ANALOG is not set -CONFIG_DVB_USB_M920X=m -CONFIG_DVB_USB_DIGITV=m -CONFIG_DVB_USB_VP7045=m -CONFIG_DVB_USB_VP702X=m -CONFIG_DVB_USB_GP8PSK=m -CONFIG_DVB_USB_NOVA_T_USB2=m -CONFIG_DVB_USB_TTUSB2=m -CONFIG_DVB_USB_DTT200U=m -CONFIG_DVB_USB_OPERA1=m -CONFIG_DVB_USB_AF9005=m -CONFIG_DVB_USB_AF9005_REMOTE=m -CONFIG_DVB_USB_PCTV452E=m -CONFIG_DVB_USB_DW2102=m -CONFIG_DVB_USB_CINERGY_T2=m -CONFIG_DVB_USB_DTV5100=m -CONFIG_DVB_USB_AZ6027=m -CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_AS102=m +CONFIG_DVB_B2C2_FLEXCOP_USB=m +# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set CONFIG_DVB_USB_V2=m CONFIG_DVB_USB_AF9015=m CONFIG_DVB_USB_AF9035=m @@ -3605,19 +3618,44 @@ CONFIG_DVB_USB_ANYSEE=m CONFIG_DVB_USB_AU6610=m CONFIG_DVB_USB_AZ6007=m CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_DVBSKY=m CONFIG_DVB_USB_EC168=m CONFIG_DVB_USB_GL861=m CONFIG_DVB_USB_LME2510=m CONFIG_DVB_USB_MXL111SF=m CONFIG_DVB_USB_RTL28XXU=m -CONFIG_DVB_USB_DVBSKY=m CONFIG_DVB_USB_ZD1301=m +CONFIG_DVB_USB=m +# CONFIG_DVB_USB_DEBUG is not set +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_CXUSB=m +# CONFIG_DVB_USB_CXUSB_ANALOG is not set +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_DIB3000MC=m +CONFIG_DVB_USB_DIBUSB_MB=m +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_VP7045=m +CONFIG_SMS_USB_DRV=m # CONFIG_DVB_TTUSB_BUDGET is not set # CONFIG_DVB_TTUSB_DEC is not set -CONFIG_SMS_USB_DRV=m -CONFIG_DVB_B2C2_FLEXCOP_USB=m -# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set -CONFIG_DVB_AS102=m # # Webcam, TV (analog/digital) USB devices @@ -3636,29 +3674,99 @@ CONFIG_VIDEO_EM28XX_RC=m # CONFIG_USB_MSI2500 is not set # CONFIG_MEDIA_PCI_SUPPORT is not set # CONFIG_RADIO_ADAPTERS is not set -CONFIG_MEDIA_COMMON_OPTIONS=y - -# -# common driver options -# -CONFIG_VIDEO_CX2341X=m -CONFIG_VIDEO_TVEEPROM=m -CONFIG_TTPCI_EEPROM=m -CONFIG_CYPRESS_FIRMWARE=m -CONFIG_VIDEOBUF2_CORE=m -CONFIG_VIDEOBUF2_V4L2=m -CONFIG_VIDEOBUF2_MEMOPS=m -CONFIG_VIDEOBUF2_DMA_CONTIG=m -CONFIG_VIDEOBUF2_VMALLOC=m -CONFIG_DVB_B2C2_FLEXCOP=m -CONFIG_SMS_SIANO_MDTV=m -CONFIG_SMS_SIANO_RC=y +CONFIG_MEDIA_PLATFORM_DRIVERS=y # CONFIG_V4L_PLATFORM_DRIVERS is not set +# CONFIG_SDR_PLATFORM_DRIVERS is not set +# CONFIG_DVB_PLATFORM_DRIVERS is not set CONFIG_V4L_MEM2MEM_DRIVERS=y CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m + +# +# Allegro DVT media platform drivers +# + +# +# Amlogic media platform drivers +# # CONFIG_VIDEO_MESON_GE2D is not set -# CONFIG_DVB_PLATFORM_DRIVERS is not set -# CONFIG_SDR_PLATFORM_DRIVERS is not set + +# +# Amphion drivers +# + +# +# Aspeed media platform drivers +# + +# +# Atmel media platform drivers +# + +# +# Cadence media platform drivers +# +# CONFIG_VIDEO_CADENCE_CSI2RX is not set +# CONFIG_VIDEO_CADENCE_CSI2TX is not set + +# +# Chips&Media media platform drivers +# + +# +# Intel media platform drivers +# + +# +# Marvell media platform drivers +# + +# +# Mediatek media platform drivers +# + +# +# NVidia media platform drivers +# + +# +# NXP media platform drivers +# + +# +# Qualcomm media platform drivers +# + +# +# Renesas media platform drivers +# + +# +# Rockchip media platform drivers +# + +# +# Samsung media platform drivers +# + +# +# STMicroelectronics media platform drivers +# + +# +# Sunxi media platform drivers +# + +# +# Texas Instruments drivers +# + +# +# VIA media platform drivers +# + +# +# Xilinx media platform drivers +# # # MMC/SDIO DVB adapters @@ -3666,6 +3774,23 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m # CONFIG_SMS_SDIO_DRV is not set # CONFIG_V4L_TEST_DRIVERS is not set # CONFIG_DVB_TEST_DRIVERS is not set +CONFIG_MEDIA_COMMON_OPTIONS=y + +# +# common driver options +# +CONFIG_CYPRESS_FIRMWARE=m +CONFIG_TTPCI_EEPROM=m +CONFIG_VIDEO_CX2341X=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_DVB_B2C2_FLEXCOP=m +CONFIG_SMS_SIANO_MDTV=m +CONFIG_SMS_SIANO_RC=y +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_V4L2=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_DMA_CONTIG=m +CONFIG_VIDEOBUF2_VMALLOC=m # end of Media drivers # @@ -3678,25 +3803,113 @@ CONFIG_MEDIA_ATTACH=y # CONFIG_VIDEO_IR_I2C=m +# +# Camera sensor devices +# +# CONFIG_VIDEO_HI556 is not set +# CONFIG_VIDEO_HI846 is not set +# CONFIG_VIDEO_HI847 is not set +# CONFIG_VIDEO_IMX208 is not set +# CONFIG_VIDEO_IMX214 is not set +# CONFIG_VIDEO_IMX219 is not set +# CONFIG_VIDEO_IMX258 is not set +# CONFIG_VIDEO_IMX274 is not set +# CONFIG_VIDEO_IMX290 is not set +# CONFIG_VIDEO_IMX319 is not set +# CONFIG_VIDEO_IMX334 is not set +# CONFIG_VIDEO_IMX335 is not set +# CONFIG_VIDEO_IMX355 is not set +# CONFIG_VIDEO_IMX412 is not set +# CONFIG_VIDEO_MT9M001 is not set +# CONFIG_VIDEO_MT9M032 is not set +# CONFIG_VIDEO_MT9M111 is not set +# CONFIG_VIDEO_MT9P031 is not set +# CONFIG_VIDEO_MT9T001 is not set +# CONFIG_VIDEO_MT9T112 is not set +# CONFIG_VIDEO_MT9V011 is not set +# CONFIG_VIDEO_MT9V032 is not set +# CONFIG_VIDEO_MT9V111 is not set +# CONFIG_VIDEO_NOON010PC30 is not set +# CONFIG_VIDEO_OG01A1B is not set +# CONFIG_VIDEO_OV02A10 is not set +# CONFIG_VIDEO_OV08D10 is not set +# CONFIG_VIDEO_OV13858 is not set +# CONFIG_VIDEO_OV13B10 is not set +# CONFIG_VIDEO_OV2640 is not set +# CONFIG_VIDEO_OV2659 is not set +# CONFIG_VIDEO_OV2680 is not set +# CONFIG_VIDEO_OV2685 is not set +# CONFIG_VIDEO_OV5640 is not set +# CONFIG_VIDEO_OV5645 is not set +# CONFIG_VIDEO_OV5647 is not set +# CONFIG_VIDEO_OV5648 is not set +# CONFIG_VIDEO_OV5670 is not set +# CONFIG_VIDEO_OV5675 is not set +# CONFIG_VIDEO_OV5693 is not set +# CONFIG_VIDEO_OV5695 is not set +# CONFIG_VIDEO_OV6650 is not set +# CONFIG_VIDEO_OV7251 is not set +# CONFIG_VIDEO_OV7640 is not set +# CONFIG_VIDEO_OV7670 is not set +# CONFIG_VIDEO_OV772X is not set +# CONFIG_VIDEO_OV7740 is not set +# CONFIG_VIDEO_OV8856 is not set +# CONFIG_VIDEO_OV8865 is not set +# CONFIG_VIDEO_OV9282 is not set +# CONFIG_VIDEO_OV9640 is not set +# CONFIG_VIDEO_OV9650 is not set +# CONFIG_VIDEO_RDACM20 is not set +# CONFIG_VIDEO_RDACM21 is not set +# CONFIG_VIDEO_RJ54N1 is not set +# CONFIG_VIDEO_S5C73M3 is not set +# CONFIG_VIDEO_S5K4ECGX is not set +# CONFIG_VIDEO_S5K5BAF is not set +# CONFIG_VIDEO_S5K6A3 is not set +# CONFIG_VIDEO_S5K6AA is not set +# CONFIG_VIDEO_SR030PC30 is not set +# CONFIG_VIDEO_VS6624 is not set +# CONFIG_VIDEO_CCS is not set +# CONFIG_VIDEO_ET8EK8 is not set +# CONFIG_VIDEO_M5MOLS is not set +# end of Camera sensor devices + +# +# Lens drivers +# +# CONFIG_VIDEO_AD5820 is not set +# CONFIG_VIDEO_AK7375 is not set +# CONFIG_VIDEO_DW9714 is not set +# CONFIG_VIDEO_DW9768 is not set +# CONFIG_VIDEO_DW9807_VCM is not set +# end of Lens drivers + +# +# Flash devices +# +# CONFIG_VIDEO_ADP1653 is not set +# CONFIG_VIDEO_LM3560 is not set +# CONFIG_VIDEO_LM3646 is not set +# end of Flash devices + # # Audio decoders, processors and mixers # -# CONFIG_VIDEO_TVAUDIO is not set -# CONFIG_VIDEO_TDA7432 is not set -# CONFIG_VIDEO_TDA9840 is not set -# CONFIG_VIDEO_TDA1997X is not set -# CONFIG_VIDEO_TEA6415C is not set -# CONFIG_VIDEO_TEA6420 is not set -CONFIG_VIDEO_MSP3400=m # CONFIG_VIDEO_CS3308 is not set # CONFIG_VIDEO_CS5345 is not set CONFIG_VIDEO_CS53L32A=m -# CONFIG_VIDEO_TLV320AIC23B is not set -# CONFIG_VIDEO_UDA1342 is not set -CONFIG_VIDEO_WM8775=m -# CONFIG_VIDEO_WM8739 is not set -# CONFIG_VIDEO_VP27SMPX is not set +CONFIG_VIDEO_MSP3400=m # CONFIG_VIDEO_SONY_BTF_MPX is not set +# CONFIG_VIDEO_TDA1997X is not set +# CONFIG_VIDEO_TDA7432 is not set +# CONFIG_VIDEO_TDA9840 is not set +# CONFIG_VIDEO_TEA6415C is not set +# CONFIG_VIDEO_TEA6420 is not set +# CONFIG_VIDEO_TLV320AIC23B is not set +# CONFIG_VIDEO_TVAUDIO is not set +# CONFIG_VIDEO_UDA1342 is not set +# CONFIG_VIDEO_VP27SMPX is not set +# CONFIG_VIDEO_WM8739 is not set +CONFIG_VIDEO_WM8775=m # end of Audio decoders, processors and mixers # @@ -3716,7 +3929,9 @@ CONFIG_VIDEO_WM8775=m # CONFIG_VIDEO_BT819 is not set # CONFIG_VIDEO_BT856 is not set # CONFIG_VIDEO_BT866 is not set +# CONFIG_VIDEO_ISL7998X is not set # CONFIG_VIDEO_KS0127 is not set +# CONFIG_VIDEO_MAX9286 is not set # CONFIG_VIDEO_ML86V7667 is not set # CONFIG_VIDEO_SAA7110 is not set CONFIG_VIDEO_SAA711X=m @@ -3729,7 +3944,6 @@ CONFIG_VIDEO_SAA711X=m # CONFIG_VIDEO_TW9906 is not set # CONFIG_VIDEO_TW9910 is not set # CONFIG_VIDEO_VPX3220 is not set -# CONFIG_VIDEO_MAX9286 is not set # # Video and audio decoders @@ -3741,15 +3955,15 @@ CONFIG_VIDEO_CX25840=m # # Video encoders # -# CONFIG_VIDEO_SAA7127 is not set -# CONFIG_VIDEO_SAA7185 is not set +# CONFIG_VIDEO_AD9389B is not set # CONFIG_VIDEO_ADV7170 is not set # CONFIG_VIDEO_ADV7175 is not set # CONFIG_VIDEO_ADV7343 is not set # CONFIG_VIDEO_ADV7393 is not set # CONFIG_VIDEO_ADV7511 is not set -# CONFIG_VIDEO_AD9389B is not set # CONFIG_VIDEO_AK881X is not set +# CONFIG_VIDEO_SAA7127 is not set +# CONFIG_VIDEO_SAA7185 is not set # CONFIG_VIDEO_THS8200 is not set # end of Video encoders @@ -3775,107 +3989,17 @@ CONFIG_VIDEO_CX25840=m # # Miscellaneous helper chips # -# CONFIG_VIDEO_THS7303 is not set -# CONFIG_VIDEO_M52790 is not set # CONFIG_VIDEO_I2C is not set +# CONFIG_VIDEO_M52790 is not set # CONFIG_VIDEO_ST_MIPID02 is not set +# CONFIG_VIDEO_THS7303 is not set # end of Miscellaneous helper chips -# -# Camera sensor devices -# -# CONFIG_VIDEO_HI556 is not set -# CONFIG_VIDEO_HI846 is not set -# CONFIG_VIDEO_IMX208 is not set -# CONFIG_VIDEO_IMX214 is not set -# CONFIG_VIDEO_IMX219 is not set -# CONFIG_VIDEO_IMX258 is not set -# CONFIG_VIDEO_IMX274 is not set -# CONFIG_VIDEO_IMX290 is not set -# CONFIG_VIDEO_IMX319 is not set -# CONFIG_VIDEO_IMX334 is not set -# CONFIG_VIDEO_IMX335 is not set -# CONFIG_VIDEO_IMX355 is not set -# CONFIG_VIDEO_IMX412 is not set -# CONFIG_VIDEO_OV02A10 is not set -# CONFIG_VIDEO_OV2640 is not set -# CONFIG_VIDEO_OV2659 is not set -# CONFIG_VIDEO_OV2680 is not set -# CONFIG_VIDEO_OV2685 is not set -# CONFIG_VIDEO_OV5640 is not set -# CONFIG_VIDEO_OV5645 is not set -# CONFIG_VIDEO_OV5647 is not set -# CONFIG_VIDEO_OV5648 is not set -# CONFIG_VIDEO_OV6650 is not set -# CONFIG_VIDEO_OV5670 is not set -# CONFIG_VIDEO_OV5675 is not set -# CONFIG_VIDEO_OV5693 is not set -# CONFIG_VIDEO_OV5695 is not set -# CONFIG_VIDEO_OV7251 is not set -# CONFIG_VIDEO_OV772X is not set -# CONFIG_VIDEO_OV7640 is not set -# CONFIG_VIDEO_OV7670 is not set -# CONFIG_VIDEO_OV7740 is not set -# CONFIG_VIDEO_OV8856 is not set -# CONFIG_VIDEO_OV8865 is not set -# CONFIG_VIDEO_OV9282 is not set -# CONFIG_VIDEO_OV9640 is not set -# CONFIG_VIDEO_OV9650 is not set -# CONFIG_VIDEO_OV13858 is not set -# CONFIG_VIDEO_OV13B10 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 -# CONFIG_VIDEO_MT9T001 is not set -# CONFIG_VIDEO_MT9T112 is not set -# CONFIG_VIDEO_MT9V011 is not set -# CONFIG_VIDEO_MT9V032 is not set -# CONFIG_VIDEO_MT9V111 is not set -# CONFIG_VIDEO_SR030PC30 is not set -# CONFIG_VIDEO_NOON010PC30 is not set -# CONFIG_VIDEO_M5MOLS is not set -# CONFIG_VIDEO_RDACM20 is not set -# CONFIG_VIDEO_RDACM21 is not set -# CONFIG_VIDEO_RJ54N1 is not set -# CONFIG_VIDEO_S5K6AA is not set -# CONFIG_VIDEO_S5K6A3 is not set -# CONFIG_VIDEO_S5K4ECGX is not set -# CONFIG_VIDEO_S5K5BAF is not set -# CONFIG_VIDEO_CCS is not set -# CONFIG_VIDEO_ET8EK8 is not set -# CONFIG_VIDEO_S5C73M3 is not set -# end of Camera sensor devices - -# -# Lens drivers -# -# CONFIG_VIDEO_AD5820 is not set -# CONFIG_VIDEO_AK7375 is not set -# CONFIG_VIDEO_DW9714 is not set -# CONFIG_VIDEO_DW9768 is not set -# CONFIG_VIDEO_DW9807_VCM is not set -# end of Lens drivers - -# -# Flash devices -# -# CONFIG_VIDEO_ADP1653 is not set -# CONFIG_VIDEO_LM3560 is not set -# CONFIG_VIDEO_LM3646 is not set -# end of Flash devices - -# -# SPI helper chips -# -# CONFIG_VIDEO_GS1662 is not set -# end of SPI helper chips - # # Media SPI Adapters # CONFIG_CXD2880_SPI_DRV=m +# CONFIG_VIDEO_GS1662 is not set # end of Media SPI Adapters CONFIG_MEDIA_TUNER=y @@ -3883,43 +4007,43 @@ CONFIG_MEDIA_TUNER=y # # Customize TV tuners # -CONFIG_MEDIA_TUNER_SIMPLE=y -CONFIG_MEDIA_TUNER_TDA18250=m -CONFIG_MEDIA_TUNER_TDA8290=y -CONFIG_MEDIA_TUNER_TDA827X=y -CONFIG_MEDIA_TUNER_TDA18271=y -CONFIG_MEDIA_TUNER_TDA9887=y -CONFIG_MEDIA_TUNER_TEA5761=y -CONFIG_MEDIA_TUNER_TEA5767=y -# CONFIG_MEDIA_TUNER_MSI001 is not set -CONFIG_MEDIA_TUNER_MT20XX=y -CONFIG_MEDIA_TUNER_MT2060=m -CONFIG_MEDIA_TUNER_MT2063=m -CONFIG_MEDIA_TUNER_MT2266=m -# CONFIG_MEDIA_TUNER_MT2131 is not set -CONFIG_MEDIA_TUNER_QT1010=m -CONFIG_MEDIA_TUNER_XC2028=y -CONFIG_MEDIA_TUNER_XC5000=y -CONFIG_MEDIA_TUNER_XC4000=y -CONFIG_MEDIA_TUNER_MXL5005S=m -CONFIG_MEDIA_TUNER_MXL5007T=m -CONFIG_MEDIA_TUNER_MC44S803=y -CONFIG_MEDIA_TUNER_MAX2165=m -CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_E4000=m CONFIG_MEDIA_TUNER_FC0011=m CONFIG_MEDIA_TUNER_FC0012=m CONFIG_MEDIA_TUNER_FC0013=m -CONFIG_MEDIA_TUNER_TDA18212=m -CONFIG_MEDIA_TUNER_E4000=m CONFIG_MEDIA_TUNER_FC2580=m -# CONFIG_MEDIA_TUNER_M88RS6000T is not set -CONFIG_MEDIA_TUNER_TUA9001=m -CONFIG_MEDIA_TUNER_SI2157=m CONFIG_MEDIA_TUNER_IT913X=m -CONFIG_MEDIA_TUNER_R820T=m +# CONFIG_MEDIA_TUNER_M88RS6000T is not set +CONFIG_MEDIA_TUNER_MAX2165=m +CONFIG_MEDIA_TUNER_MC44S803=y +# CONFIG_MEDIA_TUNER_MSI001 is not set +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2063=m +CONFIG_MEDIA_TUNER_MT20XX=y +# CONFIG_MEDIA_TUNER_MT2131 is not set +CONFIG_MEDIA_TUNER_MT2266=m # CONFIG_MEDIA_TUNER_MXL301RF is not set -CONFIG_MEDIA_TUNER_QM1D1C0042=m +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m # CONFIG_MEDIA_TUNER_QM1D1B0004 is not set +CONFIG_MEDIA_TUNER_QM1D1C0042=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_R820T=m +CONFIG_MEDIA_TUNER_SI2157=m +CONFIG_MEDIA_TUNER_SIMPLE=y +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_TDA18250=m +CONFIG_MEDIA_TUNER_TDA18271=y +CONFIG_MEDIA_TUNER_TDA827X=y +CONFIG_MEDIA_TUNER_TDA8290=y +CONFIG_MEDIA_TUNER_TDA9887=y +CONFIG_MEDIA_TUNER_TEA5761=y +CONFIG_MEDIA_TUNER_TEA5767=y +CONFIG_MEDIA_TUNER_TUA9001=m +CONFIG_MEDIA_TUNER_XC2028=y +CONFIG_MEDIA_TUNER_XC4000=y +CONFIG_MEDIA_TUNER_XC5000=y # end of Customize TV tuners # @@ -3929,126 +4053,126 @@ CONFIG_MEDIA_TUNER_QM1D1C0042=m # # Multistandard (satellite) frontends # +CONFIG_DVB_M88DS3103=m +# CONFIG_DVB_MXL5XX is not set CONFIG_DVB_STB0899=m CONFIG_DVB_STB6100=m CONFIG_DVB_STV090x=m # CONFIG_DVB_STV0910 is not set CONFIG_DVB_STV6110x=m # CONFIG_DVB_STV6111 is not set -# CONFIG_DVB_MXL5XX is not set -CONFIG_DVB_M88DS3103=m # # Multistandard (cable + terrestrial) frontends # CONFIG_DVB_DRXK=m -CONFIG_DVB_TDA18271C2DD=m -CONFIG_DVB_SI2165=m CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m +CONFIG_DVB_SI2165=m +CONFIG_DVB_TDA18271C2DD=m # # DVB-S (satellite) frontends # # CONFIG_DVB_CX24110 is not set -CONFIG_DVB_CX24123=m -CONFIG_DVB_MT312=m -# CONFIG_DVB_ZL10036 is not set -CONFIG_DVB_ZL10039=m -CONFIG_DVB_S5H1420=m -CONFIG_DVB_STV0288=m -CONFIG_DVB_STB6000=m -CONFIG_DVB_STV0299=m -CONFIG_DVB_STV6110=m -CONFIG_DVB_STV0900=m -# CONFIG_DVB_TDA8083 is not set -CONFIG_DVB_TDA10086=m -# CONFIG_DVB_TDA8261 is not set -# CONFIG_DVB_VES1X93 is not set -CONFIG_DVB_TUNER_ITD1000=m -CONFIG_DVB_TUNER_CX24113=m -CONFIG_DVB_TDA826X=m -# CONFIG_DVB_TUA6100 is not set CONFIG_DVB_CX24116=m # CONFIG_DVB_CX24117 is not set CONFIG_DVB_CX24120=m -CONFIG_DVB_SI21XX=m -CONFIG_DVB_TS2020=m +CONFIG_DVB_CX24123=m CONFIG_DVB_DS3000=m # CONFIG_DVB_MB86A16 is not set +CONFIG_DVB_MT312=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_STV6110=m CONFIG_DVB_TDA10071=m +CONFIG_DVB_TDA10086=m +# CONFIG_DVB_TDA8083 is not set +# CONFIG_DVB_TDA8261 is not set +CONFIG_DVB_TDA826X=m +CONFIG_DVB_TS2020=m +# CONFIG_DVB_TUA6100 is not set +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TUNER_ITD1000=m +# CONFIG_DVB_VES1X93 is not set +# CONFIG_DVB_ZL10036 is not set +CONFIG_DVB_ZL10039=m # # DVB-T (terrestrial) frontends # -# CONFIG_DVB_SP887X is not set +CONFIG_DVB_AF9013=m +CONFIG_DVB_AS102_FE=m # CONFIG_DVB_CX22700 is not set CONFIG_DVB_CX22702=m -# CONFIG_DVB_S5H1432 is not set -CONFIG_DVB_DRXD=m -# CONFIG_DVB_L64781 is not set -CONFIG_DVB_TDA1004X=m -CONFIG_DVB_NXT6000=m -CONFIG_DVB_MT352=m -CONFIG_DVB_ZL10353=m +CONFIG_DVB_CXD2820R=m +CONFIG_DVB_CXD2841ER=m CONFIG_DVB_DIB3000MB=m CONFIG_DVB_DIB3000MC=m CONFIG_DVB_DIB7000M=m CONFIG_DVB_DIB7000P=m # CONFIG_DVB_DIB9000 is not set -CONFIG_DVB_TDA10048=m -CONFIG_DVB_AF9013=m +CONFIG_DVB_DRXD=m CONFIG_DVB_EC100=m -# CONFIG_DVB_STV0367 is not set -CONFIG_DVB_CXD2820R=m -CONFIG_DVB_CXD2841ER=m +CONFIG_DVB_GP8PSK_FE=m +# CONFIG_DVB_L64781 is not set +CONFIG_DVB_MT352=m +CONFIG_DVB_NXT6000=m CONFIG_DVB_RTL2830=m CONFIG_DVB_RTL2832=m CONFIG_DVB_RTL2832_SDR=m +# CONFIG_DVB_S5H1432 is not set CONFIG_DVB_SI2168=m -CONFIG_DVB_AS102_FE=m +# CONFIG_DVB_SP887X is not set +# CONFIG_DVB_STV0367 is not set +CONFIG_DVB_TDA10048=m +CONFIG_DVB_TDA1004X=m CONFIG_DVB_ZD1301_DEMOD=m -CONFIG_DVB_GP8PSK_FE=m +CONFIG_DVB_ZL10353=m # CONFIG_DVB_CXD2880 is not set # # DVB-C (cable) frontends # -# CONFIG_DVB_VES1820 is not set +CONFIG_DVB_STV0297=m # CONFIG_DVB_TDA10021 is not set CONFIG_DVB_TDA10023=m -CONFIG_DVB_STV0297=m +# CONFIG_DVB_VES1820 is not set # # ATSC (North American/Korean Terrestrial/Cable DTV) frontends # -CONFIG_DVB_NXT200X=m -# CONFIG_DVB_OR51211 is not set -# CONFIG_DVB_OR51132 is not set -CONFIG_DVB_BCM3510=m -CONFIG_DVB_LGDT330X=m -CONFIG_DVB_LGDT3305=m -CONFIG_DVB_LGDT3306A=m -CONFIG_DVB_LG2160=m -CONFIG_DVB_S5H1409=m CONFIG_DVB_AU8522=m CONFIG_DVB_AU8522_DTV=m CONFIG_DVB_AU8522_V4L=m -CONFIG_DVB_S5H1411=m +CONFIG_DVB_BCM3510=m +CONFIG_DVB_LG2160=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_LGDT3306A=m +CONFIG_DVB_LGDT330X=m CONFIG_DVB_MXL692=m +CONFIG_DVB_NXT200X=m +# CONFIG_DVB_OR51132 is not set +# CONFIG_DVB_OR51211 is not set +CONFIG_DVB_S5H1409=m +CONFIG_DVB_S5H1411=m # # ISDB-T (terrestrial) frontends # -CONFIG_DVB_S921=m CONFIG_DVB_DIB8000=m CONFIG_DVB_MB86A20S=m +CONFIG_DVB_S921=m # # ISDB-S (satellite) & ISDB-T (terrestrial) frontends # -CONFIG_DVB_TC90522=m # CONFIG_DVB_MN88443X is not set +CONFIG_DVB_TC90522=m # # Digital terrestrial only tuners/PLL @@ -4060,25 +4184,25 @@ CONFIG_DVB_TUNER_DIB0090=m # # SEC control devices for DVB-S # -CONFIG_DVB_DRX39XYJ=m +CONFIG_DVB_A8293=m +CONFIG_DVB_AF9033=m +# CONFIG_DVB_ASCOT2E is not set +CONFIG_DVB_ATBM8830=m +# CONFIG_DVB_HELENE is not set +# CONFIG_DVB_HORUS3A is not set +# CONFIG_DVB_ISL6405 is not set +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_IX2505V=m +# CONFIG_DVB_LGS8GL5 is not set +CONFIG_DVB_LGS8GXX=m # CONFIG_DVB_LNBH25 is not set # CONFIG_DVB_LNBH29 is not set CONFIG_DVB_LNBP21=m CONFIG_DVB_LNBP22=m -# CONFIG_DVB_ISL6405 is not set -CONFIG_DVB_ISL6421=m -CONFIG_DVB_ISL6423=m -CONFIG_DVB_A8293=m -# CONFIG_DVB_LGS8GL5 is not set -CONFIG_DVB_LGS8GXX=m -CONFIG_DVB_ATBM8830=m -# CONFIG_DVB_TDA665x is not set -CONFIG_DVB_IX2505V=m CONFIG_DVB_M88RS2000=m -CONFIG_DVB_AF9033=m -# CONFIG_DVB_HORUS3A is not set -# CONFIG_DVB_ASCOT2E is not set -# CONFIG_DVB_HELENE is not set +# CONFIG_DVB_TDA665x is not set +CONFIG_DVB_DRX39XYJ=m # # Common Interface (EN50221) controller drivers @@ -4096,8 +4220,6 @@ CONFIG_DVB_DUMMY_FE=m # # Graphics support # -CONFIG_VGA_ARB=y -CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_DRM=y # CONFIG_DRM_DP_AUX_CHARDEV is not set # CONFIG_DRM_DEBUG_MM is not set @@ -4189,6 +4311,7 @@ CONFIG_DRM_PANEL_BRIDGE=y # CONFIG_DRM_CHIPONE_ICN6211 is not set # CONFIG_DRM_CHRONTEL_CH7033 is not set CONFIG_DRM_DISPLAY_CONNECTOR=y +# CONFIG_DRM_ITE_IT6505 is not set # CONFIG_DRM_LONTIUM_LT8912B is not set # CONFIG_DRM_LONTIUM_LT9611 is not set # CONFIG_DRM_LONTIUM_LT9611UXC is not set @@ -4234,6 +4357,7 @@ CONFIG_DRM_MESON_DW_HDMI=y # CONFIG_DRM_BOCHS is not set # CONFIG_DRM_CIRRUS_QEMU is not set # CONFIG_DRM_GM12U320 is not set +# CONFIG_DRM_PANEL_MIPI_DBI is not set # CONFIG_DRM_SIMPLEDRM is not set # CONFIG_TINYDRM_HX8357D is not set # CONFIG_TINYDRM_ILI9163 is not set @@ -4249,6 +4373,7 @@ CONFIG_DRM_LIMA=m CONFIG_DRM_PANFROST=m # CONFIG_DRM_TIDSS is not set # CONFIG_DRM_GUD is not set +# CONFIG_DRM_SSD130X is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y CONFIG_DRM_NOMODESET=y @@ -4486,6 +4611,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_AK5386 is not set # CONFIG_SND_SOC_AK5558 is not set # CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_AW8738 is not set # CONFIG_SND_SOC_BD28623 is not set # CONFIG_SND_SOC_BT_SCO is not set # CONFIG_SND_SOC_CS35L32 is not set @@ -4573,6 +4699,7 @@ CONFIG_SND_SOC_SPDIF=y # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +# CONFIG_SND_SOC_TAS5805M is not set # CONFIG_SND_SOC_TAS6424 is not set # CONFIG_SND_SOC_TDA7419 is not set # CONFIG_SND_SOC_TFA9879 is not set @@ -4723,12 +4850,14 @@ CONFIG_HID_PENMOUNT=y CONFIG_HID_PETALYNX=y # CONFIG_HID_PICOLCD is not set # CONFIG_HID_PLANTRONICS is not set +# CONFIG_HID_RAZER is not set # CONFIG_HID_PRIMAX is not set # CONFIG_HID_RETRODE is not set # CONFIG_HID_ROCCAT is not set # CONFIG_HID_SAITEK is not set CONFIG_HID_SAMSUNG=y # CONFIG_HID_SEMITEK is not set +# CONFIG_HID_SIGMAMICRO is not set CONFIG_HID_SONY=y CONFIG_SONY_FF=y # CONFIG_HID_SPEEDLINK is not set @@ -5036,8 +5165,10 @@ CONFIG_TYPEC_TCPM=m CONFIG_TYPEC_FUSB302=m # CONFIG_TYPEC_UCSI is not set # CONFIG_TYPEC_TPS6598X is not set +# CONFIG_TYPEC_RT1719 is not set # CONFIG_TYPEC_HD3SS3220 is not set # CONFIG_TYPEC_STUSB160X is not set +# CONFIG_TYPEC_WUSB3801 is not set # # USB Type-C Multiplexer/DeMultiplexer Switch support @@ -5266,6 +5397,7 @@ CONFIG_RTC_DRV_DS3232_HWMON=y # CONFIG_RTC_DRV_BQ4802 is not set # CONFIG_RTC_DRV_RP5C01 is not set # CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_OPTEE is not set # CONFIG_RTC_DRV_ZYNQMP is not set # @@ -5307,7 +5439,7 @@ CONFIG_AUXDISPLAY=y CONFIG_TM1628=m # CONFIG_CHARLCD_BL_OFF is not set # CONFIG_CHARLCD_BL_ON is not set -# CONFIG_CHARLCD_BL_FLASH is not set +CONFIG_CHARLCD_BL_FLASH=y # CONFIG_UIO is not set # CONFIG_VFIO is not set # CONFIG_VIRT_DRIVERS is not set @@ -5352,7 +5484,6 @@ CONFIG_R8188EU=m # Analog to digital converters # # CONFIG_AD7816 is not set -# CONFIG_AD7280 is not set # end of Analog to digital converters # @@ -5399,15 +5530,8 @@ CONFIG_STAGING_MEDIA=y CONFIG_VIDEO_MESON_VDEC=m # CONFIG_VIDEO_ZORAN is not set # CONFIG_DVB_AV7110 is not set - -# -# Android -# -# end of Android - # CONFIG_STAGING_BOARD is not set # CONFIG_LTE_GDM724X is not set -# CONFIG_GS_FPGABOOT is not set # CONFIG_UNISYSSPAR is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_FB_TFT is not set @@ -5444,11 +5568,11 @@ CONFIG_COMMON_CLK_SCPI=y # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set -# CONFIG_COMMON_CLK_LAN966X is not set # CONFIG_COMMON_CLK_S2MPS11 is not set # CONFIG_COMMON_CLK_AXI_CLKGEN is not set # CONFIG_COMMON_CLK_XGENE is not set CONFIG_COMMON_CLK_PWM=y +# CONFIG_COMMON_CLK_RS9_PCIE is not set # CONFIG_COMMON_CLK_VC5 is not set CONFIG_COMMON_CLK_FIXED_MMIO=y @@ -5640,6 +5764,8 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_ADXL345_SPI is not set # CONFIG_ADXL355_I2C is not set # CONFIG_ADXL355_SPI is not set +# CONFIG_ADXL367_SPI is not set +# CONFIG_ADXL367_I2C is not set # CONFIG_ADXL372_SPI is not set # CONFIG_ADXL372_I2C is not set # CONFIG_BMA180 is not set @@ -5679,6 +5805,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_AD7124 is not set # CONFIG_AD7192 is not set # CONFIG_AD7266 is not set +# CONFIG_AD7280 is not set # CONFIG_AD7291 is not set # CONFIG_AD7292 is not set # CONFIG_AD7298 is not set @@ -5754,6 +5881,7 @@ CONFIG_MESON_SARADC=y # Amplifiers # # CONFIG_AD8366 is not set +# CONFIG_ADA4250 is not set # CONFIG_HMC425 is not set # end of Amplifiers @@ -5812,6 +5940,7 @@ CONFIG_MESON_SARADC=y # CONFIG_AD5593R is not set # CONFIG_AD5504 is not set # CONFIG_AD5624R_SPI is not set +# CONFIG_LTC2688 is not set # CONFIG_AD5686_SPI is not set # CONFIG_AD5696_I2C is not set # CONFIG_AD5755 is not set @@ -5867,6 +5996,8 @@ CONFIG_MESON_SARADC=y # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADMV1013 is not set +# CONFIG_ADMV1014 is not set +# CONFIG_ADMV4420 is not set # CONFIG_ADRF6780 is not set # end of Phase-Locked Loop (PLL) frequency synthesizers # end of Frequency Synthesizers DDS/PLL @@ -6084,6 +6215,8 @@ CONFIG_MESON_SARADC=y # CONFIG_RFD77402 is not set # CONFIG_SRF04 is not set # CONFIG_SX9310 is not set +# CONFIG_SX9324 is not set +# CONFIG_SX9360 is not set # CONFIG_SX9500 is not set # CONFIG_SRF08 is not set # CONFIG_VCNL3020 is not set @@ -6168,11 +6301,9 @@ CONFIG_PHY_MESON_AXG_MIPI_DPHY=y # CONFIG_PHY_CADENCE_TORRENT is not set # CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_DPHY_RX is not set # CONFIG_PHY_CADENCE_SIERRA is not set # CONFIG_PHY_CADENCE_SALVO is not set -# CONFIG_PHY_FSL_IMX8MQ_USB is not set -# CONFIG_PHY_MIXEL_MIPI_DPHY is not set -# CONFIG_PHY_FSL_IMX8M_PCIE is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_LAN966X_SERDES is not set @@ -6194,7 +6325,6 @@ CONFIG_PHY_MESON_AXG_MIPI_DPHY=y # CONFIG_ARM_PMU is not set # CONFIG_ARM_DSU_PMU is not set # CONFIG_ARM_SPE_PMU is not set -# CONFIG_MARVELL_CN10K_TAD_PMU is not set # CONFIG_HISI_PCIE_PMU is not set # end of Performance monitor support @@ -6231,7 +6361,6 @@ CONFIG_TEE=y # TEE drivers # CONFIG_OPTEE=y -CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1 # end of TEE drivers CONFIG_MULTIPLEXER=y @@ -6251,6 +6380,7 @@ CONFIG_PM_OPP=y # CONFIG_INTERCONNECT is not set # CONFIG_COUNTER is not set # CONFIG_MOST is not set +# CONFIG_PECI is not set # end of Device Drivers # @@ -6303,7 +6433,7 @@ CONFIG_F2FS_CHECK_FS=y # CONFIG_F2FS_FAULT_INJECTION is not set # CONFIG_F2FS_FS_COMPRESSION is not set CONFIG_F2FS_IOSTAT=y -# CONFIG_FS_DAX is not set +# CONFIG_F2FS_UNFAIR_RWSEM is not set CONFIG_FS_POSIX_ACL=y CONFIG_EXPORTFS=y # CONFIG_EXPORTFS_BLOCK_OPS is not set @@ -6561,6 +6691,8 @@ CONFIG_INIT_STACK_NONE=y # CONFIG_GCC_PLUGIN_STACKLEAK is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y +# CONFIG_ZERO_CALL_USED_REGS is not set # end of Memory initialization # end of Kernel hardening options # end of Security options @@ -6605,6 +6737,7 @@ CONFIG_CRYPTO_ENGINE=y # CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_DH=y +# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set CONFIG_CRYPTO_ECC=m CONFIG_CRYPTO_ECDH=m # CONFIG_CRYPTO_ECDSA is not set @@ -6651,10 +6784,11 @@ CONFIG_CRYPTO_HMAC=y # CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32=y -CONFIG_CRYPTO_XXHASH=m +CONFIG_CRYPTO_XXHASH=y CONFIG_CRYPTO_BLAKE2B=m # CONFIG_CRYPTO_BLAKE2S is not set CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_CRC64_ROCKSOFT=y CONFIG_CRYPTO_GHASH=y # CONFIG_CRYPTO_POLY1305 is not set CONFIG_CRYPTO_MD4=y @@ -6792,6 +6926,7 @@ CONFIG_CRYPTO_LIB_SHA256=y CONFIG_CRC_CCITT=m CONFIG_CRC16=y CONFIG_CRC_T10DIF=y +CONFIG_CRC64_ROCKSOFT=y CONFIG_CRC_ITU_T=y CONFIG_CRC32=y # CONFIG_CRC32_SELFTEST is not set @@ -6799,7 +6934,7 @@ CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC32_SLICEBY4 is not set # CONFIG_CRC32_SARWATE is not set # CONFIG_CRC32_BIT is not set -# CONFIG_CRC64 is not set +CONFIG_CRC64=y # CONFIG_CRC4 is not set CONFIG_CRC7=y CONFIG_LIBCRC32C=m @@ -6843,7 +6978,6 @@ CONFIG_SWIOTLB=y # CONFIG_DMA_RESTRICTED_POOL is not set CONFIG_DMA_NONCOHERENT_MMAP=y CONFIG_DMA_COHERENT_POOL=y -CONFIG_DMA_REMAP=y CONFIG_DMA_DIRECT_REMAP=y CONFIG_DMA_CMA=y # CONFIG_DMA_PERNUMA_CMA is not set @@ -6906,10 +7040,16 @@ CONFIG_SYMBOLIC_ERRNAME=y CONFIG_DEBUG_BUGVERBOSE=y # end of printk and dmesg options +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y + # # Compile-time checks and compiler options # -# CONFIG_DEBUG_INFO is not set +CONFIG_DEBUG_INFO_NONE=y +# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set +# CONFIG_DEBUG_INFO_DWARF4 is not set +# CONFIG_DEBUG_INFO_DWARF5 is not set CONFIG_FRAME_WARN=2048 CONFIG_STRIP_ASM_SYMS=y # CONFIG_READABLE_ASM is not set @@ -6939,11 +7079,10 @@ CONFIG_HAVE_ARCH_KGDB=y CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y # CONFIG_UBSAN is not set CONFIG_HAVE_ARCH_KCSAN=y +CONFIG_HAVE_KCSAN_COMPILER=y +# CONFIG_KCSAN is not set # end of Generic Kernel Debugging Instruments -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_MISC=y - # # Networking Debugging # @@ -6982,6 +7121,7 @@ CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y CONFIG_HAVE_ARCH_KASAN_VMALLOC=y CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_CC_HAS_KASAN_SW_TAGS=y CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y # CONFIG_KASAN is not set CONFIG_HAVE_ARCH_KFENCE=y