mirror of
https://github.com/libretro/Lakka-LibreELEC.git
synced 2025-03-16 12:00:24 +00:00
Merge branch 'LibreELEC/master'
update to 10.95.1 - LE11 Beta2
This commit is contained in:
packages
addons
linux-firmware
linux
mediacenter/LibreELEC-settings
sysutils
tools/atf
projects
Amlogic
bootloader/scripts
devices/AMLGX/patches/linux
amlogic-0001-LOCAL-set-meson-gx-cma-pool-to-896MB.patchamlogic-0002-LOCAL-set-meson-g12-cma-pool-to-896MB.patchamlogic-0003-LOCAL-arm64-fix-Kodi-sysinfo-CPU-information.patchamlogic-0004-LOCAL-arm64-meson-add-Amlogic-Meson-GX-PM-Suspend.patchamlogic-0005-LOCAL-arm64-dts-meson-add-support-for-GX-PM-and-Virt.patchamlogic-0006-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas.patchamlogic-0007-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Khadas.patchamlogic-0008-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-.patchamlogic-0009-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patchamlogic-0010-LOCAL-usb-hub-disable-autosuspend-for-Genesys-Logic-.patchamlogic-0011-LOCAL-of-partial-revert-of-fdt.c-changes.patchamlogic-0012-FROMGIT-6.2-Revert-arm64-dts-meson-sm1-odroid-hc4-di.patchamlogic-0012-REVERT-mmc-meson-gx-add-SDIO-interrupt-support.patchamlogic-0013-FROMGIT-6.3-arm64-dts-meson-remove-CPU-opps-below-1G.patchamlogic-0014-FROMGIT-6.3-arm64-dts-meson-add-Broadcom-WiFi-to-P21.patchamlogic-0015-FROMGIT-6.3-arm64-dts-meson-move-pwm_ef-node-in-P212.patchamlogic-0016-FROMGIT-6.3-arm64-dts-meson-remove-WiFi-BT-nodes-fro.patchamlogic-0017-FROMGIT-6.3-arm64-dts-meson-add-audio-playback-to-S9.patchamlogic-0018-FROMGIT-6.3-dt-bindings-reset-meson-g12a-Add-missing.patchamlogic-0019-FROMGIT-6.3-dt-bindings-power-Add-G12A-NNA-power-dom.patchamlogic-0020-FROMGIT-6.3-soc-amlogic-meson-pwrc-Add-NNA-power-dom.patchamlogic-0021-FROMGIT-6.3-arm64-dts-Add-DT-node-for-the-VIPNano-QI.patchamlogic-0022-FROMGIT-6.3-drm-etnaviv-Add-nn_core_count-to-chip-fe.patchamlogic-0023-FROMGIT-6.3-drm-etnaviv-Warn-when-probing-on-NPUs.patchamlogic-0024-FROMGIT-6.3-drm-etnaviv-add-HWDB-entry-for-VIPNano-Q.patchamlogic-0025-FROMGIT-6.3-arm64-dts-Fix-NPU-power-domain-reference.patchamlogic-0026-FROMGIT-6.3-clk-meson-mpll-Switch-from-.round_rate-t.patchamlogic-0027-FROMGIT-6.3-clk-meson-dualdiv-switch-from-.round_rat.patchamlogic-0028-FROMGIT-6.3-clk-meson-sclk-div-switch-from-.round_ra.patchamlogic-0029-FROMGIT-6.3-clk-meson-clk-cpu-dyndiv-switch-from-.ro.patchamlogic-0030-FROMGIT-6.3-arm64-dts-amlogic-meson-sm1-odroid-hc4-f.patchamlogic-0031-FROMGIT-6.3-arm64-dts-meson-make-dts-use-gpio-fan-ma.patchamlogic-0032-FROMGIT-6.3-arm64-dts-meson-radxa-zero-allow-usb-otg.patchamlogic-0033-FROMGIT-6.3-arm64-dts-meson-bananapi-m5-switch-VDDIO.patchamlogic-0034-FROMGIT-6.3-arm64-dts-meson-meson-sm1-bananapi-m5-co.patchamlogic-0035-FROMGIT-6.3-dt-bindings-arm-amlogic-add-support-for-.patchamlogic-0036-FROMGIT-6.3-arm64-dts-meson-add-support-for-BananaPi.patchamlogic-0037-FROMGIT-6.3-dt-bindings-arm-amlogic-add-support-for-.patchamlogic-0038-FROMGIT-6.3-arm64-dts-meson-add-support-for-Radxa-Ze.patchamlogic-0039-FROMGIT-6.4-dt-bindings-net-add-amlogic-gxl-mdio-mul.patchamlogic-0040-FROMGIT-6.4-net-mdio-add-amlogic-gxl-mdio-mux-suppor.patchamlogic-0041-FROMLIST-v1-mmc-meson-gx-fix-deferred-probing.patchamlogic-0042-FROMLIST-v5-dt-bindings-vendor-prefixes-Add-Titan-Mi.patchamlogic-0043-FROMLIST-v5-dt-bindings-auxdisplay-Add-Titan-Micro-E.patchamlogic-0044-FROMLIST-v5-docs-ABI-document-tm1628-attribute-displ.patchamlogic-0045-FROMLIST-v5-auxdisplay-add-support-for-Titanmec-TM16.patchamlogic-0045-WIP-drivers-meson-vdec-add-handling-to-HEVC-decoder-.patchamlogic-0046-FROMLIST-v5-arm64-dts-meson-gxl-s905w-tx3-mini-add-s.patchamlogic-0046-WIP-drivers-meson-vdec-add-HEVC-support-to-GXBB.patchamlogic-0047-FROMLIST-v5-MAINTAINERS-Add-entry-for-tm1628-auxdisp.patchamlogic-0048-FROMLIST-v1-ASoC-hdmi-codec-reorder-channel-allocati.patchamlogic-0049-FROMLIST-v1-media-meson-vdec-remove-redundant-if-sta.patchamlogic-0049-WIP-arm64-dts-meson-radxa-zero-add-support-for-the-u.patchamlogic-0050-FROMLIST-v1-media-meson-vdec-esparser-check-parsing-.patchamlogic-0051-FROMLIST-v2-media-meson-vdec-implement-10bit-bitstre.patchamlogic-0052-FROMLIST-v2-media-meson-vdec-add-HEVC-decode-codec.patchamlogic-0052-WIP-arm64-dts-meson-add-support-for-the-NPU-on-Radxa.patchamlogic-0053-FROMLIST-v2-dt-bindings-media-rc-add-rc-dreambox-bin.patchamlogic-0054-FROMLIST-v2-media-rc-add-common-keymap-for-Dreambox-.patchamlogic-0055-FROMLIST-v2-dt-bindings-media-rc-add-rc-beelink-mxii.patchamlogic-0056-FROMLIST-v2-media-rc-add-Beelink-Mini-MXIII-keymap.patchamlogic-0057-FROMLIST-v1-net-phy-meson-gxl-use-MMD-access-dummy-s.patchamlogic-0058-FROMLIST-v1-arm64-dts-meson-axg-Make-mmc-host-contro.patchamlogic-0059-FROMLIST-v1-arm64-dts-meson-g12-common-Make-mmc-host.patchamlogic-0060-FROMLIST-v1-arm64-dts-meson-gx-Make-mmc-host-control.patchamlogic-0061-FROMLIST-v1-drm-meson-meson_venc-Relax-the-supported.patchamlogic-0062-FROMLIST-v2-arm64-dts-meson-gxbb-kii-pro-sort-and-ti.patchamlogic-0063-FROMLIST-v2-arm64-dts-meson-gxbb-kii-pro-complete-th.patchamlogic-0064-FROMLIST-v2-arm64-dts-meson-gxbb-kii-pro-add-initial.patchamlogic-0065-WIP-media-meson-vdec-disable-MPEG1-MPEG2-hardware-de.patchamlogic-0066-WIP-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patchamlogic-0067-WIP-arm64-dts-meson-add-UHS-SDIO-capabilities-to-p21.patchamlogic-0068-WIP-arm64-dts-meson-remove-SDIO-node-from-Khadas-VIM.patchamlogic-0069-WIP-arm64-dts-meson-add-audio-playback-to-p201.patchamlogic-0070-WIP-arm64-dts-meson-add-audio-playback-to-p200.patchamlogic-0071-WIP-arm64-dts-meson-add-audio-playback-to-u200.patchamlogic-0072-WIP-arm64-dts-meson-add-Headphone-output-to-Beelink-.patchamlogic-0073-WIP-dt-bindings-arm-amlogic-add-support-for-the-Tani.patchamlogic-0074-WIP-arm64-dts-meson-add-support-for-the-Tanix-TX5-Ma.patchamlogic-0075-WIP-arm64-dts-meson-add-multiple-MeCool-device-trees.patchamlogic-0076-WIP-dt-bindings-arm-amlogic-add-support-for-Minix-NE.patchamlogic-0077-WIP-arm64-dts-meson-add-initial-device-tree-for-Mini.patchamlogic-0078-LOCAL-arm64-dts-meson-add-rtc-vrtc-aliases-to-Minix-.patchamlogic-0079-WIP-dt-bindings-arm-amlogic-add-support-for-Beelink-.patchamlogic-0080-WIP-arm64-dts-meson-add-support-for-Beelink-Mini-MXI.patchamlogic-0081-WIP-media-rc-add-keymap-for-MeCool-M8S-Pro-W-remote.patchamlogic-0082-WIP-dt-bindings-arm-amlogic-add-support-for-MeCool-M.patchamlogic-0083-WIP-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-W.patchamlogic-0084-WIP-dt-bindings-arm-amlogic-add-Vero-4K-binding.patchamlogic-0085-WIP-arm64-dts-meson-add-support-for-OSMC-Vero-4K.patchamlogic-0086-WIP-arm64-dts-meson-add-RTL8822CS-bluetooth-to-X96-A.patchamlogic-0087-WIP-media-rc-add-keymap-for-Venz-V10-remote.patchamlogic-0088-WIP-dt-bindings-arm-amlogic-add-S905L-and-Venz-V10-b.patchamlogic-0089-WIP-arm64-dts-meson-add-support-for-Venz-V10.patchamlogic-0090-WIP-dt-bindings-vendor-prefixes-add-tbee-prefix.patchamlogic-0091-FIXUP-add-adc-gpio-keys-and-led-s-to-dreambox.patchamlogic-0091-WIP-dt-bindings-arm-amlogic-add-TBee-Box-binding.patchamlogic-0092-WIP-arm64-dts-meson-add-support-for-TBee-Box.patchamlogic-0092-fixup_am6-plus.patchamlogic-0093-WIP-dt-bindings-arm-amlogic-add-Beelink-GT1-binding.patchamlogic-0094-WIP-arm64-dts-meson-add-support-for-Beelink-GT1.patchamlogic-0095-WIP-arm64-dts-meson-add-vcc_5v-regulator-to-WeTek-dt.patchamlogic-0096-WIP-arm64-dts-meson-add-audio-lineout-to-WeTek-Play2.patchamlogic-0097-WIP-arm64-dts-amlogic-fix-cvbs-disable-on-WeTek-Hub.patchamlogic-0098-WIP-ASoC-dt-bindings-add-compatible-for-es8323-i2c.patchamlogic-0099-WIP-ASoC-codecs-add-support-for-ES8323.patchamlogic-0100-WIP-dt-bindings-add-dream-vendor-prefix.patchamlogic-0101-WIP-dt-bindings-arm-amlogic-add-support-for-Dreambox.patchamlogic-0102-WIP-arm64-dts-meson-add-initial-device-trees-for-Dre.patchamlogic-0103-WIP-dt-bindings-arm-amlogic-add-support-for-Ugoos-AM.patchamlogic-0104-WIP-arm64-dts-meson-add-support-for-Ugoos-AM6-Plus.patchamlogic-0105-arm64-dts-meson-add-support-for-MeCool-M8S-Pro-Plus.patchamlogic-0106-WIP-arm64-dts-meson-radxa-zero2-add-pwm-fan-support.patchamlogic-0107-WIP-dt-bindings-arm-amlogic-add-support-for-Tanix-TX.patchamlogic-0108-WIP-arm64-dts-meson-add-initial-device-tree-for-Tani.patchamlogic-0109-WIP-arm64-dts-meson-add-7-segment-display-to-Tanix-T.patchamlogic-0110-WIP-arm64-dts-meson-sml5442tw-add-cap-sdio-irq-to-pr.patchamlogic-0111-WIP-net-phy-add-support-for-Maxio-MAE0621A.patch
linux
Rockchip
scripts
@ -3,7 +3,7 @@
|
||||
|
||||
PKG_NAME="cli"
|
||||
PKG_VERSION="$(get_pkg_version moby)"
|
||||
PKG_SHA256="3379d06cd6177832b91f4796c680b6bf15c7895773448716b4c3c5253f611d1b"
|
||||
PKG_SHA256="37bc1c71a782fc10d35aa6708c1b3c90a71f3947c33665cb0de68df25dc14d94"
|
||||
PKG_LICENSE="ASL"
|
||||
PKG_SITE="https://github.com/docker/cli"
|
||||
PKG_URL="https://github.com/docker/cli/archive/v${PKG_VERSION}.tar.gz"
|
||||
@ -12,7 +12,7 @@ PKG_LONGDESC="The Docker CLI"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
# Git commit of the matching release https://github.com/docker/cli/releases
|
||||
export PKG_GIT_COMMIT="e92dd87c3209361f29b692ab4b8f0f9248779297"
|
||||
export PKG_GIT_COMMIT="a5ee5b1dfc9b8f08ed9e020bb54fc18550173ef6"
|
||||
|
||||
configure_target() {
|
||||
go_configure
|
||||
|
@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="moby"
|
||||
PKG_VERSION="23.0.0"
|
||||
PKG_SHA256="94492508260e57eb93399257d53435cd5308ca6330e173ca6e6f3dbf4c6e12f3"
|
||||
PKG_VERSION="23.0.1"
|
||||
PKG_SHA256="c8e6c0ac5f0c772023e3430f80190e0f86644b6d94cac63118b03561385f7b56"
|
||||
PKG_LICENSE="ASL"
|
||||
PKG_SITE="https://mobyproject.org/"
|
||||
PKG_URL="https://github.com/moby/moby/archive/v${PKG_VERSION}.tar.gz"
|
||||
@ -12,7 +12,7 @@ PKG_LONGDESC="Moby is an open-source project created by Docker to enable and acc
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
# Git commit of the matching release https://github.com/moby/moby
|
||||
export PKG_GIT_COMMIT="d7573ab8672555762688f4c7ab8cc69ae8ec1a47"
|
||||
export PKG_GIT_COMMIT="bc3805a0a0d3b5bd3f0e6c69f46ac08dd53377c7"
|
||||
|
||||
PKG_MOBY_BUILDTAGS="daemon \
|
||||
autogen \
|
||||
|
@ -3,7 +3,7 @@
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="docker"
|
||||
PKG_REV="0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="ASL"
|
||||
PKG_SITE="http://www.docker.com/"
|
||||
|
@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="brcmfmac_sdio-firmware"
|
||||
PKG_VERSION="59fe14f8f4d5c06ab5d7a5244ced4036509adfbe"
|
||||
PKG_SHA256="7af96aaad31548239dd8ef4260422bfd8a47ef403598266d0b465e5b59cef57e"
|
||||
PKG_VERSION="c70355f9ec6d015b91a5c3199aa08b433e2f7caf"
|
||||
PKG_SHA256="1a17f203d77590a1492e8fb156091caafcdec1c66b3df9152f42414892fa6471"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/LibreELEC/brcmfmac_sdio-firmware"
|
||||
PKG_URL="https://github.com/LibreELEC/brcmfmac_sdio-firmware/archive/${PKG_VERSION}.tar.gz"
|
||||
|
@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="kernel-firmware"
|
||||
PKG_VERSION="20230117"
|
||||
PKG_SHA256="df11e25ba2fb4d5343473757e17a3b4cef599250a26b1f7e0f038850f0cb3d64"
|
||||
PKG_VERSION="20230210"
|
||||
PKG_SHA256="6e3d9e8d52cffc4ec0dbe8533a8445328e0524a20f159a5b61c2706f983ce38a"
|
||||
PKG_LICENSE="other"
|
||||
PKG_SITE="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/"
|
||||
PKG_URL="https://cdn.kernel.org/pub/linux/kernel/firmware/linux-firmware-${PKG_VERSION}.tar.xz"
|
||||
|
@ -16,10 +16,11 @@ PKG_PATCH_DIRS="${LINUX}"
|
||||
|
||||
case "${LINUX}" in
|
||||
amlogic)
|
||||
PKG_VERSION="90ca7a874a9093e500cc6147cecd85ad2e6a2852" # 6.1.5
|
||||
PKG_SHA256="6fed4ac4f4585ebac26e82022f377fca29f8b4dc8042e34db1f67b53f4f5d2d8"
|
||||
PKG_VERSION="d60c95efffe84428e3611431bf688f50bfc13f4e" # 6.1.11
|
||||
PKG_SHA256="e6d5524d72b0ccb047a429f4d46a119a823622507c14985e95f8aa3e2600a779"
|
||||
PKG_URL="https://github.com/torvalds/linux/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
|
||||
PKG_PATCH_DIRS="default"
|
||||
;;
|
||||
raspberrypi)
|
||||
PKG_VERSION="eaf07c3a977e7210896bf66e65969252741b9d74" # 6.1.10
|
||||
|
231
packages/linux/patches/default/linux-122-rtw88-USB-fixes.patch
Normal file
231
packages/linux/patches/default/linux-122-rtw88-USB-fixes.patch
Normal file
@ -0,0 +1,231 @@
|
||||
From: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Neo Jou <neojou@gmail.com>, Hans Ulli Kroll <linux@ulli-kroll.de>,
|
||||
Ping-Ke Shih <pkshih@realtek.com>,
|
||||
Yan-Hsuan Chuang <tony0620emma@gmail.com>,
|
||||
Kalle Valo <kvalo@kernel.org>, netdev@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
|
||||
kernel@pengutronix.de, Alexander Hochbaum <alex@appudo.com>,
|
||||
Da Xue <da@libre.computer>, Po-Hao Huang <phhuang@realtek.com>,
|
||||
Andreas Henriksson <andreas@fatal.se>,
|
||||
Viktor Petrenko <g0000ga@gmail.com>,
|
||||
Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Subject: [PATCH v2 0/3] wifi: rtw88: USB fixes
|
||||
Date: Fri, 10 Feb 2023 12:16:29 +0100
|
||||
Message-Id: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
X-Mailer: git-send-email 2.30.2
|
||||
MIME-Version: 1.0
|
||||
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
|
||||
X-SA-Exim-Mail-From: sha@pengutronix.de
|
||||
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de);
|
||||
SAEximRunCond expanded to false
|
||||
X-PTX-Original-Recipient: linux-wireless@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
This series addresses issues for the recently added RTW88 USB support
|
||||
reported by Andreas Henriksson and also our customer.
|
||||
|
||||
The hardware can't handle urbs that have a size of multiple of the
|
||||
bulkout_size (usually 512 bytes). The symptom is that the hardware
|
||||
stalls completely. The issue can be reproduced by sending a suitably
|
||||
sized ping packet from the device:
|
||||
|
||||
ping -s 394 <somehost>
|
||||
|
||||
(It's 394 bytes here on a RTL8822CU and RTL8821CU, the actual size may
|
||||
differ on other chips, it was 402 bytes on a RTL8723DU)
|
||||
|
||||
Other than that qsel was not set correctly. The sympton here is that
|
||||
only one of multiple bulk endpoints was used to send data.
|
||||
|
||||
Changes since v1:
|
||||
- Use URB_ZERO_PACKET to let the USB host controller handle it automatically
|
||||
rather than working around the issue.
|
||||
|
||||
Sascha Hauer (3):
|
||||
wifi: rtw88: usb: Set qsel correctly
|
||||
wifi: rtw88: usb: send Zero length packets if necessary
|
||||
wifi: rtw88: usb: drop now unnecessary URB size check
|
||||
|
||||
drivers/net/wireless/realtek/rtw88/usb.c | 18 +++---------------
|
||||
1 file changed, 3 insertions(+), 15 deletions(-)
|
||||
Reported-by: Andreas Henriksson <andreas@fatal.se>
|
||||
Tested-by: Andreas Henriksson <andreas@fatal.se>
|
||||
|
||||
From: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Neo Jou <neojou@gmail.com>, Hans Ulli Kroll <linux@ulli-kroll.de>,
|
||||
Ping-Ke Shih <pkshih@realtek.com>,
|
||||
Yan-Hsuan Chuang <tony0620emma@gmail.com>,
|
||||
Kalle Valo <kvalo@kernel.org>, netdev@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
|
||||
kernel@pengutronix.de, Alexander Hochbaum <alex@appudo.com>,
|
||||
Da Xue <da@libre.computer>, Po-Hao Huang <phhuang@realtek.com>,
|
||||
Andreas Henriksson <andreas@fatal.se>,
|
||||
Viktor Petrenko <g0000ga@gmail.com>,
|
||||
Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Subject: [PATCH v2 1/3] wifi: rtw88: usb: Set qsel correctly
|
||||
Date: Fri, 10 Feb 2023 12:16:30 +0100
|
||||
Message-Id: <20230210111632.1985205-2-s.hauer@pengutronix.de>
|
||||
X-Mailer: git-send-email 2.30.2
|
||||
In-Reply-To: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
References: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
MIME-Version: 1.0
|
||||
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
|
||||
X-SA-Exim-Mail-From: sha@pengutronix.de
|
||||
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de);
|
||||
SAEximRunCond expanded to false
|
||||
X-PTX-Original-Recipient: linux-wireless@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
We have to extract qsel from the skb before doing skb_push() on it,
|
||||
otherwise qsel will always be 0.
|
||||
|
||||
Fixes: a82dfd33d1237 ("wifi: rtw88: Add common USB chip support")
|
||||
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/usb.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
index 4ef38279b64c9..d9e995544e405 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
@@ -471,9 +471,9 @@ static int rtw_usb_tx_write(struct rtw_dev *rtwdev,
|
||||
u8 *pkt_desc;
|
||||
int ep;
|
||||
|
||||
+ pkt_info->qsel = rtw_usb_tx_queue_mapping_to_qsel(skb);
|
||||
pkt_desc = skb_push(skb, chip->tx_pkt_desc_sz);
|
||||
memset(pkt_desc, 0, chip->tx_pkt_desc_sz);
|
||||
- pkt_info->qsel = rtw_usb_tx_queue_mapping_to_qsel(skb);
|
||||
ep = qsel_to_ep(rtwusb, pkt_info->qsel);
|
||||
rtw_tx_fill_tx_desc(pkt_info, skb);
|
||||
rtw_tx_fill_txdesc_checksum(rtwdev, pkt_info, skb->data);
|
||||
|
||||
From: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Neo Jou <neojou@gmail.com>, Hans Ulli Kroll <linux@ulli-kroll.de>,
|
||||
Ping-Ke Shih <pkshih@realtek.com>,
|
||||
Yan-Hsuan Chuang <tony0620emma@gmail.com>,
|
||||
Kalle Valo <kvalo@kernel.org>, netdev@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
|
||||
kernel@pengutronix.de, Alexander Hochbaum <alex@appudo.com>,
|
||||
Da Xue <da@libre.computer>, Po-Hao Huang <phhuang@realtek.com>,
|
||||
Andreas Henriksson <andreas@fatal.se>,
|
||||
Viktor Petrenko <g0000ga@gmail.com>,
|
||||
Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Subject: [PATCH v2 2/3] wifi: rtw88: usb: send Zero length packets if
|
||||
necessary
|
||||
Date: Fri, 10 Feb 2023 12:16:31 +0100
|
||||
Message-Id: <20230210111632.1985205-3-s.hauer@pengutronix.de>
|
||||
X-Mailer: git-send-email 2.30.2
|
||||
In-Reply-To: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
References: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
MIME-Version: 1.0
|
||||
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
|
||||
X-SA-Exim-Mail-From: sha@pengutronix.de
|
||||
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de);
|
||||
SAEximRunCond expanded to false
|
||||
X-PTX-Original-Recipient: linux-wireless@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
Zero length packets are necessary when sending URBs with size
|
||||
multiple of bulkout_size, otherwise the hardware just stalls.
|
||||
|
||||
Fixes: a82dfd33d1237 ("wifi: rtw88: Add common USB chip support")
|
||||
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/usb.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
index d9e995544e405..1a09c9288198a 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
@@ -271,6 +271,7 @@ static int rtw_usb_write_port(struct rtw_dev *rtwdev, u8 qsel, struct sk_buff *s
|
||||
return -ENOMEM;
|
||||
|
||||
usb_fill_bulk_urb(urb, usbd, pipe, skb->data, skb->len, cb, context);
|
||||
+ urb->transfer_flags |= URB_ZERO_PACKET;
|
||||
ret = usb_submit_urb(urb, GFP_ATOMIC);
|
||||
|
||||
usb_free_urb(urb);
|
||||
|
||||
From: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: Neo Jou <neojou@gmail.com>, Hans Ulli Kroll <linux@ulli-kroll.de>,
|
||||
Ping-Ke Shih <pkshih@realtek.com>,
|
||||
Yan-Hsuan Chuang <tony0620emma@gmail.com>,
|
||||
Kalle Valo <kvalo@kernel.org>, netdev@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org,
|
||||
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
|
||||
kernel@pengutronix.de, Alexander Hochbaum <alex@appudo.com>,
|
||||
Da Xue <da@libre.computer>, Po-Hao Huang <phhuang@realtek.com>,
|
||||
Andreas Henriksson <andreas@fatal.se>,
|
||||
Viktor Petrenko <g0000ga@gmail.com>,
|
||||
Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Subject: [PATCH v2 3/3] wifi: rtw88: usb: drop now unnecessary URB size check
|
||||
Date: Fri, 10 Feb 2023 12:16:32 +0100
|
||||
Message-Id: <20230210111632.1985205-4-s.hauer@pengutronix.de>
|
||||
X-Mailer: git-send-email 2.30.2
|
||||
In-Reply-To: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
References: <20230210111632.1985205-1-s.hauer@pengutronix.de>
|
||||
MIME-Version: 1.0
|
||||
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
|
||||
X-SA-Exim-Mail-From: sha@pengutronix.de
|
||||
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de);
|
||||
SAEximRunCond expanded to false
|
||||
X-PTX-Original-Recipient: linux-wireless@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-wireless.vger.kernel.org>
|
||||
X-Mailing-List: linux-wireless@vger.kernel.org
|
||||
|
||||
Now that we send URBs with the URB_ZERO_PACKET flag set we no longer
|
||||
need to make sure that the URB sizes are not multiple of the
|
||||
bulkout_size. Drop the check.
|
||||
|
||||
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/usb.c | 15 +--------------
|
||||
1 file changed, 1 insertion(+), 14 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
index 1a09c9288198a..2a8336b1847a5 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/usb.c
|
||||
@@ -414,24 +414,11 @@ static int rtw_usb_write_data_rsvd_page(struct rtw_dev *rtwdev, u8 *buf,
|
||||
u32 size)
|
||||
{
|
||||
const struct rtw_chip_info *chip = rtwdev->chip;
|
||||
- struct rtw_usb *rtwusb;
|
||||
struct rtw_tx_pkt_info pkt_info = {0};
|
||||
- u32 len, desclen;
|
||||
-
|
||||
- rtwusb = rtw_get_usb_priv(rtwdev);
|
||||
|
||||
pkt_info.tx_pkt_size = size;
|
||||
pkt_info.qsel = TX_DESC_QSEL_BEACON;
|
||||
-
|
||||
- desclen = chip->tx_pkt_desc_sz;
|
||||
- len = desclen + size;
|
||||
- if (len % rtwusb->bulkout_size == 0) {
|
||||
- len += RTW_USB_PACKET_OFFSET_SZ;
|
||||
- pkt_info.offset = desclen + RTW_USB_PACKET_OFFSET_SZ;
|
||||
- pkt_info.pkt_offset = 1;
|
||||
- } else {
|
||||
- pkt_info.offset = desclen;
|
||||
- }
|
||||
+ pkt_info.offset = chip->tx_pkt_desc_sz;
|
||||
|
||||
return rtw_usb_write_data(rtwdev, &pkt_info, buf);
|
||||
}
|
@ -3,8 +3,8 @@
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="LibreELEC-settings"
|
||||
PKG_VERSION="1d458c6242668ffca70aa5da56bec1fd548b5e88"
|
||||
PKG_SHA256="d08bbf432fc9906eb9365199dfbab2042a7b439a8a704d51e0b220b4b4c97296"
|
||||
PKG_VERSION="9a334c0857fe5ccf84af272f42dc6f6cd5c72e4b"
|
||||
PKG_SHA256="71be076033ae4bcb9012a12c2fc47b0805b0e40db2e812e19613643bbcba978c"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://libreelec.tv"
|
||||
PKG_URL="https://github.com/LibreELEC/service.libreelec.settings/archive/${PKG_VERSION}.tar.gz"
|
||||
|
@ -23,7 +23,7 @@ do_stop(){
|
||||
}
|
||||
|
||||
case $(dtname) in
|
||||
oranth,tx3-mini)
|
||||
oranth,tx3-mini|oranth,tx9-pro)
|
||||
LED_PATH_COLON="/sys/devices/platform/spi/spi_master/spi0/spi0.0/leds/:colon/brightness"
|
||||
LED_PATH_TEXT="/sys/devices/platform/spi/spi_master/spi0/spi0.0/display_text"
|
||||
;;
|
||||
|
@ -4,7 +4,7 @@
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
case $DTNAME in
|
||||
radxa,zero)
|
||||
radxa,zero*)
|
||||
echo "Skipping configuration, eth0 not detected"
|
||||
exit 0
|
||||
;;
|
||||
|
@ -14,13 +14,13 @@ PKG_TOOLCHAIN="manual"
|
||||
|
||||
[ -n "${KERNEL_TOOLCHAIN}" ] && PKG_DEPENDS_TARGET+=" gcc-${KERNEL_TOOLCHAIN}:host"
|
||||
|
||||
if [ "${PROJECT}" = "Rockchip" -a "${DEVICE}" = "RK3399" ]; then
|
||||
if [ "${ATF_PLATFORM}" = "rk3399" ]; then
|
||||
PKG_DEPENDS_TARGET+=" gcc-arm-none-eabi:host"
|
||||
export M0_CROSS_COMPILE="${TOOLCHAIN}/bin/arm-none-eabi-"
|
||||
fi
|
||||
|
||||
make_target() {
|
||||
if [ "${DEVICE}" = "iMX8" ]; then
|
||||
if [ "${ATF_PLATFORM}" = "imx8mq" ]; then
|
||||
CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="--no-warn-rwx-segments" CFLAGS="--param=min-pagesize=0" make PLAT=${ATF_PLATFORM} bl31
|
||||
else
|
||||
CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="--no-warn-rwx-segments" CFLAGS="" make PLAT=${ATF_PLATFORM} bl31
|
||||
|
@ -1,3 +1,5 @@
|
||||
if fatload mmc 0 0x1000000 u-boot.ext; then go 0x1000000; fi;
|
||||
if fatload usb 0 0x1000000 u-boot.ext; then go 0x1000000; fi;
|
||||
setenv env_addr 0x1040000
|
||||
setenv boot_start 'bootm ${loadaddr} - ${dtb_mem_addr}'
|
||||
setenv addmac 'if printenv mac; then setenv bootargs ${bootargs} mac=${mac}; elif printenv eth_mac; then setenv bootargs ${bootargs} mac=${eth_mac}; fi'
|
||||
|
4
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0001-LOCAL-set-meson-gx-cma-pool-to-896MB.patch
4
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0001-LOCAL-set-meson-gx-cma-pool-to-896MB.patch
@ -1,7 +1,7 @@
|
||||
From ff14abfd54075d016f8d46e30e3395dd5613024b Mon Sep 17 00:00:00 2001
|
||||
From 96c275bc11a788a05f203a350cb554a249e51eae Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sat, 13 Apr 2019 05:41:51 +0000
|
||||
Subject: [PATCH 01/92] LOCAL: set meson-gx cma pool to 896MB
|
||||
Subject: [PATCH 001/111] LOCAL: set meson-gx cma pool to 896MB
|
||||
|
||||
This change sets the CMA pool to a larger 896MB! value for vdec use
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 184621c6007e47fb0415a05668f132006c80caa9 Mon Sep 17 00:00:00 2001
|
||||
From b381fd01e0f8121106c943ce2e97965b5a8f1eb5 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 14 Aug 2019 19:58:14 +0000
|
||||
Subject: [PATCH 02/92] LOCAL: set meson-g12 cma pool to 896MB
|
||||
Subject: [PATCH 002/111] LOCAL: set meson-g12 cma pool to 896MB
|
||||
|
||||
This change sets the CMA pool to a larger 896MB! value for vdec use
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From b1e12b3742785eecdda1b58e2445c3d83eccf445 Mon Sep 17 00:00:00 2001
|
||||
From 254a90493072296f96a1f3ff12a2909fce8845fd Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sat, 13 Apr 2019 05:45:18 +0000
|
||||
Subject: [PATCH 03/92] LOCAL: arm64: fix Kodi sysinfo CPU information
|
||||
Subject: [PATCH 003/111] LOCAL: arm64: fix Kodi sysinfo CPU information
|
||||
|
||||
This allows the CPU information to show in the Kodi sysinfo screen, e.g.
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From a859d1225bad98a5398a4777acc0cb64d32dfe04 Mon Sep 17 00:00:00 2001
|
||||
From d9578c193745e8bc6351705b4048c666906abb9e Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Thu, 3 Nov 2016 15:29:23 +0100
|
||||
Subject: [PATCH 04/92] LOCAL: arm64: meson: add Amlogic Meson GX PM Suspend
|
||||
Subject: [PATCH 004/111] LOCAL: 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.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 87dbe21ffcdcd929dcb86f31453fcb400c954cd7 Mon Sep 17 00:00:00 2001
|
||||
From db9cc13e36dbbf385e625e69571ef987a3322c0d Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Thu, 3 Nov 2016 15:29:25 +0100
|
||||
Subject: [PATCH 05/92] LOCAL: arm64: dts: meson: add support for GX PM and
|
||||
Subject: [PATCH 005/111] LOCAL: arm64: dts: meson: add support for GX PM and
|
||||
Virtual RTC
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 6f466ee418a0ce0de01ac2671efc5e73364b83eb Mon Sep 17 00:00:00 2001
|
||||
From 8031cf2c53a83213f9e2334041d03e9284cac733 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Thu, 21 Jan 2021 01:35:36 +0000
|
||||
Subject: [PATCH 06/92] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
|
||||
Subject: [PATCH 006/111] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
|
||||
Khadas VIM
|
||||
|
||||
Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 14ad2621e7d5d7d96ef6ead4ed2dd2658d75acc6 Mon Sep 17 00:00:00 2001
|
||||
From e94b053abcbd21ae957cb23de89cc82e5d3a045c Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sat, 6 Nov 2021 13:01:08 +0000
|
||||
Subject: [PATCH 07/92] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
|
||||
Subject: [PATCH 007/111] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
|
||||
Khadas VIM2
|
||||
|
||||
Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1
|
||||
|
@ -1,8 +1,8 @@
|
||||
From b9ec4238130625734e858f024ca9f5d87642bb62 Mon Sep 17 00:00:00 2001
|
||||
From d2f7e226584a6b78399478299fd5ba3a2e1d671c Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Mon, 1 Feb 2021 19:27:40 +0000
|
||||
Subject: [PATCH 08/92] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Minix
|
||||
NEO U9-H
|
||||
Subject: [PATCH 008/111] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
|
||||
Minix NEO U9-H
|
||||
|
||||
Add node aliases to prevent meson-vrtc from claiming /dev/rtc0
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 0cade3f576c5486cc914c32c7478af90aedf31bb Mon Sep 17 00:00:00 2001
|
||||
From 76e432285ba1ec0f38c73ba98557f65363ad6049 Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Date: Sun, 17 Apr 2022 04:37:48 +0000
|
||||
Subject: [PATCH 09/92] LOCAL: ALSA: Assign internal PCM chmap/ELD/IEC958 kctls
|
||||
to device 0
|
||||
Subject: [PATCH 009/111] LOCAL: 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
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 72ea6f5c5fe299d105ebee91103ae26a7473af46 Mon Sep 17 00:00:00 2001
|
||||
From 13366cc3b3163c1f4523074ef23d85d0022ceed2 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Mon, 3 Jan 2022 10:44:17 +0000
|
||||
Subject: [PATCH 10/92] LOCAL: usb: hub: disable autosuspend for Genesys Logic
|
||||
Hubs
|
||||
Subject: [PATCH 010/111] LOCAL: usb: hub: disable autosuspend for Genesys
|
||||
Logic Hubs
|
||||
|
||||
Disable autosuspend in Genesys Logic hubs to allow USB devices on the
|
||||
Odroid C2 board to be used. The alternative to this patch is setting
|
||||
@ -17,18 +17,18 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
|
||||
index bbab424b0d55..ccfd0b312867 100644
|
||||
index 0aaaadb02cc6..1ca434aed00b 100644
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -5797,7 +5797,7 @@ static const struct usb_device_id hub_id_table[] = {
|
||||
@@ -5800,7 +5800,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,
|
||||
- .driver_info = HUB_QUIRK_CHECK_PORT_AUTOSUSPEND},
|
||||
+ .driver_info = HUB_QUIRK_DISABLE_AUTOSUSPEND},
|
||||
{ .match_flags = USB_DEVICE_ID_MATCH_DEV_CLASS,
|
||||
.bDeviceClass = USB_CLASS_HUB},
|
||||
{ .match_flags = USB_DEVICE_ID_MATCH_INT_CLASS,
|
||||
{ .match_flags = USB_DEVICE_ID_MATCH_VENDOR
|
||||
| USB_DEVICE_ID_MATCH_PRODUCT,
|
||||
.idVendor = USB_VENDOR_TEXAS_INSTRUMENTS,
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 0efd3bd51c74ee027a993d1a51501dd20c70e9ac Mon Sep 17 00:00:00 2001
|
||||
From 3a73eb6db4399030da096bd884c382be9a8fac93 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Agner <stefan@agner.ch>
|
||||
Date: Wed, 15 Sep 2021 05:00:45 +0000
|
||||
Subject: [PATCH 11/92] LOCAL: of: partial revert of fdt.c changes
|
||||
Subject: [PATCH 011/111] LOCAL: 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:
|
||||
@ -14,10 +14,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
1 file changed, 9 deletions(-)
|
||||
|
||||
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
|
||||
index 4f88e8bbdd27..efa14615b865 100644
|
||||
index d1a68b6d03b3..81508e8b34d2 100644
|
||||
--- a/drivers/of/fdt.c
|
||||
+++ b/drivers/of/fdt.c
|
||||
@@ -481,15 +481,6 @@ static int __init early_init_dt_reserve_memory(phys_addr_t base,
|
||||
@@ -480,15 +480,6 @@ static int __init early_init_dt_reserve_memory(phys_addr_t base,
|
||||
phys_addr_t size, bool nomap)
|
||||
{
|
||||
if (nomap) {
|
||||
|
@ -1,8 +1,8 @@
|
||||
From d84e72164608f4cf0b022afd3435fa67a0e529c1 Mon Sep 17 00:00:00 2001
|
||||
From 3837d793e505f1578b55b89ee079b89cd89fb274 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Olivier Mercier <nemunaire@nemunai.re>
|
||||
Date: Wed, 4 Jan 2023 15:19:06 +0000
|
||||
Subject: [PATCH 33/92] FROMLIST(v1): Revert "arm64: dts: meson-sm1-odroid-hc4:
|
||||
disable unused USB PHY0"
|
||||
Subject: [PATCH 012/111] FROMGIT(6.2): Revert "arm64: dts:
|
||||
meson-sm1-odroid-hc4: disable unused USB PHY0"
|
||||
|
||||
This reverts commit 703e84d6615a4a95fb504c8f2e4c9426b86f3930.
|
||||
|
@ -1,197 +0,0 @@
|
||||
From 95ad58d671ddc3b20f6de9a90659a12bfed01548 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sat, 14 Jan 2023 12:25:33 +0000
|
||||
Subject: [PATCH 12/92] REVERT: mmc: meson-gx: add SDIO interrupt support
|
||||
|
||||
This reverts commit 066ecde6d826b443f492570e080cba3f2212280d.
|
||||
|
||||
See https://lore.kernel.org/linux-amlogic/52861a84-0fe2-37f0-d66a-145f2ebe1d79@gmail.com/T/#m9c6a0aa6b221bcbf51457e612456c6fff5eeacfa
|
||||
---
|
||||
drivers/mmc/host/meson-gx-mmc.c | 70 +++++----------------------------
|
||||
1 file changed, 10 insertions(+), 60 deletions(-)
|
||||
|
||||
diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
|
||||
index 6e5ea0213b47..a8258ea5364c 100644
|
||||
--- a/drivers/mmc/host/meson-gx-mmc.c
|
||||
+++ b/drivers/mmc/host/meson-gx-mmc.c
|
||||
@@ -41,17 +41,14 @@
|
||||
#define CLK_V2_TX_DELAY_MASK GENMASK(19, 16)
|
||||
#define CLK_V2_RX_DELAY_MASK GENMASK(23, 20)
|
||||
#define CLK_V2_ALWAYS_ON BIT(24)
|
||||
-#define CLK_V2_IRQ_SDIO_SLEEP BIT(25)
|
||||
|
||||
#define CLK_V3_TX_DELAY_MASK GENMASK(21, 16)
|
||||
#define CLK_V3_RX_DELAY_MASK GENMASK(27, 22)
|
||||
#define CLK_V3_ALWAYS_ON BIT(28)
|
||||
-#define CLK_V3_IRQ_SDIO_SLEEP BIT(29)
|
||||
|
||||
#define CLK_TX_DELAY_MASK(h) (h->data->tx_delay_mask)
|
||||
#define CLK_RX_DELAY_MASK(h) (h->data->rx_delay_mask)
|
||||
#define CLK_ALWAYS_ON(h) (h->data->always_on)
|
||||
-#define CLK_IRQ_SDIO_SLEEP(h) (h->data->irq_sdio_sleep)
|
||||
|
||||
#define SD_EMMC_DELAY 0x4
|
||||
#define SD_EMMC_ADJUST 0x8
|
||||
@@ -138,7 +135,6 @@ struct meson_mmc_data {
|
||||
unsigned int rx_delay_mask;
|
||||
unsigned int always_on;
|
||||
unsigned int adjust;
|
||||
- unsigned int irq_sdio_sleep;
|
||||
};
|
||||
|
||||
struct sd_emmc_desc {
|
||||
@@ -178,7 +174,6 @@ struct meson_host {
|
||||
bool vqmmc_enabled;
|
||||
bool needs_pre_post_req;
|
||||
|
||||
- spinlock_t lock;
|
||||
};
|
||||
|
||||
#define CMD_CFG_LENGTH_MASK GENMASK(8, 0)
|
||||
@@ -435,7 +430,6 @@ static int meson_mmc_clk_init(struct meson_host *host)
|
||||
clk_reg |= FIELD_PREP(CLK_CORE_PHASE_MASK, CLK_PHASE_180);
|
||||
clk_reg |= FIELD_PREP(CLK_TX_PHASE_MASK, CLK_PHASE_0);
|
||||
clk_reg |= FIELD_PREP(CLK_RX_PHASE_MASK, CLK_PHASE_0);
|
||||
- clk_reg |= CLK_IRQ_SDIO_SLEEP(host);
|
||||
writel(clk_reg, host->regs + SD_EMMC_CLOCK);
|
||||
|
||||
/* get the mux parents */
|
||||
@@ -934,54 +928,32 @@ static void meson_mmc_read_resp(struct mmc_host *mmc, struct mmc_command *cmd)
|
||||
}
|
||||
}
|
||||
|
||||
-static void __meson_mmc_enable_sdio_irq(struct mmc_host *mmc, int enable)
|
||||
-{
|
||||
- struct meson_host *host = mmc_priv(mmc);
|
||||
- u32 reg_irqen = IRQ_EN_MASK;
|
||||
-
|
||||
- if (enable)
|
||||
- reg_irqen |= IRQ_SDIO;
|
||||
- writel(reg_irqen, host->regs + SD_EMMC_IRQ_EN);
|
||||
-}
|
||||
-
|
||||
static irqreturn_t meson_mmc_irq(int irq, void *dev_id)
|
||||
{
|
||||
struct meson_host *host = dev_id;
|
||||
struct mmc_command *cmd;
|
||||
+ struct mmc_data *data;
|
||||
u32 status, raw_status;
|
||||
irqreturn_t ret = IRQ_NONE;
|
||||
|
||||
raw_status = readl(host->regs + SD_EMMC_STATUS);
|
||||
- status = raw_status & (IRQ_EN_MASK | IRQ_SDIO);
|
||||
+ status = raw_status & IRQ_EN_MASK;
|
||||
|
||||
if (!status) {
|
||||
dev_dbg(host->dev,
|
||||
"Unexpected IRQ! irq_en 0x%08lx - status 0x%08x\n",
|
||||
- IRQ_EN_MASK | IRQ_SDIO, raw_status);
|
||||
+ IRQ_EN_MASK, raw_status);
|
||||
return IRQ_NONE;
|
||||
}
|
||||
|
||||
- if (WARN_ON(!host))
|
||||
+ if (WARN_ON(!host) || WARN_ON(!host->cmd))
|
||||
return IRQ_NONE;
|
||||
|
||||
/* ack all raised interrupts */
|
||||
writel(status, host->regs + SD_EMMC_STATUS);
|
||||
|
||||
cmd = host->cmd;
|
||||
-
|
||||
- if (status & IRQ_SDIO) {
|
||||
- spin_lock(&host->lock);
|
||||
- __meson_mmc_enable_sdio_irq(host->mmc, 0);
|
||||
- sdio_signal_irq(host->mmc);
|
||||
- spin_unlock(&host->lock);
|
||||
- status &= ~IRQ_SDIO;
|
||||
- if (!status)
|
||||
- return IRQ_HANDLED;
|
||||
- }
|
||||
-
|
||||
- if (WARN_ON(!cmd))
|
||||
- return IRQ_NONE;
|
||||
-
|
||||
+ data = cmd->data;
|
||||
cmd->error = 0;
|
||||
if (status & IRQ_CRC_ERR) {
|
||||
dev_dbg(host->dev, "CRC Error - status 0x%08x\n", status);
|
||||
@@ -999,9 +971,12 @@ static irqreturn_t meson_mmc_irq(int irq, void *dev_id)
|
||||
|
||||
meson_mmc_read_resp(host->mmc, cmd);
|
||||
|
||||
- if (status & (IRQ_END_OF_CHAIN | IRQ_RESP_STATUS)) {
|
||||
- struct mmc_data *data = cmd->data;
|
||||
+ if (status & IRQ_SDIO) {
|
||||
+ dev_dbg(host->dev, "IRQ: SDIO TODO.\n");
|
||||
+ ret = IRQ_HANDLED;
|
||||
+ }
|
||||
|
||||
+ if (status & (IRQ_END_OF_CHAIN | IRQ_RESP_STATUS)) {
|
||||
if (data && !cmd->error)
|
||||
data->bytes_xfered = data->blksz * data->blocks;
|
||||
if (meson_mmc_bounce_buf_read(data) ||
|
||||
@@ -1144,21 +1119,6 @@ static int meson_mmc_voltage_switch(struct mmc_host *mmc, struct mmc_ios *ios)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
-static void meson_mmc_enable_sdio_irq(struct mmc_host *mmc, int enable)
|
||||
-{
|
||||
- struct meson_host *host = mmc_priv(mmc);
|
||||
- unsigned long flags;
|
||||
-
|
||||
- spin_lock_irqsave(&host->lock, flags);
|
||||
- __meson_mmc_enable_sdio_irq(mmc, enable);
|
||||
- spin_unlock_irqrestore(&host->lock, flags);
|
||||
-}
|
||||
-
|
||||
-static void meson_mmc_ack_sdio_irq(struct mmc_host *mmc)
|
||||
-{
|
||||
- meson_mmc_enable_sdio_irq(mmc, 1);
|
||||
-}
|
||||
-
|
||||
static const struct mmc_host_ops meson_mmc_ops = {
|
||||
.request = meson_mmc_request,
|
||||
.set_ios = meson_mmc_set_ios,
|
||||
@@ -1168,8 +1128,6 @@ static const struct mmc_host_ops meson_mmc_ops = {
|
||||
.execute_tuning = meson_mmc_resampling_tuning,
|
||||
.card_busy = meson_mmc_card_busy,
|
||||
.start_signal_voltage_switch = meson_mmc_voltage_switch,
|
||||
- .enable_sdio_irq = meson_mmc_enable_sdio_irq,
|
||||
- .ack_sdio_irq = meson_mmc_ack_sdio_irq,
|
||||
};
|
||||
|
||||
static int meson_mmc_probe(struct platform_device *pdev)
|
||||
@@ -1275,13 +1233,7 @@ static int meson_mmc_probe(struct platform_device *pdev)
|
||||
if (ret)
|
||||
goto err_init_clk;
|
||||
|
||||
- spin_lock_init(&host->lock);
|
||||
-
|
||||
mmc->caps |= MMC_CAP_CMD23;
|
||||
-
|
||||
- if (mmc->caps & MMC_CAP_SDIO_IRQ)
|
||||
- mmc->caps2 |= MMC_CAP2_SDIO_IRQ_NOTHREAD;
|
||||
-
|
||||
if (host->dram_access_quirk) {
|
||||
/* Limit segments to 1 due to low available sram memory */
|
||||
mmc->max_segs = 1;
|
||||
@@ -1374,7 +1326,6 @@ 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,
|
||||
- .irq_sdio_sleep = CLK_V2_IRQ_SDIO_SLEEP,
|
||||
};
|
||||
|
||||
static const struct meson_mmc_data meson_axg_data = {
|
||||
@@ -1382,7 +1333,6 @@ 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,
|
||||
- .irq_sdio_sleep = CLK_V3_IRQ_SDIO_SLEEP,
|
||||
};
|
||||
|
||||
static const struct of_device_id meson_mmc_of_match[] = {
|
||||
--
|
||||
2.34.1
|
||||
|
53
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0013-FROMGIT-6.3-arm64-dts-meson-remove-CPU-opps-below-1G.patch
Normal file
53
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0013-FROMGIT-6.3-arm64-dts-meson-remove-CPU-opps-below-1G.patch
Normal file
@ -0,0 +1,53 @@
|
||||
From e7055f8ff6e60ef492d6c1baef6cbfec6a346668 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Thu, 19 Jan 2023 05:03:53 +0000
|
||||
Subject: [PATCH 013/111] FROMGIT(6.3): arm64: dts: meson: remove CPU opps
|
||||
below 1GHz for G12A boards
|
||||
|
||||
Amlogic G12A 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: b190056fa9ee ("arm64: dts: meson-g12a: add cpus OPP table")
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12a.dtsi | 20 --------------------
|
||||
1 file changed, 20 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
|
||||
index fb0ab27d1f64..6eaceb717d61 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
|
||||
@@ -57,26 +57,6 @@ cpu_opp_table: opp-table {
|
||||
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 <666666666>;
|
||||
- opp-microvolt = <731000>;
|
||||
- };
|
||||
-
|
||||
opp-1000000000 {
|
||||
opp-hz = /bits/ 64 <1000000000>;
|
||||
opp-microvolt = <731000>;
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,7 +1,8 @@
|
||||
From e5a4a0047f094aea697fcb6133b1112830afb5ab Mon Sep 17 00:00:00 2001
|
||||
From 673311690caf7aaf2c5436d1c1fe659923722266 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Thu, 13 Jan 2022 03:50:01 +0000
|
||||
Subject: [PATCH 35/92] WIP: arm64: dts: meson: add Broadcom WiFi to P212 dtsi
|
||||
Subject: [PATCH 014/111] FROMGIT(6.3): 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.
|
@ -1,7 +1,8 @@
|
||||
From cf4221c578efbc38145eb0b0ab494b5345738262 Mon Sep 17 00:00:00 2001
|
||||
From c57576fe884da0e37c2d8e2cfb60384bf1ef1525 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Thu, 13 Jan 2022 03:56:12 +0000
|
||||
Subject: [PATCH 36/92] WIP: arm64: dts: meson: move pwm_ef node in P212 dtsi
|
||||
Subject: [PATCH 015/111] FROMGIT(6.3): arm64: dts: meson: move pwm_ef node in
|
||||
P212 dtsi
|
||||
|
||||
Cosmetic-only change to alpha-sort the pwm_ef node.
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 3b9ee8fdaeec5b4c4cb6bc7c3f02a8831ee5439f Mon Sep 17 00:00:00 2001
|
||||
From 88b550fb8d8e2ae36f5dec1af6bcba7a354adfd9 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Thu, 13 Jan 2022 03:58:58 +0000
|
||||
Subject: [PATCH 37/92] WIP: arm64: dts: meson: remove WiFi/BT nodes from
|
||||
Khadas VIM1
|
||||
Subject: [PATCH 016/111] FROMGIT(6.3): arm64: dts: meson: remove WiFi/BT nodes
|
||||
from Khadas VIM1
|
||||
|
||||
The Broadcom WiFi/BT SDIO nodes are now inherited from the P212 common dtsi
|
||||
so we can remove them from the VIM1 board dts.
|
@ -1,8 +1,8 @@
|
||||
From 8187f1b091c9b66ff30fa0d999b78e527a942ebc Mon Sep 17 00:00:00 2001
|
||||
From 0442a4911ff03670d8e6b7ad5aa4cc92bcb185bf Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Thu, 13 Jan 2022 04:30:44 +0000
|
||||
Subject: [PATCH 41/92] WIP: arm64: dts: meson: add audio playback to
|
||||
S905X-P212 dts
|
||||
Subject: [PATCH 017/111] FROMGIT(6.3): arm64: dts: meson: add audio playback
|
||||
to S905X-P212 dts
|
||||
|
||||
Add support for the HDMI and Analogue i2s audio outputs.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From ceb50e98435f388832372b434660eec802e20b0f Mon Sep 17 00:00:00 2001
|
||||
From aabc97b6f87e7ec9c91be72d23a9e2d01fcae006 Mon Sep 17 00:00:00 2001
|
||||
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
||||
Date: Wed, 30 Nov 2022 12:03:14 +0000
|
||||
Subject: [PATCH 21/92] FROMLIST(v6): dt-bindings: reset: meson-g12a: Add
|
||||
Subject: [PATCH 018/111] FROMGIT(6.3): dt-bindings: reset: meson-g12a: Add
|
||||
missing NNA reset
|
||||
|
||||
Doesn't appear in the TRM I have, but it is used by the downstream
|
@ -1,7 +1,7 @@
|
||||
From 5f95a5931e6459199c4524f477d76875b6191619 Mon Sep 17 00:00:00 2001
|
||||
From 5779ea2a58e718e36f7c1c908accb8d11e153587 Mon Sep 17 00:00:00 2001
|
||||
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
||||
Date: Wed, 30 Nov 2022 12:04:02 +0000
|
||||
Subject: [PATCH 22/92] FROMLIST(v6): dt-bindings: power: Add G12A NNA power
|
||||
Subject: [PATCH 019/111] FROMGIT(6.3): dt-bindings: power: Add G12A NNA power
|
||||
domain
|
||||
|
||||
Add define for the NNA power domain for the NPU in the G12A.
|
@ -1,7 +1,7 @@
|
||||
From bc98444729a3facb4c950f0eb14a5994fd1e73bf Mon Sep 17 00:00:00 2001
|
||||
From f55721060b899c1608b331ddb6f1e5b2286cdfd5 Mon Sep 17 00:00:00 2001
|
||||
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
||||
Date: Wed, 30 Nov 2022 12:04:51 +0000
|
||||
Subject: [PATCH 23/92] FROMLIST(v6): soc: amlogic: meson-pwrc: Add NNA power
|
||||
Subject: [PATCH 020/111] FROMGIT(6.3): soc: amlogic: meson-pwrc: Add NNA power
|
||||
domain for A311D
|
||||
|
||||
Based on power initialization sequence in downstream driver.
|
@ -1,7 +1,7 @@
|
||||
From 4c9cf2ba95cf5dde129212e0a4f7228cda5db8ec Mon Sep 17 00:00:00 2001
|
||||
From 1375fb3e0e176ee81b4836662851680795dbb8ce Mon Sep 17 00:00:00 2001
|
||||
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
||||
Date: Wed, 30 Nov 2022 12:05:46 +0000
|
||||
Subject: [PATCH 24/92] FROMLIST(v6): arm64: dts: Add DT node for the
|
||||
Subject: [PATCH 021/111] FROMGIT(6.3): arm64: dts: Add DT node for the
|
||||
VIPNano-QI on the A311D
|
||||
|
||||
This "NPU" is very similar to the Vivante GPUs and Etnaviv works well
|
@ -1,7 +1,7 @@
|
||||
From d10e70fc05550e96af4a5778266d9b03ec3a78a2 Mon Sep 17 00:00:00 2001
|
||||
From 040be3af745825591836564525c21c2168bf2067 Mon Sep 17 00:00:00 2001
|
||||
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
||||
Date: Sat, 3 Dec 2022 06:01:47 +0000
|
||||
Subject: [PATCH 25/92] FROMLIST(v6): drm/etnaviv: Add nn_core_count to chip
|
||||
Subject: [PATCH 022/111] FROMGIT(6.3): drm/etnaviv: Add nn_core_count to chip
|
||||
feature struct
|
||||
|
||||
We will use these for differentiating between GPUs and NPUs, as the
|
@ -1,7 +1,7 @@
|
||||
From c39b01d9b9a85ca8ec4d4b91ec2cf50b80936027 Mon Sep 17 00:00:00 2001
|
||||
From 23de0a186d883057b2d9d1baaab20dd0799c66bf Mon Sep 17 00:00:00 2001
|
||||
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
||||
Date: Sat, 3 Dec 2022 06:02:31 +0000
|
||||
Subject: [PATCH 26/92] FROMLIST(v6): drm/etnaviv: Warn when probing on NPUs
|
||||
Subject: [PATCH 023/111] FROMGIT(6.3): drm/etnaviv: Warn when probing on NPUs
|
||||
|
||||
Userspace is still not making full use of the hardware, so we don't know
|
||||
yet if changes to the UAPI won't be needed. Warn about it.
|
@ -1,7 +1,7 @@
|
||||
From 856f72c12e899110274043d1d1032987fb06ba5d Mon Sep 17 00:00:00 2001
|
||||
From de2f35d7917a0c3a1ab70105ca19a37cd5e7f6e9 Mon Sep 17 00:00:00 2001
|
||||
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
||||
Date: Sat, 3 Dec 2022 06:03:16 +0000
|
||||
Subject: [PATCH 27/92] FROMLIST(v6): drm/etnaviv: add HWDB entry for
|
||||
Subject: [PATCH 024/111] FROMGIT(6.3): drm/etnaviv: add HWDB entry for
|
||||
VIPNano-QI.7120.0055
|
||||
|
||||
This is a compute-only module marketed towards AI and vision
|
@ -1,7 +1,7 @@
|
||||
From 66cbc9c2806ca408c3795c70a252e9802c365538 Mon Sep 17 00:00:00 2001
|
||||
From fbdbc0b5333c5a16a96e84c3f7b5af251adec4a5 Mon Sep 17 00:00:00 2001
|
||||
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
||||
Date: Sat, 3 Dec 2022 06:04:00 +0000
|
||||
Subject: [PATCH 28/92] FROMLIST(v6): arm64: dts: Fix NPU power domain
|
||||
Subject: [PATCH 025/111] FROMGIT(6.3): arm64: dts: Fix NPU power domain
|
||||
references in Amlogic G12-based SoCs
|
||||
|
||||
The power sequence is different between SoCs in that family, so get the
|
@ -1,8 +1,8 @@
|
||||
From e27dcbffd0a5e9fe9a0a5ce4b2f0351a24812ea5 Mon Sep 17 00:00:00 2001
|
||||
From 8278874258d78e4457481affb7ffd826e2408db2 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Date: Mon, 26 Dec 2022 04:41:46 +0000
|
||||
Subject: [PATCH 29/92] FROMLIST(v1): clk: meson: mpll: Switch from .round_rate
|
||||
to .determine_rate
|
||||
Subject: [PATCH 026/111] FROMGIT(6.3): clk: meson: mpll: Switch from
|
||||
.round_rate to .determine_rate
|
||||
|
||||
clk_ops.round_rate will be removed at some point. It's replacement is
|
||||
.determine_rate. Switch clk-mpll over to use .determine_rate.
|
@ -1,7 +1,7 @@
|
||||
From 618d9912efd9ad02acad0ba978ae52144c931af7 Mon Sep 17 00:00:00 2001
|
||||
From ceecaec793943916fdb1cfe79eafb3cf52dde66a Mon Sep 17 00:00:00 2001
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Date: Mon, 26 Dec 2022 04:42:41 +0000
|
||||
Subject: [PATCH 30/92] FROMLIST(v1): clk: meson: dualdiv: switch from
|
||||
Subject: [PATCH 027/111] FROMGIT(6.3): clk: meson: dualdiv: switch from
|
||||
.round_rate to .determine_rate
|
||||
|
||||
clk_ops.round_rate will be removed at some point. It's replacement is
|
@ -1,7 +1,7 @@
|
||||
From 5dfb053aef5c9f6d7a0ffd17004d9c7d18f6f9bb Mon Sep 17 00:00:00 2001
|
||||
From 8bb0710558620503e3ec7cafc38738f5a9b93d3c Mon Sep 17 00:00:00 2001
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Date: Mon, 26 Dec 2022 04:43:33 +0000
|
||||
Subject: [PATCH 31/92] FROMLIST(v1): clk: meson: sclk-div: switch from
|
||||
Subject: [PATCH 028/111] FROMGIT(6.3): clk: meson: sclk-div: switch from
|
||||
.round_rate to .determine_rate
|
||||
|
||||
clk_ops.round_rate will be removed at some point. It's replacement is
|
@ -1,7 +1,7 @@
|
||||
From 0f23ef2ab5c65e129ba40ddd15d601e1f3c59776 Mon Sep 17 00:00:00 2001
|
||||
From 0c09663824b014b6c804bb8add4ab9cec14d800f Mon Sep 17 00:00:00 2001
|
||||
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Date: Mon, 26 Dec 2022 04:44:26 +0000
|
||||
Subject: [PATCH 32/92] FROMLIST(v1): clk: meson: clk-cpu-dyndiv: switch from
|
||||
Subject: [PATCH 029/111] FROMGIT(6.3): clk: meson: clk-cpu-dyndiv: switch from
|
||||
.round_rate to .determine_rate
|
||||
|
||||
clk_ops.round_rate will be removed at some point. It's replacement is
|
42
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMGIT-6.3-arm64-dts-amlogic-meson-sm1-odroid-hc4-f.patch
Normal file
42
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0030-FROMGIT-6.3-arm64-dts-amlogic-meson-sm1-odroid-hc4-f.patch
Normal file
@ -0,0 +1,42 @@
|
||||
From b7216d87cf7ac3a8245e60686d6c366cf08ad0a4 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <neil.armstrong@linaro.org>
|
||||
Date: Tue, 24 Jan 2023 12:39:08 +0100
|
||||
Subject: [PATCH 030/111] FROMGIT(6.3): arm64: dts: amlogic:
|
||||
meson-sm1-odroid-hc4: fix active fan thermal trip
|
||||
|
||||
Add an active trip tied to the on-board fan cooling device, which is better
|
||||
than describing it along the passive cooling maps.
|
||||
|
||||
Fixes: 33b14f663df8 ("arm64: dts: meson: add initial device-tree for ODROID-HC4")
|
||||
Reported-by: Ricardo Pardini <ricardo@pardini.net>
|
||||
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
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 a1f0c38ccadd..74088e7280fe 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts
|
||||
@@ -76,9 +76,17 @@ sound {
|
||||
};
|
||||
|
||||
&cpu_thermal {
|
||||
+ trips {
|
||||
+ cpu_active: cpu-active {
|
||||
+ temperature = <60000>; /* millicelsius */
|
||||
+ hysteresis = <2000>; /* millicelsius */
|
||||
+ type = "active";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
cooling-maps {
|
||||
map {
|
||||
- trip = <&cpu_passive>;
|
||||
+ trip = <&cpu_active>;
|
||||
cooling-device = <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 9faf586f51d20766a18a6b17bd0ce263c2880ed2 Mon Sep 17 00:00:00 2001
|
||||
From 1319a6e3efd4430c98a8f140a88369575d9314c4 Mon Sep 17 00:00:00 2001
|
||||
From: David Heidelberg <david@ixit.cz>
|
||||
Date: Sat, 27 Nov 2021 07:23:35 +0000
|
||||
Subject: [PATCH 13/92] FROMLIST(v2): arm64: dts: meson: make dts use gpio-fan
|
||||
matrix instead of array
|
||||
Subject: [PATCH 031/111] FROMGIT(6.3): arm64: dts: meson: make dts use
|
||||
gpio-fan matrix instead of array
|
||||
|
||||
No functional changes.
|
||||
|
27
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMGIT-6.3-arm64-dts-meson-radxa-zero-allow-usb-otg.patch
Normal file
27
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0032-FROMGIT-6.3-arm64-dts-meson-radxa-zero-allow-usb-otg.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From 90c3434be68f83289b15699de1ce6b7860992f4f Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Thu, 26 Jan 2023 12:20:19 +0000
|
||||
Subject: [PATCH 032/111] FROMGIT(6.3): arm64: dts: meson: radxa-zero: allow
|
||||
usb otg mode
|
||||
|
||||
Setting dr_mode to "host" prevents otg which can be useful on a board
|
||||
with limited connectivity options. So don't force host mode.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
|
||||
index e3bb6df42ff3..cf0a9be83fc4 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
|
||||
@@ -401,5 +401,4 @@ &uart_AO {
|
||||
|
||||
&usb {
|
||||
status = "okay";
|
||||
- dr_mode = "host";
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
38
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMGIT-6.3-arm64-dts-meson-bananapi-m5-switch-VDDIO.patch
Normal file
38
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0033-FROMGIT-6.3-arm64-dts-meson-bananapi-m5-switch-VDDIO.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From e2ea4a7a55108c60d9e90f3fdcb1adb3158a8bb3 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Thu, 26 Jan 2023 16:15:59 +0000
|
||||
Subject: [PATCH 033/111] FROMGIT(6.3): arm64: dts: meson: bananapi-m5: switch
|
||||
VDDIO_C pin to OPEN_DRAIN
|
||||
|
||||
For proper warm (re)boot from SD card the BPI-M5 board requires TFLASH_VDD_EN
|
||||
and VDDIO_C pins to be switched to high impedance mode. This can be achieved
|
||||
using OPEN_DRAIN instead of ACTIVE_HIGH to leave the GPIO pins in input mode
|
||||
and retain high state (pin has the pull-up).
|
||||
|
||||
This change is inspired by meson-sm1-odroid.dtsi where OPEN_DRAIN has been
|
||||
used to resolve similar problems with the Odroid C4 board (TF_IO in the C4
|
||||
dts is the equivalent regulator).
|
||||
|
||||
Fixes 976e920183e4 ("arm64: dts: meson-sm1: add Banana PI BPI-M5 board dts")
|
||||
Suggested-by: Neil Armstrong <neil.armstrong@linaro.org>
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
|
||||
index cadba194b149..e8a23861013f 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
|
||||
@@ -123,7 +123,7 @@ vddio_c: regulator-vddio_c {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
|
||||
- enable-gpio = <&gpio_ao GPIOE_2 GPIO_ACTIVE_HIGH>;
|
||||
+ enable-gpio = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>;
|
||||
enable-active-high;
|
||||
regulator-always-on;
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
941
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMGIT-6.3-arm64-dts-meson-meson-sm1-bananapi-m5-co.patch
Normal file
941
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0034-FROMGIT-6.3-arm64-dts-meson-meson-sm1-bananapi-m5-co.patch
Normal file
@ -0,0 +1,941 @@
|
||||
From 52c42f7f202692c55c448955875b326f9e885e49 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 25 Jan 2023 08:10:48 +0000
|
||||
Subject: [PATCH 034/111] FROMGIT(6.3): arm64: dts: meson:
|
||||
meson-sm1-bananapi-m5: convert to dtsi
|
||||
|
||||
Convert the BPI-M5 dts into meson-sm1-bananapi.dtsi to support the
|
||||
addition of new boards based on the same design.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
.../dts/amlogic/meson-sm1-bananapi-m5.dts | 427 +----------------
|
||||
.../boot/dts/amlogic/meson-sm1-bananapi.dtsi | 435 ++++++++++++++++++
|
||||
2 files changed, 436 insertions(+), 426 deletions(-)
|
||||
create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-bananapi.dtsi
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
|
||||
index e8a23861013f..34b3238ee0a0 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
|
||||
@@ -6,10 +6,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
-#include "meson-sm1.dtsi"
|
||||
-#include <dt-bindings/leds/common.h>
|
||||
-#include <dt-bindings/input/linux-event-codes.h>
|
||||
-#include <dt-bindings/gpio/meson-g12a-gpio.h>
|
||||
+#include "meson-sm1-bananapi.dtsi"
|
||||
#include <dt-bindings/sound/meson-g12a-toacodec.h>
|
||||
#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
|
||||
|
||||
@@ -17,28 +14,6 @@ / {
|
||||
compatible = "bananapi,bpi-m5", "amlogic,sm1";
|
||||
model = "Banana Pi BPI-M5";
|
||||
|
||||
- adc_keys {
|
||||
- compatible = "adc-keys";
|
||||
- io-channels = <&saradc 2>;
|
||||
- io-channel-names = "buttons";
|
||||
- keyup-threshold-microvolt = <1800000>;
|
||||
-
|
||||
- key {
|
||||
- label = "SW3";
|
||||
- linux,code = <BTN_3>;
|
||||
- press-threshold-microvolt = <1700000>;
|
||||
- };
|
||||
- };
|
||||
-
|
||||
- aliases {
|
||||
- serial0 = &uart_AO;
|
||||
- ethernet0 = ðmac;
|
||||
- };
|
||||
-
|
||||
- chosen {
|
||||
- stdout-path = "serial0:115200n8";
|
||||
- };
|
||||
-
|
||||
/* TOFIX: handle CVBS_DET on SARADC channel 0 */
|
||||
cvbs-connector {
|
||||
compatible = "composite-video-connector";
|
||||
@@ -50,150 +25,6 @@ cvbs_connector_in: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
- emmc_pwrseq: emmc-pwrseq {
|
||||
- compatible = "mmc-pwrseq-emmc";
|
||||
- reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
|
||||
- };
|
||||
-
|
||||
- gpio-keys {
|
||||
- compatible = "gpio-keys";
|
||||
-
|
||||
- key {
|
||||
- label = "SW1";
|
||||
- linux,code = <BTN_1>;
|
||||
- gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;
|
||||
- interrupt-parent = <&gpio_intc>;
|
||||
- interrupts = <3 IRQ_TYPE_EDGE_BOTH>;
|
||||
- };
|
||||
- };
|
||||
-
|
||||
- hdmi-connector {
|
||||
- compatible = "hdmi-connector";
|
||||
- type = "a";
|
||||
-
|
||||
- port {
|
||||
- hdmi_connector_in: endpoint {
|
||||
- remote-endpoint = <&hdmi_tx_tmds_out>;
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
-
|
||||
- leds {
|
||||
- compatible = "gpio-leds";
|
||||
-
|
||||
- green {
|
||||
- color = <LED_COLOR_ID_GREEN>;
|
||||
- function = LED_FUNCTION_STATUS;
|
||||
- gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
|
||||
- };
|
||||
-
|
||||
- blue {
|
||||
- color = <LED_COLOR_ID_BLUE>;
|
||||
- function = LED_FUNCTION_STATUS;
|
||||
- gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_LOW>;
|
||||
- linux,default-trigger = "heartbeat";
|
||||
- };
|
||||
- };
|
||||
-
|
||||
- memory@0 {
|
||||
- device_type = "memory";
|
||||
- reg = <0x0 0x0 0x0 0x40000000>;
|
||||
- };
|
||||
-
|
||||
- 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;
|
||||
- };
|
||||
-
|
||||
- dc_in: regulator-dc_in {
|
||||
- compatible = "regulator-fixed";
|
||||
- regulator-name = "DC_IN";
|
||||
- regulator-min-microvolt = <5000000>;
|
||||
- regulator-max-microvolt = <5000000>;
|
||||
- regulator-always-on;
|
||||
- };
|
||||
-
|
||||
- vddio_c: regulator-vddio_c {
|
||||
- compatible = "regulator-gpio";
|
||||
- regulator-name = "VDDIO_C";
|
||||
- regulator-min-microvolt = <1800000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
-
|
||||
- enable-gpio = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>;
|
||||
- enable-active-high;
|
||||
- regulator-always-on;
|
||||
-
|
||||
- gpios = <&gpio_ao GPIOAO_6 GPIO_OPEN_DRAIN>;
|
||||
- gpios-states = <1>;
|
||||
-
|
||||
- states = <1800000 0>,
|
||||
- <3300000 1>;
|
||||
- };
|
||||
-
|
||||
- tflash_vdd: regulator-tflash_vdd {
|
||||
- compatible = "regulator-fixed";
|
||||
- regulator-name = "TFLASH_VDD";
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
- vin-supply = <&dc_in>;
|
||||
- gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
|
||||
- enable-active-high;
|
||||
- regulator-always-on;
|
||||
- };
|
||||
-
|
||||
- vddao_1v8: regulator-vddao_1v8 {
|
||||
- compatible = "regulator-fixed";
|
||||
- regulator-name = "VDDAO_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 {
|
||||
- /*
|
||||
- * SY8120B1ABC DC/DC Regulator.
|
||||
- */
|
||||
- compatible = "pwm-regulator";
|
||||
-
|
||||
- regulator-name = "VDDCPU";
|
||||
- regulator-min-microvolt = <690000>;
|
||||
- regulator-max-microvolt = <1050000>;
|
||||
-
|
||||
- pwm-supply = <&dc_in>;
|
||||
-
|
||||
- pwms = <&pwm_AO_cd 1 1250 0>;
|
||||
- pwm-dutycycle-range = <100 0>;
|
||||
-
|
||||
- regulator-boot-on;
|
||||
- regulator-always-on;
|
||||
- };
|
||||
-
|
||||
- /* USB Hub Power Enable */
|
||||
- vl_pwr_en: regulator-vl_pwr_en {
|
||||
- compatible = "regulator-fixed";
|
||||
- regulator-name = "VL_PWR_EN";
|
||||
- regulator-min-microvolt = <5000000>;
|
||||
- regulator-max-microvolt = <5000000>;
|
||||
- vin-supply = <&dc_in>;
|
||||
-
|
||||
- gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>;
|
||||
- enable-active-high;
|
||||
- };
|
||||
-
|
||||
sound {
|
||||
compatible = "amlogic,axg-sound-card";
|
||||
model = "BPI-M5";
|
||||
@@ -319,68 +150,17 @@ &acodec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&arb {
|
||||
- status = "okay";
|
||||
-};
|
||||
|
||||
&clkc_audio {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&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>;
|
||||
};
|
||||
};
|
||||
|
||||
-&ext_mdio {
|
||||
- external_phy: ethernet-phy@0 {
|
||||
- /* Realtek RTL8211F (0x001cc916) */
|
||||
- reg = <0>;
|
||||
- max-speed = <1000>;
|
||||
-
|
||||
- interrupt-parent = <&gpio_intc>;
|
||||
- /* MAC_INTR on GPIOZ_14 */
|
||||
- interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
|
||||
- };
|
||||
-};
|
||||
-
|
||||
-ðmac {
|
||||
- pinctrl-0 = <ð_pins>, <ð_rgmii_pins>;
|
||||
- pinctrl-names = "default";
|
||||
- status = "okay";
|
||||
- phy-mode = "rgmii-txid";
|
||||
- phy-handle = <&external_phy>;
|
||||
-};
|
||||
-
|
||||
&frddr_a {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -393,192 +173,6 @@ &frddr_c {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&gpio {
|
||||
- gpio-line-names =
|
||||
- /* GPIOZ */
|
||||
- "ETH_MDIO", /* GPIOZ_0 */
|
||||
- "ETH_MDC", /* GPIOZ_1 */
|
||||
- "ETH_RXCLK", /* GPIOZ_2 */
|
||||
- "ETH_RX_DV", /* GPIOZ_3 */
|
||||
- "ETH_RXD0", /* GPIOZ_4 */
|
||||
- "ETH_RXD1", /* GPIOZ_5 */
|
||||
- "ETH_RXD2", /* GPIOZ_6 */
|
||||
- "ETH_RXD3", /* GPIOZ_7 */
|
||||
- "ETH_TXCLK", /* GPIOZ_8 */
|
||||
- "ETH_TXEN", /* GPIOZ_9 */
|
||||
- "ETH_TXD0", /* GPIOZ_10 */
|
||||
- "ETH_TXD1", /* GPIOZ_11 */
|
||||
- "ETH_TXD2", /* GPIOZ_12 */
|
||||
- "ETH_TXD3", /* GPIOZ_13 */
|
||||
- "ETH_INTR", /* GPIOZ_14 */
|
||||
- "ETH_NRST", /* GPIOZ_15 */
|
||||
- /* GPIOH */
|
||||
- "HDMI_SDA", /* GPIOH_0 */
|
||||
- "HDMI_SCL", /* GPIOH_1 */
|
||||
- "HDMI_HPD", /* GPIOH_2 */
|
||||
- "HDMI_CEC", /* GPIOH_3 */
|
||||
- "VL-RST_N", /* GPIOH_4 */
|
||||
- "CON1-P36", /* GPIOH_5 */
|
||||
- "VL-PWREN", /* GPIOH_6 */
|
||||
- "WiFi_3V3_1V8", /* GPIOH_7 */
|
||||
- "TFLASH_VDD_EN", /* GPIOH_8 */
|
||||
- /* BOOT */
|
||||
- "eMMC_D0", /* BOOT_0 */
|
||||
- "eMMC_D1", /* BOOT_1 */
|
||||
- "eMMC_D2", /* BOOT_2 */
|
||||
- "eMMC_D3", /* BOOT_3 */
|
||||
- "eMMC_D4", /* BOOT_4 */
|
||||
- "eMMC_D5", /* BOOT_5 */
|
||||
- "eMMC_D6", /* BOOT_6 */
|
||||
- "eMMC_D7", /* BOOT_7 */
|
||||
- "eMMC_CLK", /* BOOT_8 */
|
||||
- "",
|
||||
- "eMMC_CMD", /* BOOT_10 */
|
||||
- "",
|
||||
- "eMMC_RST#", /* BOOT_12 */
|
||||
- "eMMC_DS", /* BOOT_13 */
|
||||
- "", "",
|
||||
- /* GPIOC */
|
||||
- "SD_D0_B", /* GPIOC_0 */
|
||||
- "SD_D1_B", /* GPIOC_1 */
|
||||
- "SD_D2_B", /* GPIOC_2 */
|
||||
- "SD_D3_B", /* GPIOC_3 */
|
||||
- "SD_CLK_B", /* GPIOC_4 */
|
||||
- "SD_CMD_B", /* GPIOC_5 */
|
||||
- "CARD_EN_DET", /* GPIOC_6 */
|
||||
- "",
|
||||
- /* GPIOA */
|
||||
- "", "", "", "", "", "", "", "",
|
||||
- "", "", "", "", "", "",
|
||||
- "CON1-P27", /* GPIOA_14 */
|
||||
- "CON1-P28", /* GPIOA_15 */
|
||||
- /* GPIOX */
|
||||
- "CON1-P16", /* GPIOX_0 */
|
||||
- "CON1-P18", /* GPIOX_1 */
|
||||
- "CON1-P22", /* GPIOX_2 */
|
||||
- "CON1-P11", /* GPIOX_3 */
|
||||
- "CON1-P13", /* GPIOX_4 */
|
||||
- "CON1-P07", /* GPIOX_5 */
|
||||
- "CON1-P33", /* GPIOX_6 */
|
||||
- "CON1-P15", /* GPIOX_7 */
|
||||
- "CON1-P19", /* GPIOX_8 */
|
||||
- "CON1-P21", /* GPIOX_9 */
|
||||
- "CON1-P24", /* GPIOX_10 */
|
||||
- "CON1-P23", /* GPIOX_11 */
|
||||
- "CON1-P08", /* GPIOX_12 */
|
||||
- "CON1-P10", /* GPIOX_13 */
|
||||
- "CON1-P29", /* GPIOX_14 */
|
||||
- "CON1-P31", /* GPIOX_15 */
|
||||
- "CON1-P26", /* GPIOX_16 */
|
||||
- "CON1-P03", /* GPIOX_17 */
|
||||
- "CON1-P05", /* GPIOX_18 */
|
||||
- "CON1-P32"; /* GPIOX_19 */
|
||||
-
|
||||
- /*
|
||||
- * WARNING: The USB Hub on the BPI-M5 needs a reset signal
|
||||
- * to be turned high in order to be detected by the USB Controller
|
||||
- * This signal should be handled by a USB specific power sequence
|
||||
- * in order to reset the Hub when USB bus is powered down.
|
||||
- */
|
||||
- usb-hub {
|
||||
- gpio-hog;
|
||||
- gpios = <GPIOH_4 GPIO_ACTIVE_HIGH>;
|
||||
- output-high;
|
||||
- line-name = "usb-hub-reset";
|
||||
- };
|
||||
-};
|
||||
-
|
||||
-&gpio_ao {
|
||||
- gpio-line-names =
|
||||
- /* GPIOAO */
|
||||
- "DEBUG TX", /* GPIOAO_0 */
|
||||
- "DEBUG RX", /* GPIOAO_1 */
|
||||
- "SYS_LED2", /* GPIOAO_2 */
|
||||
- "UPDATE_KEY", /* GPIOAO_3 */
|
||||
- "CON1-P40", /* GPIOAO_4 */
|
||||
- "IR_IN", /* GPIOAO_5 */
|
||||
- "TF_3V3N_1V8_EN", /* GPIOAO_6 */
|
||||
- "CON1-P35", /* GPIOAO_7 */
|
||||
- "CON1-P12", /* GPIOAO_8 */
|
||||
- "CON1-P37", /* GPIOAO_9 */
|
||||
- "CON1-P38", /* GPIOAO_10 */
|
||||
- "SYS_LED", /* GPIOAO_11 */
|
||||
- /* GPIOE */
|
||||
- "VDDEE_PWM", /* GPIOE_0 */
|
||||
- "VDDCPU_PWM", /* GPIOE_1 */
|
||||
- "TF_PWR_EN"; /* GPIOE_2 */
|
||||
-};
|
||||
-
|
||||
-&hdmi_tx {
|
||||
- status = "okay";
|
||||
- pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
|
||||
- pinctrl-names = "default";
|
||||
- hdmi-supply = <&dc_in>;
|
||||
-};
|
||||
-
|
||||
-&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_cd {
|
||||
- pinctrl-0 = <&pwm_ao_d_e_pins>;
|
||||
- pinctrl-names = "default";
|
||||
- clocks = <&xtal>;
|
||||
- clock-names = "clkin1";
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
-&saradc {
|
||||
- status = "okay";
|
||||
- vref-supply = <&vddao_1v8>;
|
||||
-};
|
||||
-
|
||||
-/* 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;
|
||||
- max-frequency = <50000000>;
|
||||
- disable-wp;
|
||||
-
|
||||
- /* TOFIX: SD card is barely usable in SDR modes */
|
||||
-
|
||||
- cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
|
||||
- vmmc-supply = <&tflash_vdd>;
|
||||
- vqmmc-supply = <&vddio_c>;
|
||||
-};
|
||||
-
|
||||
-/* 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>;
|
||||
- disable-wp;
|
||||
-
|
||||
- mmc-pwrseq = <&emmc_pwrseq>;
|
||||
- vmmc-supply = <&vddao_3v3>;
|
||||
- vqmmc-supply = <&emmc_1v8>;
|
||||
-};
|
||||
-
|
||||
&tdmif_b {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -626,22 +220,3 @@ &toddr_b {
|
||||
&toddr_c {
|
||||
status = "okay";
|
||||
};
|
||||
-
|
||||
-&uart_AO {
|
||||
- status = "okay";
|
||||
- pinctrl-0 = <&uart_ao_a_pins>;
|
||||
- pinctrl-names = "default";
|
||||
-};
|
||||
-
|
||||
-&usb {
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
-&usb2_phy0 {
|
||||
- phy-supply = <&dc_in>;
|
||||
-};
|
||||
-
|
||||
-&usb2_phy1 {
|
||||
- /* Enable the hub which is connected to this port */
|
||||
- phy-supply = <&vl_pwr_en>;
|
||||
-};
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..c914f1148185
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi.dtsi
|
||||
@@ -0,0 +1,435 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2021 BayLibre SAS
|
||||
+ * Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||
+ */
|
||||
+
|
||||
+#include "meson-sm1.dtsi"
|
||||
+#include <dt-bindings/leds/common.h>
|
||||
+#include <dt-bindings/input/linux-event-codes.h>
|
||||
+#include <dt-bindings/gpio/meson-g12a-gpio.h>
|
||||
+
|
||||
+/ {
|
||||
+ adc_keys {
|
||||
+ compatible = "adc-keys";
|
||||
+ io-channels = <&saradc 2>;
|
||||
+ io-channel-names = "buttons";
|
||||
+ keyup-threshold-microvolt = <1800000>;
|
||||
+
|
||||
+ key {
|
||||
+ label = "SW3";
|
||||
+ linux,code = <BTN_3>;
|
||||
+ press-threshold-microvolt = <1700000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ 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>;
|
||||
+ };
|
||||
+
|
||||
+ gpio-keys {
|
||||
+ compatible = "gpio-keys";
|
||||
+
|
||||
+ key {
|
||||
+ label = "SW1";
|
||||
+ linux,code = <BTN_1>;
|
||||
+ gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;
|
||||
+ interrupt-parent = <&gpio_intc>;
|
||||
+ interrupts = <3 IRQ_TYPE_EDGE_BOTH>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ hdmi-connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_connector_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_tx_tmds_out>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ led-green {
|
||||
+ color = <LED_COLOR_ID_GREEN>;
|
||||
+ function = LED_FUNCTION_STATUS;
|
||||
+ gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ led-blue {
|
||||
+ color = <LED_COLOR_ID_BLUE>;
|
||||
+ function = LED_FUNCTION_STATUS;
|
||||
+ gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_LOW>;
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ memory@0 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x0 0x0 0x0 0x40000000>;
|
||||
+ };
|
||||
+
|
||||
+ 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;
|
||||
+ };
|
||||
+
|
||||
+ dc_in: regulator-dc_in {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "DC_IN";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vddio_c: regulator-vddio_c {
|
||||
+ compatible = "regulator-gpio";
|
||||
+ regulator-name = "VDDIO_C";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+
|
||||
+ enable-gpio = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>;
|
||||
+ enable-active-high;
|
||||
+ regulator-always-on;
|
||||
+
|
||||
+ gpios = <&gpio_ao GPIOAO_6 GPIO_OPEN_DRAIN>;
|
||||
+ gpios-states = <1>;
|
||||
+
|
||||
+ states = <1800000 0>,
|
||||
+ <3300000 1>;
|
||||
+ };
|
||||
+
|
||||
+ tflash_vdd: regulator-tflash_vdd {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "TFLASH_VDD";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&dc_in>;
|
||||
+ gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
|
||||
+ enable-active-high;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vddao_1v8: regulator-vddao_1v8 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VDDAO_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 {
|
||||
+ /*
|
||||
+ * SY8120B1ABC DC/DC Regulator.
|
||||
+ */
|
||||
+ compatible = "pwm-regulator";
|
||||
+
|
||||
+ regulator-name = "VDDCPU";
|
||||
+ regulator-min-microvolt = <690000>;
|
||||
+ regulator-max-microvolt = <1050000>;
|
||||
+
|
||||
+ pwm-supply = <&dc_in>;
|
||||
+
|
||||
+ pwms = <&pwm_AO_cd 1 1250 0>;
|
||||
+ pwm-dutycycle-range = <100 0>;
|
||||
+
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ /* USB Hub Power Enable */
|
||||
+ vl_pwr_en: regulator-vl_pwr_en {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VL_PWR_EN";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&dc_in>;
|
||||
+
|
||||
+ gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&arb {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&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>;
|
||||
+};
|
||||
+
|
||||
+&ext_mdio {
|
||||
+ external_phy: ethernet-phy@0 {
|
||||
+ /* Realtek RTL8211F (0x001cc916) */
|
||||
+ reg = <0>;
|
||||
+ max-speed = <1000>;
|
||||
+
|
||||
+ interrupt-parent = <&gpio_intc>;
|
||||
+ /* MAC_INTR on GPIOZ_14 */
|
||||
+ interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+ðmac {
|
||||
+ pinctrl-0 = <ð_pins>, <ð_rgmii_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ status = "okay";
|
||||
+ phy-mode = "rgmii-txid";
|
||||
+ phy-handle = <&external_phy>;
|
||||
+};
|
||||
+
|
||||
+&gpio {
|
||||
+ gpio-line-names =
|
||||
+ /* GPIOZ */
|
||||
+ "ETH_MDIO", /* GPIOZ_0 */
|
||||
+ "ETH_MDC", /* GPIOZ_1 */
|
||||
+ "ETH_RXCLK", /* GPIOZ_2 */
|
||||
+ "ETH_RX_DV", /* GPIOZ_3 */
|
||||
+ "ETH_RXD0", /* GPIOZ_4 */
|
||||
+ "ETH_RXD1", /* GPIOZ_5 */
|
||||
+ "ETH_RXD2", /* GPIOZ_6 */
|
||||
+ "ETH_RXD3", /* GPIOZ_7 */
|
||||
+ "ETH_TXCLK", /* GPIOZ_8 */
|
||||
+ "ETH_TXEN", /* GPIOZ_9 */
|
||||
+ "ETH_TXD0", /* GPIOZ_10 */
|
||||
+ "ETH_TXD1", /* GPIOZ_11 */
|
||||
+ "ETH_TXD2", /* GPIOZ_12 */
|
||||
+ "ETH_TXD3", /* GPIOZ_13 */
|
||||
+ "ETH_INTR", /* GPIOZ_14 */
|
||||
+ "ETH_NRST", /* GPIOZ_15 */
|
||||
+ /* GPIOH */
|
||||
+ "HDMI_SDA", /* GPIOH_0 */
|
||||
+ "HDMI_SCL", /* GPIOH_1 */
|
||||
+ "HDMI_HPD", /* GPIOH_2 */
|
||||
+ "HDMI_CEC", /* GPIOH_3 */
|
||||
+ "VL-RST_N", /* GPIOH_4 */
|
||||
+ "CON1-P36", /* GPIOH_5 */
|
||||
+ "VL-PWREN", /* GPIOH_6 */
|
||||
+ "WiFi_3V3_1V8", /* GPIOH_7 */
|
||||
+ "TFLASH_VDD_EN", /* GPIOH_8 */
|
||||
+ /* BOOT */
|
||||
+ "eMMC_D0", /* BOOT_0 */
|
||||
+ "eMMC_D1", /* BOOT_1 */
|
||||
+ "eMMC_D2", /* BOOT_2 */
|
||||
+ "eMMC_D3", /* BOOT_3 */
|
||||
+ "eMMC_D4", /* BOOT_4 */
|
||||
+ "eMMC_D5", /* BOOT_5 */
|
||||
+ "eMMC_D6", /* BOOT_6 */
|
||||
+ "eMMC_D7", /* BOOT_7 */
|
||||
+ "eMMC_CLK", /* BOOT_8 */
|
||||
+ "",
|
||||
+ "eMMC_CMD", /* BOOT_10 */
|
||||
+ "",
|
||||
+ "eMMC_RST#", /* BOOT_12 */
|
||||
+ "eMMC_DS", /* BOOT_13 */
|
||||
+ "", "",
|
||||
+ /* GPIOC */
|
||||
+ "SD_D0_B", /* GPIOC_0 */
|
||||
+ "SD_D1_B", /* GPIOC_1 */
|
||||
+ "SD_D2_B", /* GPIOC_2 */
|
||||
+ "SD_D3_B", /* GPIOC_3 */
|
||||
+ "SD_CLK_B", /* GPIOC_4 */
|
||||
+ "SD_CMD_B", /* GPIOC_5 */
|
||||
+ "CARD_EN_DET", /* GPIOC_6 */
|
||||
+ "",
|
||||
+ /* GPIOA */
|
||||
+ "", "", "", "", "", "", "", "",
|
||||
+ "", "", "", "", "", "",
|
||||
+ "CON1-P27", /* GPIOA_14 */
|
||||
+ "CON1-P28", /* GPIOA_15 */
|
||||
+ /* GPIOX */
|
||||
+ "CON1-P16", /* GPIOX_0 */
|
||||
+ "CON1-P18", /* GPIOX_1 */
|
||||
+ "CON1-P22", /* GPIOX_2 */
|
||||
+ "CON1-P11", /* GPIOX_3 */
|
||||
+ "CON1-P13", /* GPIOX_4 */
|
||||
+ "CON1-P07", /* GPIOX_5 */
|
||||
+ "CON1-P33", /* GPIOX_6 */
|
||||
+ "CON1-P15", /* GPIOX_7 */
|
||||
+ "CON1-P19", /* GPIOX_8 */
|
||||
+ "CON1-P21", /* GPIOX_9 */
|
||||
+ "CON1-P24", /* GPIOX_10 */
|
||||
+ "CON1-P23", /* GPIOX_11 */
|
||||
+ "CON1-P08", /* GPIOX_12 */
|
||||
+ "CON1-P10", /* GPIOX_13 */
|
||||
+ "CON1-P29", /* GPIOX_14 */
|
||||
+ "CON1-P31", /* GPIOX_15 */
|
||||
+ "CON1-P26", /* GPIOX_16 */
|
||||
+ "CON1-P03", /* GPIOX_17 */
|
||||
+ "CON1-P05", /* GPIOX_18 */
|
||||
+ "CON1-P32"; /* GPIOX_19 */
|
||||
+
|
||||
+ /*
|
||||
+ * WARNING: The USB Hub needs a reset signal to be turned high in
|
||||
+ * order to be detected by the USB Controller. This signal should
|
||||
+ * be handled by a USB specific power sequence to reset the Hub
|
||||
+ * when the USB bus is powered down.
|
||||
+ */
|
||||
+ usb-hub {
|
||||
+ gpio-hog;
|
||||
+ gpios = <GPIOH_4 GPIO_ACTIVE_HIGH>;
|
||||
+ output-high;
|
||||
+ line-name = "usb-hub-reset";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&gpio_ao {
|
||||
+ gpio-line-names =
|
||||
+ /* GPIOAO */
|
||||
+ "DEBUG TX", /* GPIOAO_0 */
|
||||
+ "DEBUG RX", /* GPIOAO_1 */
|
||||
+ "SYS_LED2", /* GPIOAO_2 */
|
||||
+ "UPDATE_KEY", /* GPIOAO_3 */
|
||||
+ "CON1-P40", /* GPIOAO_4 */
|
||||
+ "IR_IN", /* GPIOAO_5 */
|
||||
+ "TF_3V3N_1V8_EN", /* GPIOAO_6 */
|
||||
+ "CON1-P35", /* GPIOAO_7 */
|
||||
+ "CON1-P12", /* GPIOAO_8 */
|
||||
+ "CON1-P37", /* GPIOAO_9 */
|
||||
+ "CON1-P38", /* GPIOAO_10 */
|
||||
+ "SYS_LED", /* GPIOAO_11 */
|
||||
+ /* GPIOE */
|
||||
+ "VDDEE_PWM", /* GPIOE_0 */
|
||||
+ "VDDCPU_PWM", /* GPIOE_1 */
|
||||
+ "TF_PWR_EN"; /* GPIOE_2 */
|
||||
+};
|
||||
+
|
||||
+&hdmi_tx {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ hdmi-supply = <&dc_in>;
|
||||
+};
|
||||
+
|
||||
+&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_cd {
|
||||
+ pinctrl-0 = <&pwm_ao_d_e_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ clocks = <&xtal>;
|
||||
+ clock-names = "clkin1";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&saradc {
|
||||
+ status = "okay";
|
||||
+ vref-supply = <&vddao_1v8>;
|
||||
+};
|
||||
+
|
||||
+/* 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;
|
||||
+ max-frequency = <50000000>;
|
||||
+ disable-wp;
|
||||
+
|
||||
+ /* TOFIX: SD card is barely usable in SDR modes */
|
||||
+
|
||||
+ cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
|
||||
+ vmmc-supply = <&tflash_vdd>;
|
||||
+ vqmmc-supply = <&vddio_c>;
|
||||
+};
|
||||
+
|
||||
+/* 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>;
|
||||
+ 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";
|
||||
+};
|
||||
+
|
||||
+&usb2_phy0 {
|
||||
+ phy-supply = <&dc_in>;
|
||||
+};
|
||||
+
|
||||
+&usb2_phy1 {
|
||||
+ /* Enable the hub which is connected to this port */
|
||||
+ phy-supply = <&vl_pwr_en>;
|
||||
+};
|
||||
--
|
||||
2.34.1
|
||||
|
28
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMGIT-6.3-dt-bindings-arm-amlogic-add-support-for-.patch
Normal file
28
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0035-FROMGIT-6.3-dt-bindings-arm-amlogic-add-support-for-.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From 88b6e2cd10d2bcb2921f959c8d2781feae9e8e7d Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 25 Jan 2023 09:28:27 +0000
|
||||
Subject: [PATCH 035/111] FROMGIT(6.3): dt-bindings: arm: amlogic: add support
|
||||
for BananaPi M2-Pro
|
||||
|
||||
BPI-M2-PRO is based upon the BPI-M5 using the Amlogic SM1 (S905X3) chipset.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
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 9fda2436c618..d63f6b899f25 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -175,6 +175,7 @@ properties:
|
||||
- enum:
|
||||
- amediatech,x96-air
|
||||
- amediatech,x96-air-gbit
|
||||
+ - bananapi,bpi-m2-pro
|
||||
- bananapi,bpi-m5
|
||||
- cyx,a95xf3-air
|
||||
- cyx,a95xf3-air-gbit
|
||||
--
|
||||
2.34.1
|
||||
|
139
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-FROMGIT-6.3-arm64-dts-meson-add-support-for-BananaPi.patch
Normal file
139
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0036-FROMGIT-6.3-arm64-dts-meson-add-support-for-BananaPi.patch
Normal file
@ -0,0 +1,139 @@
|
||||
From 1a6ff5c5aaf0f8f1e418766d09926eaac617e07e Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 25 Jan 2023 08:13:28 +0000
|
||||
Subject: [PATCH 036/111] FROMGIT(6.3): arm64: dts: meson: add support for
|
||||
BananaPi M2-Pro
|
||||
|
||||
BPI-M2-PRO is based upon the BPI-M5 design except for a different
|
||||
physical board layout and the following changes:
|
||||
|
||||
- USB 3.0 ports reduced from 4x to 2x
|
||||
- 3.5mm Combined CVBS/Audio Jack removed
|
||||
- RTL8821BU WiFi/BT module (internal USB connected)
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/Makefile | 1 +
|
||||
.../dts/amlogic/meson-sm1-bananapi-m2-pro.dts | 98 +++++++++++++++++++
|
||||
2 files changed, 99 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m2-pro.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
index e213aeebb774..5e5433718c6e 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -59,6 +59,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-wetek-core2.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-m2-pro.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
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m2-pro.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m2-pro.dts
|
||||
new file mode 100644
|
||||
index 000000000000..4890d5d9a4f7
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m2-pro.dts
|
||||
@@ -0,0 +1,98 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2021 BayLibre SAS
|
||||
+ * Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "meson-sm1-bananapi.dtsi"
|
||||
+#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "bananapi,bpi-m2-pro", "amlogic,sm1";
|
||||
+ model = "Banana Pi BPI-M2-PRO";
|
||||
+
|
||||
+ sound {
|
||||
+ compatible = "amlogic,axg-sound-card";
|
||||
+ model = "BPI-M2-PRO";
|
||||
+ 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>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&clkc_audio {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&frddr_a {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&frddr_b {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&frddr_c {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&tdmif_b {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&tdmout_b {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&tohdmitx {
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,19 +1,20 @@
|
||||
From 18e13ed0bc6e08e4e772758fff2e8114044cdf64 Mon Sep 17 00:00:00 2001
|
||||
From 1ade064f078d44502e8f1bdfb9629364803916aa Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 16 Feb 2022 07:27:07 +0000
|
||||
Subject: [PATCH 50/92] WIP: dt-bindings: arm: amlogic: add support for Radxa
|
||||
Zero2
|
||||
Subject: [PATCH 037/111] FROMGIT(6.3): dt-bindings: arm: amlogic: add support
|
||||
for Radxa Zero2
|
||||
|
||||
The Radxa Zero2 is a small form-factor SBC using the Amlogic
|
||||
A311D chip.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
---
|
||||
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 9fda2436c618..cf81dc06df2e 100644
|
||||
index d63f6b899f25..7ded40b309a4 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -154,6 +154,7 @@ properties:
|
@ -1,7 +1,8 @@
|
||||
From 3d8adf4989896bf6166454e0e48d7ae04c4ae2ec Mon Sep 17 00:00:00 2001
|
||||
From 1b7061d7b6255b8752d04c671bda9d2a250f9637 Mon Sep 17 00:00:00 2001
|
||||
From: Yuntian Zhang <yt@radxa.com>
|
||||
Date: Fri, 14 Jan 2022 15:50:02 +0000
|
||||
Subject: [PATCH 51/92] WIP: arm64: dts: meson: add support for Radxa Zero2
|
||||
Subject: [PATCH 038/111] FROMGIT(6.3): 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:
|
||||
@ -21,12 +22,12 @@ Signed-off-by: Yuntian Zhang <yt@radxa.com>
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/Makefile | 1 +
|
||||
.../dts/amlogic/meson-g12b-radxa-zero2.dts | 499 ++++++++++++++++++
|
||||
2 files changed, 500 insertions(+)
|
||||
.../dts/amlogic/meson-g12b-radxa-zero2.dts | 489 ++++++++++++++++++
|
||||
2 files changed, 490 insertions(+)
|
||||
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 e213aeebb774..4aa1aa0e22a8 100644
|
||||
index 5e5433718c6e..5d5ec22a469e 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -14,6 +14,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb
|
||||
@ -39,10 +40,10 @@ index e213aeebb774..4aa1aa0e22a8 100644
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.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
|
||||
index 000000000000..9a60c5ec2072
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
|
||||
@@ -0,0 +1,499 @@
|
||||
@@ -0,0 +1,489 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2019 BayLibre, SAS
|
||||
@ -99,17 +100,6 @@ index 000000000000..fefa6f2b7abf
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ cvbs-connector {
|
||||
+ status = "disabled";
|
||||
+ compatible = "composite-video-connector";
|
||||
+
|
||||
+ port {
|
||||
+ cvbs_connector_in: endpoint {
|
||||
+ remote-endpoint = <&cvbs_vdac_out>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ hdmi-connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
@ -133,7 +123,7 @@ index 000000000000..fefa6f2b7abf
|
||||
+ clock-names = "ext_clock";
|
||||
+ };
|
||||
+
|
||||
+ ao_5v: regulator-ao_5v {
|
||||
+ ao_5v: regulator-ao-5v {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "AO_5V";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
@ -141,7 +131,7 @@ index 000000000000..fefa6f2b7abf
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vcc_1v8: regulator-vcc_1v8 {
|
||||
+ vcc_1v8: regulator-vcc-1v8 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VCC_1V8";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
@ -150,7 +140,7 @@ index 000000000000..fefa6f2b7abf
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vcc_3v3: regulator-vcc_3v3 {
|
||||
+ vcc_3v3: regulator-vcc-3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VCC_3V3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
@ -160,7 +150,7 @@ index 000000000000..fefa6f2b7abf
|
||||
+ /* FIXME: actually controlled by VDDCPU_B_EN */
|
||||
+ };
|
||||
+
|
||||
+ vddao_1v8: regulator-vddao_1v8 {
|
||||
+ vddao_1v8: regulator-vddao-1v8 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VDDIO_AO1V8";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
@ -169,7 +159,7 @@ index 000000000000..fefa6f2b7abf
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vddao_3v3: regulator-vddao_3v3 {
|
||||
+ vddao_3v3: regulator-vddao-3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VDDAO_3V3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
@ -232,7 +222,6 @@ index 000000000000..fefa6f2b7abf
|
||||
+ assigned-clock-rates = <294912000>,
|
||||
+ <270950400>,
|
||||
+ <393216000>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ dai-link-0 {
|
||||
+ sound-dai = <&frddr_a>;
|
||||
@ -271,7 +260,7 @@ index 000000000000..fefa6f2b7abf
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ wifi32k: wifi32k {
|
||||
+ wifi32k: clock-0 {
|
||||
+ compatible = "pwm-clock";
|
||||
+ #clock-cells = <0>;
|
||||
+ clock-frequency = <32768>;
|
||||
@ -343,12 +332,6 @@ index 000000000000..fefa6f2b7abf
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cvbs_vdac_port {
|
||||
+ cvbs_vdac_out: endpoint {
|
||||
+ remote-endpoint = <&cvbs_connector_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&frddr_a {
|
||||
+ status = "okay";
|
||||
+};
|
||||
@ -427,6 +410,14 @@ index 000000000000..fefa6f2b7abf
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pwm_AO_ab {
|
||||
+ pinctrl-0 = <&pwm_ao_a_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ clocks = <&xtal>;
|
||||
+ clock-names = "clkin3";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pwm_AO_cd {
|
||||
+ pinctrl-0 = <&pwm_ao_d_e_pins>;
|
||||
+ pinctrl-names = "default";
|
89
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-FROMGIT-6.4-dt-bindings-net-add-amlogic-gxl-mdio-mul.patch
Normal file
89
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0039-FROMGIT-6.4-dt-bindings-net-add-amlogic-gxl-mdio-mul.patch
Normal file
@ -0,0 +1,89 @@
|
||||
From 3ae86059d42184d4f7a8c73b2b8468076304230a Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Mon, 30 Jan 2023 16:16:15 +0100
|
||||
Subject: [PATCH 039/111] FROMGIT(6.4): dt-bindings: net: add amlogic gxl mdio
|
||||
multiplexer
|
||||
|
||||
Add documentation for the MDIO bus multiplexer found on the Amlogic GXL
|
||||
SoC family
|
||||
|
||||
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
---
|
||||
.../bindings/net/amlogic,gxl-mdio-mux.yaml | 64 +++++++++++++++++++
|
||||
1 file changed, 64 insertions(+)
|
||||
create mode 100644 Documentation/devicetree/bindings/net/amlogic,gxl-mdio-mux.yaml
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/net/amlogic,gxl-mdio-mux.yaml b/Documentation/devicetree/bindings/net/amlogic,gxl-mdio-mux.yaml
|
||||
new file mode 100644
|
||||
index 000000000000..27ae004dbea0
|
||||
--- /dev/null
|
||||
+++ b/Documentation/devicetree/bindings/net/amlogic,gxl-mdio-mux.yaml
|
||||
@@ -0,0 +1,64 @@
|
||||
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
+%YAML 1.2
|
||||
+---
|
||||
+$id: http://devicetree.org/schemas/net/amlogic,gxl-mdio-mux.yaml#
|
||||
+$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
+
|
||||
+title: Amlogic GXL MDIO bus multiplexer
|
||||
+
|
||||
+maintainers:
|
||||
+ - Jerome Brunet <jbrunet@baylibre.com>
|
||||
+
|
||||
+description:
|
||||
+ This is a special case of a MDIO bus multiplexer. It allows to choose between
|
||||
+ the internal mdio bus leading to the embedded 10/100 PHY or the external
|
||||
+ MDIO bus on the Amlogic GXL SoC family.
|
||||
+
|
||||
+allOf:
|
||||
+ - $ref: mdio-mux.yaml#
|
||||
+
|
||||
+properties:
|
||||
+ compatible:
|
||||
+ const: amlogic,gxl-mdio-mux
|
||||
+
|
||||
+ reg:
|
||||
+ maxItems: 1
|
||||
+
|
||||
+ clocks:
|
||||
+ maxItems: 1
|
||||
+
|
||||
+ clock-names:
|
||||
+ items:
|
||||
+ - const: ref
|
||||
+
|
||||
+required:
|
||||
+ - compatible
|
||||
+ - reg
|
||||
+ - clocks
|
||||
+ - clock-names
|
||||
+
|
||||
+unevaluatedProperties: false
|
||||
+
|
||||
+examples:
|
||||
+ - |
|
||||
+ eth_phy_mux: mdio@558 {
|
||||
+ compatible = "amlogic,gxl-mdio-mux";
|
||||
+ reg = <0x558 0xc>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ clocks = <&refclk>;
|
||||
+ clock-names = "ref";
|
||||
+ mdio-parent-bus = <&mdio0>;
|
||||
+
|
||||
+ external_mdio: mdio@0 {
|
||||
+ reg = <0x0>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ internal_mdio: mdio@1 {
|
||||
+ reg = <0x1>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+ };
|
||||
--
|
||||
2.34.1
|
||||
|
225
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-FROMGIT-6.4-net-mdio-add-amlogic-gxl-mdio-mux-suppor.patch
Normal file
225
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0040-FROMGIT-6.4-net-mdio-add-amlogic-gxl-mdio-mux-suppor.patch
Normal file
@ -0,0 +1,225 @@
|
||||
From 5fefed97cf53d24b221ba5c4dd7d9dabb5adc25c Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Mon, 30 Jan 2023 16:16:16 +0100
|
||||
Subject: [PATCH 040/111] FROMGIT(6.4): net: mdio: add amlogic gxl mdio mux
|
||||
support
|
||||
|
||||
Add support for the mdio mux and internal phy glue of the GXL SoC
|
||||
family
|
||||
|
||||
Reported-by: Da Xue <da@lessconfused.com>
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
---
|
||||
drivers/net/mdio/Kconfig | 11 ++
|
||||
drivers/net/mdio/Makefile | 1 +
|
||||
drivers/net/mdio/mdio-mux-meson-gxl.c | 164 ++++++++++++++++++++++++++
|
||||
3 files changed, 176 insertions(+)
|
||||
create mode 100644 drivers/net/mdio/mdio-mux-meson-gxl.c
|
||||
|
||||
diff --git a/drivers/net/mdio/Kconfig b/drivers/net/mdio/Kconfig
|
||||
index bfa16826a6e1..90309980686e 100644
|
||||
--- a/drivers/net/mdio/Kconfig
|
||||
+++ b/drivers/net/mdio/Kconfig
|
||||
@@ -215,6 +215,17 @@ config MDIO_BUS_MUX_MESON_G12A
|
||||
the amlogic g12a SoC. The multiplexers connects either the external
|
||||
or the internal MDIO bus to the parent bus.
|
||||
|
||||
+config MDIO_BUS_MUX_MESON_GXL
|
||||
+ tristate "Amlogic GXL based MDIO bus multiplexer"
|
||||
+ depends on ARCH_MESON || COMPILE_TEST
|
||||
+ depends on OF_MDIO && HAS_IOMEM && COMMON_CLK
|
||||
+ select MDIO_BUS_MUX
|
||||
+ default m if ARCH_MESON
|
||||
+ help
|
||||
+ This module provides a driver for the MDIO multiplexer/glue of
|
||||
+ the amlogic GXL SoC. The multiplexer connects either the external
|
||||
+ or the internal MDIO bus to the parent bus.
|
||||
+
|
||||
config MDIO_BUS_MUX_BCM6368
|
||||
tristate "Broadcom BCM6368 MDIO bus multiplexers"
|
||||
depends on OF && OF_MDIO && (BMIPS_GENERIC || COMPILE_TEST)
|
||||
diff --git a/drivers/net/mdio/Makefile b/drivers/net/mdio/Makefile
|
||||
index 15f8dc4042ce..7d4cb4c11e4e 100644
|
||||
--- a/drivers/net/mdio/Makefile
|
||||
+++ b/drivers/net/mdio/Makefile
|
||||
@@ -28,5 +28,6 @@ obj-$(CONFIG_MDIO_BUS_MUX_BCM6368) += mdio-mux-bcm6368.o
|
||||
obj-$(CONFIG_MDIO_BUS_MUX_BCM_IPROC) += mdio-mux-bcm-iproc.o
|
||||
obj-$(CONFIG_MDIO_BUS_MUX_GPIO) += mdio-mux-gpio.o
|
||||
obj-$(CONFIG_MDIO_BUS_MUX_MESON_G12A) += mdio-mux-meson-g12a.o
|
||||
+obj-$(CONFIG_MDIO_BUS_MUX_MESON_GXL) += mdio-mux-meson-gxl.o
|
||||
obj-$(CONFIG_MDIO_BUS_MUX_MMIOREG) += mdio-mux-mmioreg.o
|
||||
obj-$(CONFIG_MDIO_BUS_MUX_MULTIPLEXER) += mdio-mux-multiplexer.o
|
||||
diff --git a/drivers/net/mdio/mdio-mux-meson-gxl.c b/drivers/net/mdio/mdio-mux-meson-gxl.c
|
||||
new file mode 100644
|
||||
index 000000000000..76188575ca1f
|
||||
--- /dev/null
|
||||
+++ b/drivers/net/mdio/mdio-mux-meson-gxl.c
|
||||
@@ -0,0 +1,164 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+/* Copyright (c) 2022 Baylibre, SAS.
|
||||
+ * Author: Jerome Brunet <jbrunet@baylibre.com>
|
||||
+ */
|
||||
+
|
||||
+#include <linux/bitfield.h>
|
||||
+#include <linux/delay.h>
|
||||
+#include <linux/clk.h>
|
||||
+#include <linux/io.h>
|
||||
+#include <linux/mdio-mux.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+
|
||||
+#define ETH_REG2 0x0
|
||||
+#define REG2_PHYID GENMASK(21, 0)
|
||||
+#define EPHY_GXL_ID 0x110181
|
||||
+#define REG2_LEDACT GENMASK(23, 22)
|
||||
+#define REG2_LEDLINK GENMASK(25, 24)
|
||||
+#define REG2_DIV4SEL BIT(27)
|
||||
+#define REG2_ADCBYPASS BIT(30)
|
||||
+#define REG2_CLKINSEL BIT(31)
|
||||
+#define ETH_REG3 0x4
|
||||
+#define REG3_ENH BIT(3)
|
||||
+#define REG3_CFGMODE GENMASK(6, 4)
|
||||
+#define REG3_AUTOMDIX BIT(7)
|
||||
+#define REG3_PHYADDR GENMASK(12, 8)
|
||||
+#define REG3_PWRUPRST BIT(21)
|
||||
+#define REG3_PWRDOWN BIT(22)
|
||||
+#define REG3_LEDPOL BIT(23)
|
||||
+#define REG3_PHYMDI BIT(26)
|
||||
+#define REG3_CLKINEN BIT(29)
|
||||
+#define REG3_PHYIP BIT(30)
|
||||
+#define REG3_PHYEN BIT(31)
|
||||
+#define ETH_REG4 0x8
|
||||
+#define REG4_PWRUPRSTSIG BIT(0)
|
||||
+
|
||||
+#define MESON_GXL_MDIO_EXTERNAL_ID 0
|
||||
+#define MESON_GXL_MDIO_INTERNAL_ID 1
|
||||
+
|
||||
+struct gxl_mdio_mux {
|
||||
+ void __iomem *regs;
|
||||
+ void *mux_handle;
|
||||
+};
|
||||
+
|
||||
+static void gxl_enable_internal_mdio(struct gxl_mdio_mux *priv)
|
||||
+{
|
||||
+ u32 val;
|
||||
+
|
||||
+ /* Setup the internal phy */
|
||||
+ val = (REG3_ENH |
|
||||
+ FIELD_PREP(REG3_CFGMODE, 0x7) |
|
||||
+ REG3_AUTOMDIX |
|
||||
+ FIELD_PREP(REG3_PHYADDR, 8) |
|
||||
+ REG3_LEDPOL |
|
||||
+ REG3_PHYMDI |
|
||||
+ REG3_CLKINEN |
|
||||
+ REG3_PHYIP);
|
||||
+
|
||||
+ writel(REG4_PWRUPRSTSIG, priv->regs + ETH_REG4);
|
||||
+ writel(val, priv->regs + ETH_REG3);
|
||||
+ mdelay(10);
|
||||
+
|
||||
+ /* NOTE: The HW kept the phy id configurable at runtime.
|
||||
+ * The id below is arbitrary. It is the one used in the vendor code.
|
||||
+ * The only constraint is that it must match the one in
|
||||
+ * drivers/net/phy/meson-gxl.c to properly match the PHY.
|
||||
+ */
|
||||
+ writel(FIELD_PREP(REG2_PHYID, EPHY_GXL_ID),
|
||||
+ priv->regs + ETH_REG2);
|
||||
+
|
||||
+ /* Enable the internal phy */
|
||||
+ val |= REG3_PHYEN;
|
||||
+ writel(val, priv->regs + ETH_REG3);
|
||||
+ writel(0, priv->regs + ETH_REG4);
|
||||
+
|
||||
+ /* The phy needs a bit of time to power up */
|
||||
+ mdelay(10);
|
||||
+}
|
||||
+
|
||||
+static void gxl_enable_external_mdio(struct gxl_mdio_mux *priv)
|
||||
+{
|
||||
+ /* Reset the mdio bus mux to the external phy */
|
||||
+ writel(0, priv->regs + ETH_REG3);
|
||||
+}
|
||||
+
|
||||
+static int gxl_mdio_switch_fn(int current_child, int desired_child,
|
||||
+ void *data)
|
||||
+{
|
||||
+ struct gxl_mdio_mux *priv = dev_get_drvdata(data);
|
||||
+
|
||||
+ if (current_child == desired_child)
|
||||
+ return 0;
|
||||
+
|
||||
+ switch (desired_child) {
|
||||
+ case MESON_GXL_MDIO_EXTERNAL_ID:
|
||||
+ gxl_enable_external_mdio(priv);
|
||||
+ break;
|
||||
+ case MESON_GXL_MDIO_INTERNAL_ID:
|
||||
+ gxl_enable_internal_mdio(priv);
|
||||
+ break;
|
||||
+ default:
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static const struct of_device_id gxl_mdio_mux_match[] = {
|
||||
+ { .compatible = "amlogic,gxl-mdio-mux", },
|
||||
+ {},
|
||||
+};
|
||||
+MODULE_DEVICE_TABLE(of, gxl_mdio_mux_match);
|
||||
+
|
||||
+static int gxl_mdio_mux_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct device *dev = &pdev->dev;
|
||||
+ struct gxl_mdio_mux *priv;
|
||||
+ struct clk *rclk;
|
||||
+ int ret;
|
||||
+
|
||||
+ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
|
||||
+ if (!priv)
|
||||
+ return -ENOMEM;
|
||||
+ platform_set_drvdata(pdev, priv);
|
||||
+
|
||||
+ priv->regs = devm_platform_ioremap_resource(pdev, 0);
|
||||
+ if (IS_ERR(priv->regs))
|
||||
+ return PTR_ERR(priv->regs);
|
||||
+
|
||||
+ rclk = devm_clk_get_enabled(dev, "ref");
|
||||
+ if (IS_ERR(rclk))
|
||||
+ return dev_err_probe(dev, PTR_ERR(rclk),
|
||||
+ "failed to get reference clock\n");
|
||||
+
|
||||
+ ret = mdio_mux_init(dev, dev->of_node, gxl_mdio_switch_fn,
|
||||
+ &priv->mux_handle, dev, NULL);
|
||||
+ if (ret)
|
||||
+ dev_err_probe(dev, ret, "mdio multiplexer init failed\n");
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static int gxl_mdio_mux_remove(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct gxl_mdio_mux *priv = platform_get_drvdata(pdev);
|
||||
+
|
||||
+ mdio_mux_uninit(priv->mux_handle);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static struct platform_driver gxl_mdio_mux_driver = {
|
||||
+ .probe = gxl_mdio_mux_probe,
|
||||
+ .remove = gxl_mdio_mux_remove,
|
||||
+ .driver = {
|
||||
+ .name = "gxl-mdio-mux",
|
||||
+ .of_match_table = gxl_mdio_mux_match,
|
||||
+ },
|
||||
+};
|
||||
+module_platform_driver(gxl_mdio_mux_driver);
|
||||
+
|
||||
+MODULE_DESCRIPTION("Amlogic GXL MDIO multiplexer driver");
|
||||
+MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>");
|
||||
+MODULE_LICENSE("GPL");
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From f19c935ec550a795e05b2357b00edfef0bdfa398 Mon Sep 17 00:00:00 2001
|
||||
From 7562b64e26f1a0f87ad8540f471c09a3b89bebb0 Mon Sep 17 00:00:00 2001
|
||||
From: Sergey Shtylyov <s.shtylyov@omp.ru>
|
||||
Date: Fri, 24 Dec 2021 06:09:57 +0000
|
||||
Subject: [PATCH 14/92] FROMLIST(v1): mmc: meson-gx: fix deferred probing
|
||||
Subject: [PATCH 041/111] 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
|
||||
@ -17,10 +17,10 @@ Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
|
||||
index a8258ea5364c..2454d92c4391 100644
|
||||
index 6e5ea0213b47..03d313a27a7a 100644
|
||||
--- a/drivers/mmc/host/meson-gx-mmc.c
|
||||
+++ b/drivers/mmc/host/meson-gx-mmc.c
|
||||
@@ -1183,8 +1183,8 @@ static int meson_mmc_probe(struct platform_device *pdev)
|
||||
@@ -1225,8 +1225,8 @@ static int meson_mmc_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
host->irq = platform_get_irq(pdev, 0);
|
@ -1,7 +1,7 @@
|
||||
From f135d58914b0d5c93af9f93f9a9908a08fd87531 Mon Sep 17 00:00:00 2001
|
||||
From d1c8a0dc1f678fd6c32ef6592604f28a51b35453 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber@suse.de>
|
||||
Date: Sun, 20 Feb 2022 08:23:12 +0000
|
||||
Subject: [PATCH 15/92] FROMLIST(v5): dt-bindings: vendor-prefixes: Add Titan
|
||||
Subject: [PATCH 042/111] FROMLIST(v5): dt-bindings: vendor-prefixes: Add Titan
|
||||
Micro Electronics
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
@ -1,8 +1,8 @@
|
||||
From a2b6a10d9cedb6db79a6a5b3efc0f14fd2ac9387 Mon Sep 17 00:00:00 2001
|
||||
From 83eb54f6693f4540d2bbba0faf1573cf6ca54f62 Mon Sep 17 00:00:00 2001
|
||||
From: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Date: Sun, 20 Feb 2022 08:24:47 +0000
|
||||
Subject: [PATCH 16/92] FROMLIST(v5): dt-bindings: auxdisplay: Add Titan Micro
|
||||
Electronics TM1628
|
||||
Subject: [PATCH 043/111] FROMLIST(v5): dt-bindings: auxdisplay: Add Titan
|
||||
Micro Electronics TM1628
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
@ -1,7 +1,7 @@
|
||||
From d6dadd1402bc7e9a112ac7f6e2776083d9d26fe0 Mon Sep 17 00:00:00 2001
|
||||
From 9b4992bc421b74d3d3b2452351f95dd159baa07f Mon Sep 17 00:00:00 2001
|
||||
From: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Date: Sun, 20 Feb 2022 08:26:27 +0000
|
||||
Subject: [PATCH 17/92] FROMLIST(v5): docs: ABI: document tm1628 attribute
|
||||
Subject: [PATCH 044/111] FROMLIST(v5): docs: ABI: document tm1628 attribute
|
||||
display-text
|
||||
|
||||
Document the attribute for reading / writing the text to be displayed on
|
@ -1,7 +1,7 @@
|
||||
From 7d01e16ca5d7a49b5030fb2c30c0dab7f311eb95 Mon Sep 17 00:00:00 2001
|
||||
From 46ce3710c69cd23dad35803f9ee51f92ef33a62a Mon Sep 17 00:00:00 2001
|
||||
From: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Date: Mon, 4 Apr 2022 18:51:20 +0000
|
||||
Subject: [PATCH 18/92] FROMLIST(v5): auxdisplay: add support for Titanmec
|
||||
Subject: [PATCH 045/111] FROMLIST(v5): auxdisplay: add support for Titanmec
|
||||
TM1628 7 segment display controller
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
@ -1,157 +0,0 @@
|
||||
From f5d5669ec148d7bb2459e50d2a988ae0e1fb03c2 Mon Sep 17 00:00:00 2001
|
||||
From: benjamin545 <benjamin545@gmail.com>
|
||||
Date: Mon, 2 Aug 2021 15:18:40 -0400
|
||||
Subject: [PATCH 45/92] WIP: drivers: meson: vdec: add handling to HEVC decoder
|
||||
to show frames when ready
|
||||
|
||||
..rather than when no longer referenced
|
||||
|
||||
the HEVC decode driver would not show the next frame until it was no longer referenced,
|
||||
this would cause a backup of frames that were ready to render but held up by one or more
|
||||
frames that were still referenced. The decoded picture buffer would fill up and stall
|
||||
playback as no new frames could be placed in the decoded picture buffer.
|
||||
---
|
||||
drivers/staging/media/meson/vdec/codec_hevc.c | 52 ++++++++++++-------
|
||||
1 file changed, 34 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/media/meson/vdec/codec_hevc.c b/drivers/staging/media/meson/vdec/codec_hevc.c
|
||||
index 3a6fd04a2d33..01218efde99b 100644
|
||||
--- a/drivers/staging/media/meson/vdec/codec_hevc.c
|
||||
+++ b/drivers/staging/media/meson/vdec/codec_hevc.c
|
||||
@@ -223,6 +223,7 @@ struct hevc_frame {
|
||||
u32 poc;
|
||||
|
||||
int referenced;
|
||||
+ int show;
|
||||
u32 num_reorder_pic;
|
||||
|
||||
u32 cur_slice_idx;
|
||||
@@ -448,9 +449,11 @@ static void codec_hevc_update_referenced(struct codec_hevc *hevc)
|
||||
((1 << (RPS_USED_BIT - 1)) - 1);
|
||||
if (param->p.CUR_RPS[i] & (1 << (RPS_USED_BIT - 1))) {
|
||||
poc_tmp = curr_poc -
|
||||
- ((1 << (RPS_USED_BIT - 1)) - delt);
|
||||
- } else
|
||||
+ ((1 << (RPS_USED_BIT - 1)) - delt);
|
||||
+ } else {
|
||||
poc_tmp = curr_poc + delt;
|
||||
+ }
|
||||
+
|
||||
if (poc_tmp == frame->poc) {
|
||||
is_referenced = 1;
|
||||
break;
|
||||
@@ -462,13 +465,13 @@ static void codec_hevc_update_referenced(struct codec_hevc *hevc)
|
||||
}
|
||||
|
||||
static struct hevc_frame *
|
||||
-codec_hevc_get_lowest_poc_frame(struct codec_hevc *hevc)
|
||||
+codec_hevc_get_next_ready_frame(struct codec_hevc *hevc)
|
||||
{
|
||||
struct hevc_frame *tmp, *ret = NULL;
|
||||
u32 poc = INT_MAX;
|
||||
|
||||
list_for_each_entry(tmp, &hevc->ref_frames_list, list) {
|
||||
- if (tmp->poc < poc) {
|
||||
+ if ((tmp->poc < poc) && tmp->show) {
|
||||
ret = tmp;
|
||||
poc = tmp->poc;
|
||||
}
|
||||
@@ -478,28 +481,35 @@ codec_hevc_get_lowest_poc_frame(struct codec_hevc *hevc)
|
||||
}
|
||||
|
||||
/* Try to output as many frames as possible */
|
||||
-static void codec_hevc_output_frames(struct amvdec_session *sess)
|
||||
+static void codec_hevc_show_frames(struct amvdec_session *sess)
|
||||
{
|
||||
- struct hevc_frame *tmp;
|
||||
+ struct hevc_frame *tmp, *n;
|
||||
struct codec_hevc *hevc = sess->priv;
|
||||
|
||||
- while ((tmp = codec_hevc_get_lowest_poc_frame(hevc))) {
|
||||
+ while ((tmp = codec_hevc_get_next_ready_frame(hevc))) {
|
||||
if (hevc->curr_poc &&
|
||||
- (tmp->referenced ||
|
||||
- tmp->num_reorder_pic >= hevc->frames_num))
|
||||
+ (hevc->frames_num <= tmp->num_reorder_pic))
|
||||
break;
|
||||
|
||||
dev_dbg(sess->core->dev, "DONE frame poc %u; vbuf %u\n",
|
||||
tmp->poc, tmp->vbuf->vb2_buf.index);
|
||||
amvdec_dst_buf_done_offset(sess, tmp->vbuf, tmp->offset,
|
||||
V4L2_FIELD_NONE, false);
|
||||
+
|
||||
+ tmp->show = 0;
|
||||
+ hevc->frames_num--;
|
||||
+ }
|
||||
+
|
||||
+ /* clean output frame buffer */
|
||||
+ list_for_each_entry_safe(tmp, n, &hevc->ref_frames_list, list) {
|
||||
+ if (tmp->referenced || tmp->show)
|
||||
+ continue;
|
||||
+
|
||||
list_del(&tmp->list);
|
||||
kfree(tmp);
|
||||
- hevc->frames_num--;
|
||||
}
|
||||
}
|
||||
|
||||
-
|
||||
static int
|
||||
codec_hevc_setup_workspace(struct amvdec_session *sess,
|
||||
struct codec_hevc *hevc)
|
||||
@@ -650,14 +660,17 @@ static int codec_hevc_start(struct amvdec_session *sess)
|
||||
static void codec_hevc_flush_output(struct amvdec_session *sess)
|
||||
{
|
||||
struct codec_hevc *hevc = sess->priv;
|
||||
- struct hevc_frame *tmp;
|
||||
+ struct hevc_frame *tmp, *n;
|
||||
|
||||
- while (!list_empty(&hevc->ref_frames_list)) {
|
||||
- tmp = codec_hevc_get_lowest_poc_frame(hevc);
|
||||
+ while ((tmp = codec_hevc_get_next_ready_frame(hevc))) {
|
||||
amvdec_dst_buf_done(sess, tmp->vbuf, V4L2_FIELD_NONE);
|
||||
+ tmp->show = 0;
|
||||
+ hevc->frames_num--;
|
||||
+ }
|
||||
+
|
||||
+ list_for_each_entry_safe(tmp, n, &hevc->ref_frames_list, list) {
|
||||
list_del(&tmp->list);
|
||||
kfree(tmp);
|
||||
- hevc->frames_num--;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -719,6 +732,7 @@ codec_hevc_prepare_new_frame(struct amvdec_session *sess)
|
||||
|
||||
new_frame->vbuf = vbuf;
|
||||
new_frame->referenced = 1;
|
||||
+ new_frame->show = 1;
|
||||
new_frame->poc = hevc->curr_poc;
|
||||
new_frame->cur_slice_type = params->p.slice_type;
|
||||
new_frame->num_reorder_pic = params->p.sps_num_reorder_pics_0;
|
||||
@@ -1267,7 +1281,7 @@ static int codec_hevc_process_segment(struct amvdec_session *sess)
|
||||
/* First slice: new frame */
|
||||
if (slice_segment_address == 0) {
|
||||
codec_hevc_update_referenced(hevc);
|
||||
- codec_hevc_output_frames(sess);
|
||||
+ codec_hevc_show_frames(sess);
|
||||
|
||||
hevc->cur_frame = codec_hevc_prepare_new_frame(sess);
|
||||
if (!hevc->cur_frame)
|
||||
@@ -1370,9 +1384,11 @@ static void codec_hevc_fetch_rpm(struct amvdec_session *sess)
|
||||
u16 *rpm_vaddr = hevc->workspace_vaddr + RPM_OFFSET;
|
||||
int i, j;
|
||||
|
||||
- for (i = 0; i < RPM_SIZE; i += 4)
|
||||
+ for (i = 0; i < RPM_SIZE; i += 4) {
|
||||
for (j = 0; j < 4; j++)
|
||||
- hevc->rpm_param.l.data[i + j] = rpm_vaddr[i + 3 - j];
|
||||
+ hevc->rpm_param.l.data[i + j] =
|
||||
+ rpm_vaddr[i + 3 - j];
|
||||
+ }
|
||||
}
|
||||
|
||||
static void codec_hevc_resume(struct amvdec_session *sess)
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 4c521341fbecf30baa20f2da32ada53aede0ed1e Mon Sep 17 00:00:00 2001
|
||||
From f4ef754dbd28b2764f3eb2307ddc6db41ff7cde5 Mon Sep 17 00:00:00 2001
|
||||
From: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Date: Mon, 4 Apr 2022 18:52:34 +0000
|
||||
Subject: [PATCH 19/92] FROMLIST(v5): arm64: dts: meson-gxl-s905w-tx3-mini: add
|
||||
support for the 7 segment display
|
||||
Subject: [PATCH 046/111] 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.
|
||||
|
@ -1,39 +0,0 @@
|
||||
From 15e99400c562118a9ac674700a9da43bf57fae6d Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sun, 21 Nov 2021 19:12:07 +0000
|
||||
Subject: [PATCH 46/92] 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!
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
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 8592cb3aaea9..810039a02b44 100644
|
||||
--- a/drivers/staging/media/meson/vdec/vdec_platform.c
|
||||
+++ b/drivers/staging/media/meson/vdec/vdec_platform.c
|
||||
@@ -16,6 +16,18 @@
|
||||
|
||||
static const struct amvdec_format vdec_formats_gxbb[] = {
|
||||
{
|
||||
+ .pixfmt = V4L2_PIX_FMT_HEVC,
|
||||
+ .min_buffers = 4,
|
||||
+ .max_buffers = 24,
|
||||
+ .max_width = 3840,
|
||||
+ .max_height = 2160,
|
||||
+ .vdec_ops = &vdec_hevc_ops,
|
||||
+ .codec_ops = &codec_hevc_ops,
|
||||
+ .firmware_path = "meson/vdec/gxl_hevc.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.34.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 0548abd0394d2185344898ac10bd8e43fc8a6a3a Mon Sep 17 00:00:00 2001
|
||||
From 6f65d3a38399d34407c53bfa3843e58de181bd5d Mon Sep 17 00:00:00 2001
|
||||
From: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Date: Mon, 4 Apr 2022 18:53:32 +0000
|
||||
Subject: [PATCH 20/92] FROMLIST(v5): MAINTAINERS: Add entry for tm1628
|
||||
Subject: [PATCH 047/111] FROMLIST(v5): MAINTAINERS: Add entry for tm1628
|
||||
auxdisplay driver
|
||||
|
||||
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
@ -10,10 +10,10 @@ Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index 886d3f69ee64..c81d579853a6 100644
|
||||
index d4822ae39e39..e4d13fc30cf6 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -20726,6 +20726,13 @@ W: http://sourceforge.net/projects/tlan/
|
||||
@@ -20728,6 +20728,13 @@ W: http://sourceforge.net/projects/tlan/
|
||||
F: Documentation/networking/device_drivers/ethernet/ti/tlan.rst
|
||||
F: drivers/net/ethernet/ti/tlan.*
|
||||
|
@ -1,7 +1,8 @@
|
||||
From 6c22741ba7990df5127aecf0cf7dc0603b90159b Mon Sep 17 00:00:00 2001
|
||||
From 0c0b16bdfe46c648965eef0ac97d06ffb7552c8e Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Karlman <jonas@kwiboo.se>
|
||||
Date: Sun, 23 Dec 2018 02:24:38 +0100
|
||||
Subject: [PATCH 34/92] WIP: ASoC: hdmi-codec: reorder channel allocation list
|
||||
Subject: [PATCH 048/111] FROMLIST(v1): ASoC: hdmi-codec: reorder channel
|
||||
allocation list
|
||||
|
||||
Wrong channel allocation is selected by hdmi_codec_get_ch_alloc_table_idx().
|
||||
|
@ -1,11 +1,14 @@
|
||||
From f4cef56cd5fd2b91cd38d6a8f56a2c16081d0f5f Mon Sep 17 00:00:00 2001
|
||||
From: benjamin545 <benjamin545@gmail.com>
|
||||
From f8d0646502e7ed9c0748036a9dbd9f8b59934f08 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Roszak <benjamin545@gmail.com>
|
||||
Date: Thu, 15 Jul 2021 14:32:33 -0400
|
||||
Subject: [PATCH 42/92] WIP: drivers: meson: vdec: remove redundant if
|
||||
Subject: [PATCH 049/111] FROMLIST(v1): media: meson: vdec: remove redundant if
|
||||
statement
|
||||
|
||||
checking if sess->fmt_out->pixfmt is V4L2_PIX_FMT_VP9 was already done
|
||||
as a condition to enter the if statement where this additional check is performed
|
||||
Checking if sess->fmt_out->pixfmt is V4L2_PIX_FMT_VP9 was already done as a
|
||||
condition to enter the if statement where this additional check is made.
|
||||
|
||||
Signed-off-by: Benjamin Roszak <benjamin545@gmail.com>
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
drivers/staging/media/meson/vdec/esparser.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
@ -1,94 +0,0 @@
|
||||
From 885a1a5806ff78e2ac3e3263a8542e7a46be0f82 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Tue, 17 Aug 2021 16:16:43 +0000
|
||||
Subject: [PATCH 49/92] 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.
|
||||
|
||||
NB: Polarity swapping via GPIO is not implemented in the current driver
|
||||
(see drivers/usb/typec/tcpm/fusb302.c) so it is not possible to handle
|
||||
GPIOAO_6 for USB3 polarity control.
|
||||
|
||||
Suggested-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
.../dts/amlogic/meson-g12a-radxa-zero.dts | 44 +++++++++++++++++++
|
||||
1 file changed, 44 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
|
||||
index e3bb6df42ff3..5e3dc013409f 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
|
||||
@@ -60,6 +60,14 @@ sdio_pwrseq: sdio-pwrseq {
|
||||
clock-names = "ext_clock";
|
||||
};
|
||||
|
||||
+ typec2_vbus: regulator-typec2_vbus {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "TYPEC2_VBUS";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <&ao_5v>;
|
||||
+ };
|
||||
+
|
||||
ao_5v: regulator-ao_5v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "AO_5V";
|
||||
@@ -191,6 +199,18 @@ wifi32k: wifi32k {
|
||||
};
|
||||
};
|
||||
|
||||
+&ao_pinctrl {
|
||||
+ /* Ensure the TYPE C controller irq pin is not driven by the SoC */
|
||||
+ fusb302_irq_pins: fusb302_irq {
|
||||
+ mux {
|
||||
+ groups = "GPIOAO_5";
|
||||
+ function = "gpio_aobus";
|
||||
+ bias-pull-up;
|
||||
+ output-disable;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&arb {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -278,6 +298,22 @@ &ir {
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
+&i2c_AO {
|
||||
+ fusb302@22 {
|
||||
+ compatible = "fcs,fusb302";
|
||||
+ reg = <0x22>;
|
||||
+
|
||||
+ pinctrl-0 = <&fusb302_irq_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ interrupt-parent = <&gpio_intc>;
|
||||
+ interrupts = <59 IRQ_TYPE_LEVEL_LOW>;
|
||||
+
|
||||
+ vbus-supply = <&typec2_vbus>;
|
||||
+
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&pwm_AO_cd {
|
||||
pinctrl-0 = <&pwm_ao_d_e_pins>;
|
||||
pinctrl-names = "default";
|
||||
@@ -403,3 +439,11 @@ &usb {
|
||||
status = "okay";
|
||||
dr_mode = "host";
|
||||
};
|
||||
+
|
||||
+&usb2_phy0 {
|
||||
+ phy-supply = <&typec2_vbus>;
|
||||
+};
|
||||
+
|
||||
+&usb3_pcie_phy {
|
||||
+ phy-supply = <&typec2_vbus>;
|
||||
+};
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,16 +1,19 @@
|
||||
From 64002523532d6e5746c147fa3e7e7fc0c3c4222c Mon Sep 17 00:00:00 2001
|
||||
From 75ff9a5f57cdc8bd007529832601204f987c731d Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Mon, 22 Nov 2021 09:15:21 +0000
|
||||
Subject: [PATCH 47/92] WIP: drivers: meson: vdec: check if parser has really
|
||||
parser before marking input buffer as error
|
||||
Subject: [PATCH 050/111] FROMLIST(v1): media: meson: vdec: esparser: check
|
||||
parsing state with hardware write pointer
|
||||
|
||||
Also check the hardware write pointer to check if ES Parser has stalled.
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
drivers/staging/media/meson/vdec/esparser.c | 14 ++++++++++----
|
||||
1 file changed, 10 insertions(+), 4 deletions(-)
|
||||
drivers/staging/media/meson/vdec/esparser.c | 15 +++++++++++----
|
||||
1 file changed, 11 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c
|
||||
index df5956c6141d..06f627b141fb 100644
|
||||
index 7b15fc54efe4..1904d58875ad 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 +24,7 @@ index df5956c6141d..06f627b141fb 100644
|
||||
|
||||
/*
|
||||
* When max ref frame is held by VP9, this should be -= 3 to prevent a
|
||||
@@ -354,15 +355,20 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf)
|
||||
@@ -353,15 +354,21 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf)
|
||||
}
|
||||
|
||||
pad_size = esparser_pad_start_code(core, vb, payload_size);
|
||||
@ -37,7 +40,8 @@ index df5956c6141d..06f627b141fb 100644
|
||||
|
||||
- return 0;
|
||||
+ if (ret < 0 || wp2 == wp) {
|
||||
+ dev_err(core->dev, "esparser: input parsing error ret %d (%x <=> %x)\n", ret, wp, wp2);
|
||||
+ dev_err(core->dev, "esparser: input parsing error ret %d (%x <=> %x)\n",
|
||||
+ ret, wp, wp2);
|
||||
+ amvdec_remove_ts(sess, vb->timestamp);
|
||||
+ v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_ERROR);
|
||||
+
|
@ -1,19 +1,32 @@
|
||||
From 7f52e06b00d93a73a5e2b7eb2fdab2c978b00cc6 Mon Sep 17 00:00:00 2001
|
||||
From: benjamin545 <benjamin545@gmail.com>
|
||||
Date: Thu, 15 Jul 2021 16:32:39 -0400
|
||||
Subject: [PATCH 43/92] WIP: drivers: meson: vdec: improve mmu and fbc handling
|
||||
and add 10 bit handling
|
||||
From d8c0dea196a1c42845010a9364e6d58e572df2a2 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Roszak <benjamin545@gmail.com>
|
||||
Date: Mon, 23 Jan 2023 10:56:46 +0000
|
||||
Subject: [PATCH 051/111] FROMLIST(v2): media: meson: vdec: implement 10bit
|
||||
bitstream handling
|
||||
|
||||
In order to support 10bit bitstream decoding, buffers and MMU
|
||||
handling must be cleaned up to support either downscale output
|
||||
from compressed 10bit decoding to uncompressed 8bit NV12 output
|
||||
or to compressed 10bit proprietary encoded frame format.
|
||||
|
||||
For that, "am21c" name is moved to "amfbc" to reflect the upstream
|
||||
Amlogic Compressed framebuffer modifier naming.
|
||||
|
||||
Compressed frame buffers allocation is also cleaned up so it
|
||||
can be shared with the HEVC decoder implementation.
|
||||
|
||||
Signed-off-by: Benjamin Roszak <benjamin545@gmail.com>
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
drivers/staging/media/meson/vdec/codec_h264.c | 3 +-
|
||||
.../media/meson/vdec/codec_hevc_common.c | 164 +++++++++++-------
|
||||
.../media/meson/vdec/codec_hevc_common.c | 161 +++++++++++-------
|
||||
.../media/meson/vdec/codec_hevc_common.h | 3 +-
|
||||
drivers/staging/media/meson/vdec/codec_vp9.c | 36 ++--
|
||||
drivers/staging/media/meson/vdec/codec_vp9.c | 35 ++--
|
||||
drivers/staging/media/meson/vdec/esparser.c | 1 +
|
||||
drivers/staging/media/meson/vdec/vdec.h | 1 +
|
||||
.../staging/media/meson/vdec/vdec_helpers.c | 46 +++--
|
||||
.../staging/media/meson/vdec/vdec_helpers.c | 44 +++--
|
||||
.../staging/media/meson/vdec/vdec_helpers.h | 10 +-
|
||||
8 files changed, 163 insertions(+), 101 deletions(-)
|
||||
8 files changed, 161 insertions(+), 97 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/media/meson/vdec/codec_h264.c b/drivers/staging/media/meson/vdec/codec_h264.c
|
||||
index c61128fc4bb9..d53c9a464bde 100644
|
||||
@ -30,7 +43,7 @@ index c61128fc4bb9..d53c9a464bde 100644
|
||||
|
||||
/*
|
||||
diff --git a/drivers/staging/media/meson/vdec/codec_hevc_common.c b/drivers/staging/media/meson/vdec/codec_hevc_common.c
|
||||
index 0315cc0911cd..d6ed82dc93ca 100644
|
||||
index 0315cc0911cd..1c74b4837dcb 100644
|
||||
--- a/drivers/staging/media/meson/vdec/codec_hevc_common.c
|
||||
+++ b/drivers/staging/media/meson/vdec/codec_hevc_common.c
|
||||
@@ -30,8 +30,11 @@ const u16 vdec_hevc_parser_cmd[] = {
|
||||
@ -93,14 +106,13 @@ index 0315cc0911cd..d6ed82dc93ca 100644
|
||||
- else if (codec_hevc_use_downsample(pixfmt_cap, is_10bit))
|
||||
- buf_y_paddr = comm->fbc_buffer_paddr[idx];
|
||||
- else
|
||||
- buf_y_paddr = vb2_dma_contig_plane_dma_addr(vb, 0);
|
||||
+ if (codec_hevc_use_downsample(pixfmt_cap, is_10bit)) {
|
||||
+ if (codec_hevc_use_mmu(revision, pixfmt_cap, is_10bit))
|
||||
+ buf_y_paddr = comm->mmu_header_paddr[idx];
|
||||
+ else
|
||||
+ buf_y_paddr = comm->fbc_buffer_paddr[idx];
|
||||
+ } else {
|
||||
+ buf_y_paddr = vb2_dma_contig_plane_dma_addr(vb, 0);
|
||||
buf_y_paddr = vb2_dma_contig_plane_dma_addr(vb, 0);
|
||||
+ }
|
||||
|
||||
amvdec_write_dos(core, HEVCD_MPP_ANC2AXI_TBL_DATA,
|
||||
@ -194,7 +206,7 @@ index 0315cc0911cd..d6ed82dc93ca 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -213,33 +233,49 @@ void codec_hevc_free_mmu_headers(struct amvdec_session *sess,
|
||||
@@ -213,33 +233,50 @@ void codec_hevc_free_mmu_headers(struct amvdec_session *sess,
|
||||
comm->mmu_map_paddr);
|
||||
comm->mmu_map_vaddr = NULL;
|
||||
}
|
||||
@ -232,6 +244,7 @@ index 0315cc0911cd..d6ed82dc93ca 100644
|
||||
dma_addr_t paddr;
|
||||
- void *vaddr = dma_alloc_coherent(dev, MMU_COMPRESS_HEADER_SIZE,
|
||||
- &paddr, GFP_KERNEL);
|
||||
+
|
||||
+ void *vaddr = dma_alloc_coherent(dev, am21_size, &paddr,
|
||||
+ GFP_KERNEL);
|
||||
if (!vaddr) {
|
||||
@ -256,7 +269,7 @@ index 0315cc0911cd..d6ed82dc93ca 100644
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -250,21 +286,24 @@ int codec_hevc_setup_buffers(struct amvdec_session *sess,
|
||||
@@ -250,21 +287,24 @@ int codec_hevc_setup_buffers(struct amvdec_session *sess,
|
||||
int is_10bit)
|
||||
{
|
||||
struct amvdec_core *core = sess->core;
|
||||
@ -281,17 +294,16 @@ index 0315cc0911cd..d6ed82dc93ca 100644
|
||||
- ret = codec_hevc_alloc_mmu_headers(sess, comm);
|
||||
- if (ret) {
|
||||
- codec_hevc_free_fbc_buffers(sess, comm);
|
||||
- return ret;
|
||||
- }
|
||||
+ sess->pixfmt_cap, is_10bit) ||
|
||||
+ codec_hevc_use_downsample(sess->pixfmt_cap, is_10bit)) {
|
||||
+ ret = codec_hevc_alloc_fbc_buffers(sess, comm);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
return ret;
|
||||
- }
|
||||
}
|
||||
|
||||
if (core->platform->revision == VDEC_REVISION_GXBB)
|
||||
@@ -278,19 +317,24 @@ EXPORT_SYMBOL_GPL(codec_hevc_setup_buffers);
|
||||
@@ -278,19 +318,24 @@ EXPORT_SYMBOL_GPL(codec_hevc_setup_buffers);
|
||||
|
||||
void codec_hevc_fill_mmu_map(struct amvdec_session *sess,
|
||||
struct codec_hevc_common *comm,
|
||||
@ -337,7 +349,7 @@ index cf072b8a9da2..13f9f1d90a94 100644
|
||||
|
||||
#endif
|
||||
diff --git a/drivers/staging/media/meson/vdec/codec_vp9.c b/drivers/staging/media/meson/vdec/codec_vp9.c
|
||||
index 897f5d7a6aad..bfc312ec2a56 100644
|
||||
index 897f5d7a6aad..33b758cded77 100644
|
||||
--- a/drivers/staging/media/meson/vdec/codec_vp9.c
|
||||
+++ b/drivers/staging/media/meson/vdec/codec_vp9.c
|
||||
@@ -458,12 +458,6 @@ struct codec_vp9 {
|
||||
@ -360,20 +372,20 @@ index 897f5d7a6aad..bfc312ec2a56 100644
|
||||
- if (codec_hevc_use_fbc(sess->pixfmt_cap, vp9->is_10bit)) {
|
||||
- val = amvdec_read_dos(core, HEVC_SAO_CTRL5) & ~0xff0200;
|
||||
- amvdec_write_dos(core, HEVC_SAO_CTRL5, val);
|
||||
- amvdec_write_dos(core, HEVC_CM_BODY_START_ADDR, buf_y_paddr);
|
||||
- }
|
||||
+ if (codec_hevc_use_fbc(sess->pixfmt_cap, vp9->is_10bit))
|
||||
+ amvdec_write_dos(core, HEVC_CM_BODY_START_ADDR, buf_y_paddr);
|
||||
amvdec_write_dos(core, HEVC_CM_BODY_START_ADDR, buf_y_paddr);
|
||||
- }
|
||||
|
||||
if (sess->pixfmt_cap == V4L2_PIX_FMT_NV12M) {
|
||||
buf_y_paddr =
|
||||
@@ -920,8 +911,12 @@ static void codec_vp9_set_sao(struct amvdec_session *sess,
|
||||
@@ -920,8 +911,13 @@ static void codec_vp9_set_sao(struct amvdec_session *sess,
|
||||
|
||||
if (codec_hevc_use_mmu(core->platform->revision, sess->pixfmt_cap,
|
||||
vp9->is_10bit)) {
|
||||
- amvdec_write_dos(core, HEVC_CM_HEADER_START_ADDR,
|
||||
- vp9->common.mmu_header_paddr[vb->index]);
|
||||
+ dma_addr_t header_adr;
|
||||
+
|
||||
+ if (codec_hevc_use_downsample(sess->pixfmt_cap, vp9->is_10bit))
|
||||
+ header_adr = vp9->common.mmu_header_paddr[vb->index];
|
||||
+ else
|
||||
@ -382,7 +394,7 @@ index 897f5d7a6aad..bfc312ec2a56 100644
|
||||
/* use HEVC_CM_HEADER_START_ADDR */
|
||||
amvdec_write_dos_bits(core, HEVC_SAO_CTRL5, BIT(10));
|
||||
}
|
||||
@@ -1148,9 +1143,13 @@ static void codec_vp9_set_mc(struct amvdec_session *sess,
|
||||
@@ -1148,9 +1144,13 @@ static void codec_vp9_set_mc(struct amvdec_session *sess,
|
||||
{
|
||||
struct amvdec_core *core = sess->core;
|
||||
u32 scale = 0;
|
||||
@ -396,7 +408,7 @@ index 897f5d7a6aad..bfc312ec2a56 100644
|
||||
amvdec_write_dos(core, HEVCD_MPP_ANC_CANVAS_ACCCONFIG_ADDR, 1);
|
||||
codec_vp9_set_refs(sess, vp9);
|
||||
amvdec_write_dos(core, HEVCD_MPP_ANC_CANVAS_ACCCONFIG_ADDR,
|
||||
@@ -1166,8 +1165,9 @@ static void codec_vp9_set_mc(struct amvdec_session *sess,
|
||||
@@ -1166,8 +1166,9 @@ static void codec_vp9_set_mc(struct amvdec_session *sess,
|
||||
vp9->frame_refs[i]->height != vp9->height)
|
||||
scale = 1;
|
||||
|
||||
@ -408,7 +420,7 @@ index 897f5d7a6aad..bfc312ec2a56 100644
|
||||
|
||||
amvdec_write_dos(core, VP9D_MPP_REFINFO_DATA,
|
||||
vp9->frame_refs[i]->width);
|
||||
@@ -1283,7 +1283,8 @@ static void codec_vp9_process_frame(struct amvdec_session *sess)
|
||||
@@ -1283,7 +1284,8 @@ static void codec_vp9_process_frame(struct amvdec_session *sess)
|
||||
if (codec_hevc_use_mmu(core->platform->revision, sess->pixfmt_cap,
|
||||
vp9->is_10bit))
|
||||
codec_hevc_fill_mmu_map(sess, &vp9->common,
|
||||
@ -418,7 +430,7 @@ index 897f5d7a6aad..bfc312ec2a56 100644
|
||||
|
||||
intra_only = param->p.show_frame ? 0 : param->p.intra_only;
|
||||
|
||||
@@ -2132,7 +2133,8 @@ static irqreturn_t codec_vp9_threaded_isr(struct amvdec_session *sess)
|
||||
@@ -2132,7 +2134,8 @@ static irqreturn_t codec_vp9_threaded_isr(struct amvdec_session *sess)
|
||||
|
||||
codec_vp9_fetch_rpm(sess);
|
||||
if (codec_vp9_process_rpm(vp9)) {
|
||||
@ -429,10 +441,10 @@ 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 7b15fc54efe4..5d2273d53d02 100644
|
||||
index 1904d58875ad..3cd29ab4f979 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)
|
||||
@@ -320,6 +320,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf)
|
||||
if (esparser_vififo_get_free_space(sess) < payload_size ||
|
||||
atomic_read(&sess->esparser_queued_bufs) >= num_dst_bufs)
|
||||
return -EAGAIN;
|
||||
@ -453,7 +465,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 7d2a75653250..d684057509bf 100644
|
||||
index 7d2a75653250..fef76142f0c5 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)
|
||||
@ -533,11 +545,10 @@ index 7d2a75653250..d684057509bf 100644
|
||||
dpb_size <= sess->num_dst_bufs) {
|
||||
sess->fmt_out->codec_ops->resume(sess);
|
||||
- return;
|
||||
- }
|
||||
+ } else {
|
||||
+ sess->status = STATUS_NEEDS_RESUME;
|
||||
+ sess->changed_format = 0;
|
||||
+ }
|
||||
}
|
||||
|
||||
- sess->changed_format = 0;
|
||||
sess->width = width;
|
@ -1,16 +1,23 @@
|
||||
From 9324cfd9b3774304892f3635a58bba14b12ded95 Mon Sep 17 00:00:00 2001
|
||||
From: benjamin545 <benjamin545@gmail.com>
|
||||
Date: Thu, 15 Jul 2021 17:08:42 -0400
|
||||
Subject: [PATCH 44/92] WIP: drivers: meson: vdec: add HEVC decode codec
|
||||
From 7054d1b911a184c16dc6fec862e7c3f46fe2c601 Mon Sep 17 00:00:00 2001
|
||||
From: Maxime Jourdan <mjourdan@baylibre.com>
|
||||
Date: Mon, 23 Jan 2023 11:07:04 +0000
|
||||
Subject: [PATCH 052/111] FROMLIST(v2): media: meson: vdec: add HEVC decode
|
||||
codec
|
||||
|
||||
Add initial HEVC codec for the Amlogic GXBB/GXL/GXM SoCs using
|
||||
the common "HEVC" decoder driver.
|
||||
|
||||
Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com>
|
||||
[codec alignment to upstream changes and frame handling improvements]
|
||||
Signed-off-by: Benjamin Roszak <benjamin545@gmail.com>
|
||||
---
|
||||
drivers/staging/media/meson/vdec/Makefile | 2 +-
|
||||
drivers/staging/media/meson/vdec/codec_hevc.c | 1440 +++++++++++++++++
|
||||
drivers/staging/media/meson/vdec/codec_hevc.c | 1462 +++++++++++++++++
|
||||
drivers/staging/media/meson/vdec/codec_hevc.h | 13 +
|
||||
drivers/staging/media/meson/vdec/esparser.c | 2 +-
|
||||
drivers/staging/media/meson/vdec/esparser.c | 3 +-
|
||||
drivers/staging/media/meson/vdec/hevc_regs.h | 1 +
|
||||
.../staging/media/meson/vdec/vdec_platform.c | 49 +
|
||||
6 files changed, 1505 insertions(+), 2 deletions(-)
|
||||
.../staging/media/meson/vdec/vdec_platform.c | 37 +
|
||||
6 files changed, 1516 insertions(+), 2 deletions(-)
|
||||
create mode 100644 drivers/staging/media/meson/vdec/codec_hevc.c
|
||||
create mode 100644 drivers/staging/media/meson/vdec/codec_hevc.h
|
||||
|
||||
@ -28,10 +35,10 @@ index 6e726af84ac9..16f848e456b9 100644
|
||||
obj-$(CONFIG_VIDEO_MESON_VDEC) += meson-vdec.o
|
||||
diff --git a/drivers/staging/media/meson/vdec/codec_hevc.c b/drivers/staging/media/meson/vdec/codec_hevc.c
|
||||
new file mode 100644
|
||||
index 000000000000..3a6fd04a2d33
|
||||
index 000000000000..fcaaa1ad50b8
|
||||
--- /dev/null
|
||||
+++ b/drivers/staging/media/meson/vdec/codec_hevc.c
|
||||
@@ -0,0 +1,1440 @@
|
||||
@@ -0,0 +1,1462 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Copyright (C) 2018 Maxime Jourdan <mjourdan@baylibre.com>
|
||||
@ -257,6 +264,7 @@ index 000000000000..3a6fd04a2d33
|
||||
+ u32 poc;
|
||||
+
|
||||
+ int referenced;
|
||||
+ int show;
|
||||
+ u32 num_reorder_pic;
|
||||
+
|
||||
+ u32 cur_slice_idx;
|
||||
@ -268,6 +276,7 @@ index 000000000000..3a6fd04a2d33
|
||||
+};
|
||||
+
|
||||
+struct codec_hevc {
|
||||
+ /* Protect the data structure */
|
||||
+ struct mutex lock;
|
||||
+
|
||||
+ /* Common part of the HEVC decoder */
|
||||
@ -383,6 +392,7 @@ index 000000000000..3a6fd04a2d33
|
||||
+
|
||||
+ for (i = 0; i < num_ref_idx_l0_active; i++) {
|
||||
+ int cidx;
|
||||
+
|
||||
+ if (params->p.modification_flag & 0x1)
|
||||
+ cidx = mod_list[i];
|
||||
+ else
|
||||
@ -399,6 +409,7 @@ index 000000000000..3a6fd04a2d33
|
||||
+ if (params->p.modification_flag & 0x2) {
|
||||
+ for (i = 0; i < num_ref_idx_l1_active; i++) {
|
||||
+ int cidx;
|
||||
+
|
||||
+ if (params->p.modification_flag & 0x1)
|
||||
+ cidx = mod_list[num_ref_idx_l0_active + i];
|
||||
+ else
|
||||
@ -411,6 +422,7 @@ index 000000000000..3a6fd04a2d33
|
||||
+ } else {
|
||||
+ for (i = 0; i < num_ref_idx_l1_active; i++) {
|
||||
+ int cidx = i % total_num;
|
||||
+
|
||||
+ frame->ref_poc_list[1][frame->cur_slice_idx][i] =
|
||||
+ cidx >= num_pos ? ref_picset0[cidx - num_pos] :
|
||||
+ ref_picset1[cidx];
|
||||
@ -475,6 +487,7 @@ index 000000000000..3a6fd04a2d33
|
||||
+
|
||||
+ for (i = 0; i < MAX_REF_ACTIVE; i++) {
|
||||
+ int delt;
|
||||
+
|
||||
+ if (param->p.CUR_RPS[i] & 0x8000)
|
||||
+ break;
|
||||
+
|
||||
@ -483,8 +496,10 @@ index 000000000000..3a6fd04a2d33
|
||||
+ if (param->p.CUR_RPS[i] & (1 << (RPS_USED_BIT - 1))) {
|
||||
+ poc_tmp = curr_poc -
|
||||
+ ((1 << (RPS_USED_BIT - 1)) - delt);
|
||||
+ } else
|
||||
+ } else {
|
||||
+ poc_tmp = curr_poc + delt;
|
||||
+ }
|
||||
+
|
||||
+ if (poc_tmp == frame->poc) {
|
||||
+ is_referenced = 1;
|
||||
+ break;
|
||||
@ -496,13 +511,13 @@ index 000000000000..3a6fd04a2d33
|
||||
+}
|
||||
+
|
||||
+static struct hevc_frame *
|
||||
+codec_hevc_get_lowest_poc_frame(struct codec_hevc *hevc)
|
||||
+codec_hevc_get_next_ready_frame(struct codec_hevc *hevc)
|
||||
+{
|
||||
+ struct hevc_frame *tmp, *ret = NULL;
|
||||
+ u32 poc = INT_MAX;
|
||||
+
|
||||
+ list_for_each_entry(tmp, &hevc->ref_frames_list, list) {
|
||||
+ if (tmp->poc < poc) {
|
||||
+ if ((tmp->poc < poc) && tmp->show) {
|
||||
+ ret = tmp;
|
||||
+ poc = tmp->poc;
|
||||
+ }
|
||||
@ -512,27 +527,34 @@ index 000000000000..3a6fd04a2d33
|
||||
+}
|
||||
+
|
||||
+/* Try to output as many frames as possible */
|
||||
+static void codec_hevc_output_frames(struct amvdec_session *sess)
|
||||
+static void codec_hevc_show_frames(struct amvdec_session *sess)
|
||||
+{
|
||||
+ struct hevc_frame *tmp;
|
||||
+ struct hevc_frame *tmp, *n;
|
||||
+ struct codec_hevc *hevc = sess->priv;
|
||||
+
|
||||
+ while ((tmp = codec_hevc_get_lowest_poc_frame(hevc))) {
|
||||
+ while ((tmp = codec_hevc_get_next_ready_frame(hevc))) {
|
||||
+ if (hevc->curr_poc &&
|
||||
+ (tmp->referenced ||
|
||||
+ tmp->num_reorder_pic >= hevc->frames_num))
|
||||
+ (hevc->frames_num <= tmp->num_reorder_pic))
|
||||
+ break;
|
||||
+
|
||||
+ dev_dbg(sess->core->dev, "DONE frame poc %u; vbuf %u\n",
|
||||
+ tmp->poc, tmp->vbuf->vb2_buf.index);
|
||||
+ amvdec_dst_buf_done_offset(sess, tmp->vbuf, tmp->offset,
|
||||
+ V4L2_FIELD_NONE, false);
|
||||
+ list_del(&tmp->list);
|
||||
+ kfree(tmp);
|
||||
+
|
||||
+ tmp->show = 0;
|
||||
+ hevc->frames_num--;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+ /* clean output frame buffer */
|
||||
+ list_for_each_entry_safe(tmp, n, &hevc->ref_frames_list, list) {
|
||||
+ if (tmp->referenced || tmp->show)
|
||||
+ continue;
|
||||
+
|
||||
+ list_del(&tmp->list);
|
||||
+ kfree(tmp);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static int
|
||||
+codec_hevc_setup_workspace(struct amvdec_session *sess,
|
||||
@ -663,7 +685,6 @@ index 000000000000..3a6fd04a2d33
|
||||
+ hevc->aux_vaddr = dma_alloc_coherent(core->dev, SIZE_AUX,
|
||||
+ &hevc->aux_paddr, GFP_KERNEL);
|
||||
+ if (!hevc->aux_vaddr) {
|
||||
+ dev_err(core->dev, "Failed to request HEVC AUX\n");
|
||||
+ ret = -ENOMEM;
|
||||
+ goto free_hevc;
|
||||
+ }
|
||||
@ -684,14 +705,17 @@ index 000000000000..3a6fd04a2d33
|
||||
+static void codec_hevc_flush_output(struct amvdec_session *sess)
|
||||
+{
|
||||
+ struct codec_hevc *hevc = sess->priv;
|
||||
+ struct hevc_frame *tmp;
|
||||
+ struct hevc_frame *tmp, *n;
|
||||
+
|
||||
+ while (!list_empty(&hevc->ref_frames_list)) {
|
||||
+ tmp = codec_hevc_get_lowest_poc_frame(hevc);
|
||||
+ while ((tmp = codec_hevc_get_next_ready_frame(hevc))) {
|
||||
+ amvdec_dst_buf_done(sess, tmp->vbuf, V4L2_FIELD_NONE);
|
||||
+ tmp->show = 0;
|
||||
+ hevc->frames_num--;
|
||||
+ }
|
||||
+
|
||||
+ list_for_each_entry_safe(tmp, n, &hevc->ref_frames_list, list) {
|
||||
+ list_del(&tmp->list);
|
||||
+ kfree(tmp);
|
||||
+ hevc->frames_num--;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
@ -753,6 +777,7 @@ index 000000000000..3a6fd04a2d33
|
||||
+
|
||||
+ new_frame->vbuf = vbuf;
|
||||
+ new_frame->referenced = 1;
|
||||
+ new_frame->show = 1;
|
||||
+ new_frame->poc = hevc->curr_poc;
|
||||
+ new_frame->cur_slice_type = params->p.slice_type;
|
||||
+ new_frame->num_reorder_pic = params->p.sps_num_reorder_pics_0;
|
||||
@ -820,6 +845,7 @@ index 000000000000..3a6fd04a2d33
|
||||
+ if (codec_hevc_use_mmu(core->platform->revision, sess->pixfmt_cap,
|
||||
+ hevc->is_10bit)) {
|
||||
+ dma_addr_t header_adr = vb2_dma_contig_plane_dma_addr(vb, 0);
|
||||
+
|
||||
+ if (codec_hevc_use_downsample(sess->pixfmt_cap, hevc->is_10bit))
|
||||
+ header_adr = hevc->common.mmu_header_paddr[vb->index];
|
||||
+ amvdec_write_dos(core, HEVC_CM_HEADER_START_ADDR, header_adr);
|
||||
@ -898,8 +924,8 @@ index 000000000000..3a6fd04a2d33
|
||||
+
|
||||
+ slice_deblocking_filter_disabled_flag = (misc_flag0 >>
|
||||
+ SLICE_DEBLOCKING_FILTER_DISABLED_FLAG_BIT) & 0x1;
|
||||
+ if ((misc_flag0 & (1 << DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_BIT))
|
||||
+ && (misc_flag0 & (1 << DEBLOCKING_FILTER_OVERRIDE_FLAG_BIT))) {
|
||||
+ if ((misc_flag0 & (1 << DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_BIT)) &&
|
||||
+ (misc_flag0 & (1 << DEBLOCKING_FILTER_OVERRIDE_FLAG_BIT))) {
|
||||
+ val |= slice_deblocking_filter_disabled_flag << 2;
|
||||
+
|
||||
+ if (!slice_deblocking_filter_disabled_flag) {
|
||||
@ -917,10 +943,10 @@ index 000000000000..3a6fd04a2d33
|
||||
+ val |= (param->p.pps_tc_offset_div2 & 0xf) << 7;
|
||||
+ }
|
||||
+ }
|
||||
+ if ((misc_flag0 & (1 << PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED_FLAG_BIT))
|
||||
+ && ((misc_flag0 & (1 << SLICE_SAO_LUMA_FLAG_BIT))
|
||||
+ || (misc_flag0 & (1 << SLICE_SAO_CHROMA_FLAG_BIT))
|
||||
+ || (!slice_deblocking_filter_disabled_flag))) {
|
||||
+ if ((misc_flag0 & (1 << PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED_FLAG_BIT)) &&
|
||||
+ ((misc_flag0 & (1 << SLICE_SAO_LUMA_FLAG_BIT)) ||
|
||||
+ (misc_flag0 & (1 << SLICE_SAO_CHROMA_FLAG_BIT)) ||
|
||||
+ (!slice_deblocking_filter_disabled_flag))) {
|
||||
+ val |=
|
||||
+ ((misc_flag0 >>
|
||||
+ SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED_FLAG_BIT)
|
||||
@ -1014,9 +1040,8 @@ index 000000000000..3a6fd04a2d33
|
||||
+ lcu_size_log2 == 5 ? 0x80 : 0x20;
|
||||
+ dma_addr_t col_mv_rd_start_addr, col_mv_rd_ptr, col_mv_rd_end_addr;
|
||||
+ dma_addr_t mpred_mv_wr_ptr;
|
||||
+ u32 val;
|
||||
+
|
||||
+ val = amvdec_read_dos(core, HEVC_MPRED_CURR_LCU);
|
||||
+ amvdec_read_dos(core, HEVC_MPRED_CURR_LCU);
|
||||
+
|
||||
+ col_mv_rd_start_addr = codec_hevc_get_frame_mv_paddr(hevc, col_frame);
|
||||
+ mpred_mv_wr_ptr = codec_hevc_get_frame_mv_paddr(hevc, frame) +
|
||||
@ -1163,7 +1188,8 @@ index 000000000000..3a6fd04a2d33
|
||||
+ }
|
||||
+
|
||||
+ if (codec_hevc_use_fbc(sess->pixfmt_cap, hevc->is_10bit)) {
|
||||
+ buf_id_y = buf_id_uv = ref_frame->vbuf->vb2_buf.index;
|
||||
+ buf_id_y = ref_frame->vbuf->vb2_buf.index;
|
||||
+ buf_id_uv = buf_id_y;
|
||||
+ } else {
|
||||
+ buf_id_y = ref_frame->vbuf->vb2_buf.index * 2;
|
||||
+ buf_id_uv = buf_id_y + 1;
|
||||
@ -1301,7 +1327,7 @@ index 000000000000..3a6fd04a2d33
|
||||
+ /* First slice: new frame */
|
||||
+ if (slice_segment_address == 0) {
|
||||
+ codec_hevc_update_referenced(hevc);
|
||||
+ codec_hevc_output_frames(sess);
|
||||
+ codec_hevc_show_frames(sess);
|
||||
+
|
||||
+ hevc->cur_frame = codec_hevc_prepare_new_frame(sess);
|
||||
+ if (!hevc->cur_frame)
|
||||
@ -1366,7 +1392,8 @@ index 000000000000..3a6fd04a2d33
|
||||
+
|
||||
+ switch (param->p.chroma_format_idc) {
|
||||
+ case 1:
|
||||
+ sub_height = 2; /* fallthrough */
|
||||
+ sub_height = 2;
|
||||
+ fallthrough;
|
||||
+ case 2:
|
||||
+ sub_width = 2;
|
||||
+ break;
|
||||
@ -1404,9 +1431,11 @@ index 000000000000..3a6fd04a2d33
|
||||
+ u16 *rpm_vaddr = hevc->workspace_vaddr + RPM_OFFSET;
|
||||
+ int i, j;
|
||||
+
|
||||
+ for (i = 0; i < RPM_SIZE; i += 4)
|
||||
+ for (i = 0; i < RPM_SIZE; i += 4) {
|
||||
+ for (j = 0; j < 4; j++)
|
||||
+ hevc->rpm_param.l.data[i + j] = rpm_vaddr[i + 3 - j];
|
||||
+ hevc->rpm_param.l.data[i + j] =
|
||||
+ rpm_vaddr[i + 3 - j];
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void codec_hevc_resume(struct amvdec_session *sess)
|
||||
@ -1492,15 +1521,16 @@ index 000000000000..f2f9b2464df1
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c
|
||||
index 5d2273d53d02..df5956c6141d 100644
|
||||
index 3cd29ab4f979..6988348ce714 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)
|
||||
@@ -310,7 +310,8 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf)
|
||||
* they could pause when there is no capture buffer available and
|
||||
* resume on this notification.
|
||||
*/
|
||||
- if (sess->fmt_out->pixfmt == V4L2_PIX_FMT_VP9) {
|
||||
+ if (sess->fmt_out->pixfmt == V4L2_PIX_FMT_VP9 || sess->fmt_out->pixfmt ==V4L2_PIX_FMT_HEVC) {
|
||||
+ if (sess->fmt_out->pixfmt == V4L2_PIX_FMT_VP9 ||
|
||||
+ sess->fmt_out->pixfmt == V4L2_PIX_FMT_HEVC) {
|
||||
if (codec_ops->num_pending_bufs)
|
||||
num_dst_bufs = codec_ops->num_pending_bufs(sess);
|
||||
|
||||
@ -1517,10 +1547,10 @@ index 0392f41a1eed..e7eabdd2b119 100644
|
||||
#define HEVC_SAO_MMU_VH1_ADDR 0xd8ec
|
||||
|
||||
diff --git a/drivers/staging/media/meson/vdec/vdec_platform.c b/drivers/staging/media/meson/vdec/vdec_platform.c
|
||||
index 88c9d72e1c83..8592cb3aaea9 100644
|
||||
index 88c9d72e1c83..ea2aa0e8cf0b 100644
|
||||
--- a/drivers/staging/media/meson/vdec/vdec_platform.c
|
||||
+++ b/drivers/staging/media/meson/vdec/vdec_platform.c
|
||||
@@ -11,6 +11,7 @@
|
||||
@@ -11,10 +11,23 @@
|
||||
#include "vdec_hevc.h"
|
||||
#include "codec_mpeg12.h"
|
||||
#include "codec_h264.h"
|
||||
@ -1528,11 +1558,7 @@ index 88c9d72e1c83..8592cb3aaea9 100644
|
||||
#include "codec_vp9.h"
|
||||
|
||||
static const struct amvdec_format vdec_formats_gxbb[] = {
|
||||
@@ -64,6 +65,18 @@ static const struct amvdec_format vdec_formats_gxl[] = {
|
||||
.pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
|
||||
.flags = V4L2_FMT_FLAG_COMPRESSED |
|
||||
V4L2_FMT_FLAG_DYN_RESOLUTION,
|
||||
+ }, {
|
||||
{
|
||||
+ .pixfmt = V4L2_PIX_FMT_HEVC,
|
||||
+ .min_buffers = 4,
|
||||
+ .max_buffers = 24,
|
||||
@ -1544,48 +1570,11 @@ index 88c9d72e1c83..8592cb3aaea9 100644
|
||||
+ .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,
|
||||
@@ -114,6 +127,18 @@ static const struct amvdec_format vdec_formats_gxm[] = {
|
||||
.pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
|
||||
.flags = V4L2_FMT_FLAG_COMPRESSED |
|
||||
V4L2_FMT_FLAG_DYN_RESOLUTION,
|
||||
+ }, {
|
||||
+ .pixfmt = V4L2_PIX_FMT_HEVC,
|
||||
+ .min_buffers = 4,
|
||||
+ .max_buffers = 24,
|
||||
+ .max_width = 3840,
|
||||
+ .max_height = 2160,
|
||||
+ .vdec_ops = &vdec_hevc_ops,
|
||||
+ .codec_ops = &codec_hevc_ops,
|
||||
+ .firmware_path = "meson/vdec/gxl_hevc.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,
|
||||
@@ -165,6 +190,18 @@ static const struct amvdec_format vdec_formats_g12a[] = {
|
||||
.flags = V4L2_FMT_FLAG_COMPRESSED |
|
||||
V4L2_FMT_FLAG_DYN_RESOLUTION,
|
||||
}, {
|
||||
+ .pixfmt = V4L2_PIX_FMT_HEVC,
|
||||
+ .min_buffers = 4,
|
||||
+ .max_buffers = 24,
|
||||
+ .max_width = 3840,
|
||||
+ .max_height = 2160,
|
||||
+ .vdec_ops = &vdec_hevc_ops,
|
||||
+ .codec_ops = &codec_hevc_ops,
|
||||
+ .firmware_path = "meson/vdec/g12a_hevc_mmu.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,
|
||||
@@ -214,6 +251,18 @@ static const struct amvdec_format vdec_formats_sm1[] = {
|
||||
@@ -64,6 +77,18 @@ static const struct amvdec_format vdec_formats_gxl[] = {
|
||||
.pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
|
||||
.flags = V4L2_FMT_FLAG_COMPRESSED |
|
||||
V4L2_FMT_FLAG_DYN_RESOLUTION,
|
||||
@ -1597,7 +1586,26 @@ index 88c9d72e1c83..8592cb3aaea9 100644
|
||||
+ .max_height = 2160,
|
||||
+ .vdec_ops = &vdec_hevc_ops,
|
||||
+ .codec_ops = &codec_hevc_ops,
|
||||
+ .firmware_path = "meson/vdec/sm1_hevc_mmu.bin",
|
||||
+ .firmware_path = "meson/vdec/gxl_hevc.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,
|
||||
@@ -114,6 +139,18 @@ static const struct amvdec_format vdec_formats_gxm[] = {
|
||||
.pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
|
||||
.flags = V4L2_FMT_FLAG_COMPRESSED |
|
||||
V4L2_FMT_FLAG_DYN_RESOLUTION,
|
||||
+ }, {
|
||||
+ .pixfmt = V4L2_PIX_FMT_HEVC,
|
||||
+ .min_buffers = 4,
|
||||
+ .max_buffers = 24,
|
||||
+ .max_width = 3840,
|
||||
+ .max_height = 2160,
|
||||
+ .vdec_ops = &vdec_hevc_ops,
|
||||
+ .codec_ops = &codec_hevc_ops,
|
||||
+ .firmware_path = "meson/vdec/gxl_hevc.bin",
|
||||
+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
|
||||
+ .flags = V4L2_FMT_FLAG_COMPRESSED |
|
||||
+ V4L2_FMT_FLAG_DYN_RESOLUTION,
|
@ -1,35 +0,0 @@
|
||||
From 7c9aedb198c2dc03679ca8bd3908790f1dbdffb5 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 30 Nov 2022 12:07:55 +0000
|
||||
Subject: [PATCH 52/92] WIP: arm64: dts: meson: add support for the NPU on
|
||||
Radxa Zero2
|
||||
|
||||
Radxa Zero2 has an NPU on the A311D SoC, so lets enable it.
|
||||
|
||||
NPU support depends upon [0].
|
||||
|
||||
[0] https://patchwork.kernel.org/project/linux-amlogic/cover/20221129085047.49813-1-tomeu.vizoso@collabora.com/
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
|
||||
index fefa6f2b7abf..7432c7f9255b 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
|
||||
@@ -366,6 +366,10 @@ &ir {
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
+&npu {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&pwm_ab {
|
||||
pinctrl-0 = <&pwm_a_e_pins>;
|
||||
pinctrl-names = "default";
|
||||
--
|
||||
2.34.1
|
||||
|
28
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0053-FROMLIST-v2-dt-bindings-media-rc-add-rc-dreambox-bin.patch
Normal file
28
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0053-FROMLIST-v2-dt-bindings-media-rc-add-rc-dreambox-bin.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From bdf45a337371af5b1a10fae377997fce17100356 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 1 Feb 2023 08:53:39 +0000
|
||||
Subject: [PATCH 053/111] FROMLIST(v2): dt-bindings: media: rc: add rc-dreambox
|
||||
binding
|
||||
|
||||
Add a binding for the rc-dreambox remote keymap
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
Documentation/devicetree/bindings/media/rc.yaml | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml
|
||||
index e732b7f3a635..e7d2ae5a7eb9 100644
|
||||
--- a/Documentation/devicetree/bindings/media/rc.yaml
|
||||
+++ b/Documentation/devicetree/bindings/media/rc.yaml
|
||||
@@ -55,6 +55,7 @@ properties:
|
||||
- rc-dm1105-nec
|
||||
- rc-dntv-live-dvb-t
|
||||
- rc-dntv-live-dvbt-pro
|
||||
+ - rc-dreambox
|
||||
- rc-dtt200u
|
||||
- rc-dvbsky
|
||||
- rc-dvico-mce
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,41 +1,39 @@
|
||||
From 6d33dfefde64db49246af2d0a7cd9c87accfdf65 Mon Sep 17 00:00:00 2001
|
||||
From b4177ebf1b5659010688563561d678941183a53a Mon Sep 17 00:00:00 2001
|
||||
From: Emanuel Strobel <emanuel.strobel@yahoo.com>
|
||||
Date: Mon, 5 Apr 2021 17:57:57 +0000
|
||||
Subject: [PATCH 85/92] WIP: media: rc: add common keymap for Dreambox RC10 and
|
||||
RC20/RC-BT remotes
|
||||
Subject: [PATCH 054/111] FROMLIST(v2): media: rc: add common keymap for
|
||||
Dreambox RC10/RC0 and RC20/RC-BT remotes
|
||||
|
||||
Add a common keymap and bindings for the RC10 and RC20/RC-BT remotes
|
||||
used with the Dreambox One and Dreambox Two DVB-S/T boxes. The maps
|
||||
are combined since the IR codes do not conflict and both boxes have
|
||||
been sold with both remote designs.
|
||||
Add a common keymap for the RC10/RC0 and RC20/RC-BT remotes used with
|
||||
the Dreambox One and Dreambox Two DVB-S/T boxes. The maps are combined
|
||||
since the IR codes do not conflict and both boxes have shipped with
|
||||
both remote designs over time.
|
||||
|
||||
Both remote types can be programmed to control TVs, so include non-IR
|
||||
keys that are used to switch-to or toggle the remote mode:
|
||||
|
||||
- DREAM in RC10/RC0 switches to (Dreambox) STB control mode
|
||||
- TV in RC10/RC0 switches to TV control mode
|
||||
- MODE in RC20/RC-BT toggles between STB/TV/BT control modes
|
||||
|
||||
In the RC20 keymap the Android MIC (voice search) key maps to KEY_HELP
|
||||
and EXIT is mapped to KEY_ESC to replicate the go-backwards navigation
|
||||
behaviour in the Android vendor OS that ships on Dreambox devices.
|
||||
|
||||
Signed-off-by: Emanuel Strobel <emanuel.strobel@yahoo.com>
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
.../devicetree/bindings/media/rc.yaml | 1 +
|
||||
drivers/media/rc/keymaps/Makefile | 1 +
|
||||
drivers/media/rc/keymaps/rc-dreambox.c | 147 ++++++++++++++++++
|
||||
drivers/media/rc/keymaps/rc-dreambox.c | 151 +++++++++++++++++++++++++
|
||||
include/media/rc-map.h | 1 +
|
||||
4 files changed, 150 insertions(+)
|
||||
3 files changed, 153 insertions(+)
|
||||
create mode 100644 drivers/media/rc/keymaps/rc-dreambox.c
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml
|
||||
index d4ef523cb3d5..f390a5d2c82d 100644
|
||||
--- a/Documentation/devicetree/bindings/media/rc.yaml
|
||||
+++ b/Documentation/devicetree/bindings/media/rc.yaml
|
||||
@@ -56,6 +56,7 @@ properties:
|
||||
- rc-dm1105-nec
|
||||
- rc-dntv-live-dvb-t
|
||||
- rc-dntv-live-dvbt-pro
|
||||
+ - rc-dreambox
|
||||
- rc-dtt200u
|
||||
- rc-dvbsky
|
||||
- rc-dvico-mce
|
||||
diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile
|
||||
index 77d8b5a69815..03bc9a8d355e 100644
|
||||
index f513ff5caf4e..6931c89fca99 100644
|
||||
--- a/drivers/media/rc/keymaps/Makefile
|
||||
+++ b/drivers/media/rc/keymaps/Makefile
|
||||
@@ -38,6 +38,7 @@ obj-$(CONFIG_RC_MAP) += \
|
||||
@@ -37,6 +37,7 @@ obj-$(CONFIG_RC_MAP) += \
|
||||
rc-dm1105-nec.o \
|
||||
rc-dntv-live-dvb-t.o \
|
||||
rc-dntv-live-dvbt-pro.o \
|
||||
@ -45,92 +43,49 @@ index 77d8b5a69815..03bc9a8d355e 100644
|
||||
rc-dvico-mce.o \
|
||||
diff --git a/drivers/media/rc/keymaps/rc-dreambox.c b/drivers/media/rc/keymaps/rc-dreambox.c
|
||||
new file mode 100644
|
||||
index 000000000000..0ccbed367ea3
|
||||
index 000000000000..dea024fa3a22
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/rc/keymaps/rc-dreambox.c
|
||||
@@ -0,0 +1,147 @@
|
||||
@@ -0,0 +1,151 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+//
|
||||
+// Copyright (c) 2021 Emanuel Strobel <emanuel.strobel@yahoo.com>
|
||||
+/*
|
||||
+ * Copyright (c) 2021 Emanuel Strobel <emanuel.strobel@yahoo.com>
|
||||
+ */
|
||||
+
|
||||
+#include <media/rc-map.h>
|
||||
+#include <linux/module.h>
|
||||
+
|
||||
+//
|
||||
+// Keytable for the Dreabox RC10 and RC20/RC-BT remote controls
|
||||
+//
|
||||
+/*
|
||||
+ * Keytable for Dreambox RC10/RC0 and RC20/RC-BT remote controls
|
||||
+ *
|
||||
+ * Keys that are not IR addressable:
|
||||
+ *
|
||||
+ * // DREAM switches to STB control mode
|
||||
+ * // TV switches to TV control mode
|
||||
+ * // MODE toggles STB/TV/BT control modes
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+static struct rc_map_table dreambox[] = {
|
||||
+
|
||||
+ /* Dreambox RC10 remote */
|
||||
+
|
||||
+ { 0x3401, KEY_POWER },
|
||||
+
|
||||
+ // DREAM
|
||||
+ { 0x3426, KEY_HELP },
|
||||
+ // TV
|
||||
+
|
||||
+ { 0x3404, KEY_1 },
|
||||
+ { 0x3405, KEY_2 },
|
||||
+ { 0x3406, KEY_3 },
|
||||
+ { 0x3408, KEY_4 },
|
||||
+ { 0x3409, KEY_5 },
|
||||
+ { 0x340a, KEY_6 },
|
||||
+ { 0x340c, KEY_7 },
|
||||
+ { 0x340d, KEY_8 },
|
||||
+ { 0x340e, KEY_9 },
|
||||
+ { 0x340b, KEY_PREVIOUS },
|
||||
+ { 0x3410, KEY_0 },
|
||||
+ { 0x340f, KEY_NEXT },
|
||||
+
|
||||
+ { 0x341f, KEY_RED },
|
||||
+ { 0x3420, KEY_GREEN },
|
||||
+ { 0x3421, KEY_YELLOW },
|
||||
+ { 0x3422, KEY_BLUE },
|
||||
+
|
||||
+ { 0x341b, KEY_INFO },
|
||||
+ { 0x341c, KEY_MENU },
|
||||
+ { 0x3430, KEY_AUDIO },
|
||||
+ { 0x3431, KEY_PVR },
|
||||
+
|
||||
+ { 0x3414, KEY_LEFT },
|
||||
+ { 0x3411, KEY_UP },
|
||||
+ { 0x3416, KEY_RIGHT },
|
||||
+ { 0x3419, KEY_DOWN },
|
||||
+ { 0x3415, KEY_OK },
|
||||
+
|
||||
+ { 0x3413, KEY_VOLUMEUP },
|
||||
+ { 0x3418, KEY_VOLUMEDOWN },
|
||||
+
|
||||
+ { 0x3412, KEY_ESC }, // EXIT
|
||||
+ { 0x3407, KEY_MUTE },
|
||||
+
|
||||
+ { 0x3417, KEY_PAGEUP },
|
||||
+ { 0x341a, KEY_PAGEDOWN },
|
||||
+
|
||||
+ { 0x3432, KEY_PREVIOUSSONG },
|
||||
+ { 0x3433, KEY_PLAYPAUSE },
|
||||
+ { 0x3434, KEY_STOP },
|
||||
+ { 0x3435, KEY_NEXTSONG },
|
||||
+
|
||||
+ // TV
|
||||
+ // RADIO
|
||||
+ { 0x3425, KEY_TEXT },
|
||||
+ { 0x3436, KEY_RECORD },
|
||||
+
|
||||
+ /* Dreambox RC20/RC-BT */
|
||||
+
|
||||
+ { 0x321a, KEY_MUTE },
|
||||
+ // MODE
|
||||
+ /* Dreambox RC10/RC0/RCU-BT remote */
|
||||
+ { 0x3200, KEY_POWER },
|
||||
+
|
||||
+ { 0x3223, KEY_PREVIOUSSONG },
|
||||
+ { 0x3224, KEY_PLAYPAUSE },
|
||||
+ { 0x3226, KEY_NEXTSONG },
|
||||
+ // DREAM
|
||||
+ { 0x3290, KEY_HELP },
|
||||
+ // TV
|
||||
+
|
||||
+ { 0x322a, KEY_RECORD },
|
||||
+ { 0x3225, KEY_STOP },
|
||||
+ { 0x3229, KEY_TEXT },
|
||||
+ { 0x3201, KEY_1 },
|
||||
+ { 0x3202, KEY_2 },
|
||||
+ { 0x3203, KEY_3 },
|
||||
+ { 0x3204, KEY_4 },
|
||||
+ { 0x3205, KEY_5 },
|
||||
+ { 0x3206, KEY_6 },
|
||||
+ { 0x3207, KEY_7 },
|
||||
+ { 0x3208, KEY_8 },
|
||||
+ { 0x3209, KEY_9 },
|
||||
+ { 0x320a, KEY_PREVIOUS },
|
||||
+ { 0x320b, KEY_0 },
|
||||
+ { 0x320c, KEY_NEXT },
|
||||
+
|
||||
+ { 0x321f, KEY_RED },
|
||||
+ { 0x3220, KEY_GREEN },
|
||||
@ -152,24 +107,71 @@ index 000000000000..0ccbed367ea3
|
||||
+ { 0x321c, KEY_VOLUMEDOWN },
|
||||
+
|
||||
+ { 0x321d, KEY_ESC }, // EXIT
|
||||
+ { 0x3290, KEY_HELP },
|
||||
+ { 0x321a, KEY_MUTE },
|
||||
+
|
||||
+ { 0x321b, KEY_PAGEUP },
|
||||
+ { 0x321e, KEY_PAGEDOWN },
|
||||
+
|
||||
+ { 0x3201, KEY_1 },
|
||||
+ { 0x3202, KEY_2 },
|
||||
+ { 0x3203, KEY_3 },
|
||||
+ { 0x3204, KEY_4 },
|
||||
+ { 0x3205, KEY_5 },
|
||||
+ { 0x3206, KEY_6 },
|
||||
+ { 0x3207, KEY_7 },
|
||||
+ { 0x3208, KEY_8 },
|
||||
+ { 0x3209, KEY_9 },
|
||||
+ { 0x320a, KEY_PREVIOUS },
|
||||
+ { 0x320b, KEY_0 },
|
||||
+ { 0x320c, KEY_NEXT },
|
||||
+ { 0x3223, KEY_PREVIOUSSONG },
|
||||
+ { 0x3224, KEY_PLAYPAUSE },
|
||||
+ { 0x3225, KEY_STOP },
|
||||
+ { 0x3226, KEY_NEXTSONG },
|
||||
+
|
||||
+ { 0x3227, KEY_TV },
|
||||
+ { 0x3228, KEY_RADIO },
|
||||
+ { 0x3229, KEY_TEXT },
|
||||
+ { 0x322a, KEY_RECORD },
|
||||
+
|
||||
+ /* Dreambox RC20/RC-BT */
|
||||
+ { 0x3407, KEY_MUTE },
|
||||
+ // MODE
|
||||
+ { 0x3401, KEY_POWER },
|
||||
+
|
||||
+ { 0x3432, KEY_PREVIOUSSONG },
|
||||
+ { 0x3433, KEY_PLAYPAUSE },
|
||||
+ { 0x3435, KEY_NEXTSONG },
|
||||
+
|
||||
+ { 0x3436, KEY_RECORD },
|
||||
+ { 0x3434, KEY_STOP },
|
||||
+ { 0x3425, KEY_TEXT },
|
||||
+
|
||||
+ { 0x341f, KEY_RED },
|
||||
+ { 0x3420, KEY_GREEN },
|
||||
+ { 0x3421, KEY_YELLOW },
|
||||
+ { 0x3422, KEY_BLUE },
|
||||
+
|
||||
+ { 0x341b, KEY_INFO },
|
||||
+ { 0x341c, KEY_MENU },
|
||||
+ { 0x3430, KEY_AUDIO },
|
||||
+ { 0x3431, KEY_PVR },
|
||||
+
|
||||
+ { 0x3414, KEY_LEFT },
|
||||
+ { 0x3411, KEY_UP },
|
||||
+ { 0x3416, KEY_RIGHT },
|
||||
+ { 0x3419, KEY_DOWN },
|
||||
+ { 0x3415, KEY_OK },
|
||||
+
|
||||
+ { 0x3413, KEY_VOLUMEUP },
|
||||
+ { 0x3418, KEY_VOLUMEDOWN },
|
||||
+
|
||||
+ { 0x3412, KEY_ESC }, // EXIT
|
||||
+ { 0x3426, KEY_HELP }, // MIC
|
||||
+
|
||||
+ { 0x3417, KEY_PAGEUP },
|
||||
+ { 0x341a, KEY_PAGEDOWN },
|
||||
+
|
||||
+ { 0x3404, KEY_1 },
|
||||
+ { 0x3405, KEY_2 },
|
||||
+ { 0x3406, KEY_3 },
|
||||
+ { 0x3408, KEY_4 },
|
||||
+ { 0x3409, KEY_5 },
|
||||
+ { 0x340a, KEY_6 },
|
||||
+ { 0x340c, KEY_7 },
|
||||
+ { 0x340d, KEY_8 },
|
||||
+ { 0x340e, KEY_9 },
|
||||
+ { 0x340b, KEY_PREVIOUS },
|
||||
+ { 0x3410, KEY_0 },
|
||||
+ { 0x340f, KEY_NEXT },
|
||||
+};
|
||||
+
|
||||
+static struct rc_map_list dreambox_map = {
|
||||
@ -197,10 +199,10 @@ index 000000000000..0ccbed367ea3
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_AUTHOR("Emanuel Strobel <emanuel.strobel@yahoo.com>");
|
||||
diff --git a/include/media/rc-map.h b/include/media/rc-map.h
|
||||
index 43d254930daa..dadd4d27a760 100644
|
||||
index 793b54342dff..94ee968d4722 100644
|
||||
--- a/include/media/rc-map.h
|
||||
+++ b/include/media/rc-map.h
|
||||
@@ -242,6 +242,7 @@ struct rc_map *rc_map_get(const char *name);
|
||||
@@ -241,6 +241,7 @@ struct rc_map *rc_map_get(const char *name);
|
||||
#define RC_MAP_DM1105_NEC "rc-dm1105-nec"
|
||||
#define RC_MAP_DNTV_LIVE_DVB_T "rc-dntv-live-dvb-t"
|
||||
#define RC_MAP_DNTV_LIVE_DVBT_PRO "rc-dntv-live-dvbt-pro"
|
28
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0055-FROMLIST-v2-dt-bindings-media-rc-add-rc-beelink-mxii.patch
Normal file
28
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0055-FROMLIST-v2-dt-bindings-media-rc-add-rc-beelink-mxii.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From 9a0008048a5647e0e530a9cb91d7aad6d15dcc1d Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sat, 4 Feb 2023 06:42:20 +0000
|
||||
Subject: [PATCH 055/111] FROMLIST(v2): dt-bindings: media: rc: add
|
||||
rc-beelink-mxiii
|
||||
|
||||
Add a binding for the rc-beelink-mxiii remote keymap
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
Documentation/devicetree/bindings/media/rc.yaml | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml
|
||||
index e7d2ae5a7eb9..deeda4bb8dae 100644
|
||||
--- a/Documentation/devicetree/bindings/media/rc.yaml
|
||||
+++ b/Documentation/devicetree/bindings/media/rc.yaml
|
||||
@@ -39,6 +39,7 @@ properties:
|
||||
- rc-avertv-303
|
||||
- rc-azurewave-ad-tu700
|
||||
- rc-beelink-gs1
|
||||
+ - rc-beelink-mxiii
|
||||
- rc-behold
|
||||
- rc-behold-columbus
|
||||
- rc-budget-ci-old
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,35 +1,22 @@
|
||||
From f228cf6645db4c58217f1d8e763e09133d44a25b Mon Sep 17 00:00:00 2001
|
||||
From a0fe1da807693e90c1ebb1f1eeeef40e85da3f4f Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 8 Dec 2021 15:33:47 +0000
|
||||
Subject: [PATCH 63/92] WIP: media: rc: add keymap for Beelink Mini MXIII
|
||||
remote
|
||||
Subject: [PATCH 056/111] FROMLIST(v2): media: rc: add Beelink Mini MXIII
|
||||
keymap
|
||||
|
||||
Add a keymap and bindings for the simple IR (NEC) remote used with
|
||||
the Beelink Mini MXIII Android STB device.
|
||||
Add a keymap for the simple IR (NEC) remote used with the Beelink
|
||||
Mini MXIII Android STB device.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
.../devicetree/bindings/media/rc.yaml | 1 +
|
||||
drivers/media/rc/keymaps/Makefile | 1 +
|
||||
drivers/media/rc/keymaps/rc-beelink-mxiii.c | 54 +++++++++++++++++++
|
||||
drivers/media/rc/keymaps/rc-beelink-mxiii.c | 57 +++++++++++++++++++++
|
||||
include/media/rc-map.h | 1 +
|
||||
4 files changed, 57 insertions(+)
|
||||
3 files changed, 59 insertions(+)
|
||||
create mode 100644 drivers/media/rc/keymaps/rc-beelink-mxiii.c
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml
|
||||
index e732b7f3a635..4f53fea766c6 100644
|
||||
--- a/Documentation/devicetree/bindings/media/rc.yaml
|
||||
+++ b/Documentation/devicetree/bindings/media/rc.yaml
|
||||
@@ -39,6 +39,7 @@ properties:
|
||||
- rc-avertv-303
|
||||
- rc-azurewave-ad-tu700
|
||||
- rc-beelink-gs1
|
||||
+ - rc-beelink-mxiii
|
||||
- rc-behold
|
||||
- rc-behold-columbus
|
||||
- rc-budget-ci-old
|
||||
diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile
|
||||
index f513ff5caf4e..f3bf9878d72c 100644
|
||||
index 6931c89fca99..f19558fdab0c 100644
|
||||
--- a/drivers/media/rc/keymaps/Makefile
|
||||
+++ b/drivers/media/rc/keymaps/Makefile
|
||||
@@ -22,6 +22,7 @@ obj-$(CONFIG_RC_MAP) += \
|
||||
@ -42,20 +29,23 @@ index f513ff5caf4e..f3bf9878d72c 100644
|
||||
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
|
||||
index 000000000000..09b77295e0a3
|
||||
index 000000000000..01180cd92205
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/rc/keymaps/rc-beelink-mxiii.c
|
||||
@@ -0,0 +1,54 @@
|
||||
@@ -0,0 +1,57 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+//
|
||||
+// Copyright (C) 2019 Christian Hewitt <christianshewitt@gmail.com>
|
||||
+/*
|
||||
+ * Copyright (C) 2019 Christian Hewitt <christianshewitt@gmail.com>
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include <media/rc-map.h>
|
||||
+#include <linux/module.h>
|
||||
+
|
||||
+//
|
||||
+// Keytable for the Beelink Mini MXIII remote control
|
||||
+//
|
||||
+/*
|
||||
+ * Keytable for the Beelink Mini MXIII remote control
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+static struct rc_map_table beelink_mxiii[] = {
|
||||
+ { 0xb2dc, KEY_POWER },
|
||||
@ -101,7 +91,7 @@ index 000000000000..09b77295e0a3
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_AUTHOR("Christian Hewitt <christianshewitt@gmail.com");
|
||||
diff --git a/include/media/rc-map.h b/include/media/rc-map.h
|
||||
index 793b54342dff..e4ddb3586d05 100644
|
||||
index 94ee968d4722..4676545ffd8f 100644
|
||||
--- a/include/media/rc-map.h
|
||||
+++ b/include/media/rc-map.h
|
||||
@@ -225,6 +225,7 @@ struct rc_map *rc_map_get(const char *name);
|
38
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0057-FROMLIST-v1-net-phy-meson-gxl-use-MMD-access-dummy-s.patch
Normal file
38
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0057-FROMLIST-v1-net-phy-meson-gxl-use-MMD-access-dummy-s.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From a4e31b98108590466745bb7c5bd770fd504b82a8 Mon Sep 17 00:00:00 2001
|
||||
From: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Date: Tue, 31 Jan 2023 22:03:21 +0100
|
||||
Subject: [PATCH 057/111] FROMLIST(v1): net: phy: meson-gxl: use MMD access
|
||||
dummy stubs for GXL, internal PHY
|
||||
|
||||
Jerome provided the information that also the GXL internal PHY doesn't
|
||||
support MMD register access and EEE. MMD reads return 0xffff, what
|
||||
results in e.g. completely wrong ethtool --show-eee output.
|
||||
Therefore use the MMD dummy stubs.
|
||||
|
||||
Note: The Fixes tag references the commit that added the MMD dummy
|
||||
access stubs.
|
||||
|
||||
Fixes: 5df7af85ecd8 ("net: phy: Add general dummy stubs for MMD register access")
|
||||
Suggested-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Reviewed-by: Chris Healy <healych@amazon.com>
|
||||
---
|
||||
drivers/net/phy/meson-gxl.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/phy/meson-gxl.c b/drivers/net/phy/meson-gxl.c
|
||||
index 5e41658b1e2f..a6015cd03bff 100644
|
||||
--- a/drivers/net/phy/meson-gxl.c
|
||||
+++ b/drivers/net/phy/meson-gxl.c
|
||||
@@ -261,6 +261,8 @@ static struct phy_driver meson_gxl_phy[] = {
|
||||
.handle_interrupt = meson_gxl_handle_interrupt,
|
||||
.suspend = genphy_suspend,
|
||||
.resume = genphy_resume,
|
||||
+ .read_mmd = genphy_read_mmd_unsupported,
|
||||
+ .write_mmd = genphy_write_mmd_unsupported,
|
||||
}, {
|
||||
PHY_ID_MATCH_EXACT(0x01803301),
|
||||
.name = "Meson G12A Internal PHY",
|
||||
--
|
||||
2.34.1
|
||||
|
49
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0058-FROMLIST-v1-arm64-dts-meson-axg-Make-mmc-host-contro.patch
Normal file
49
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0058-FROMLIST-v1-arm64-dts-meson-axg-Make-mmc-host-contro.patch
Normal file
@ -0,0 +1,49 @@
|
||||
From 4ef9075d2d7f134c858be4e55452fdc237bac08d Mon Sep 17 00:00:00 2001
|
||||
From: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Date: Thu, 9 Feb 2023 21:10:31 +0100
|
||||
Subject: [PATCH 058/111] FROMLIST(v1): arm64: dts: meson-axg: Make mmc host
|
||||
controller interrupts level-sensitive
|
||||
|
||||
The usage of edge-triggered interrupts lead to lost interrupts under load,
|
||||
see [0]. This was confirmed to be fixed by using level-triggered
|
||||
interrupts.
|
||||
The report was about SDIO. However, as the host controller is the same
|
||||
for SD and MMC, apply the change to all mmc controller instances.
|
||||
|
||||
[0] https://www.spinics.net/lists/linux-mmc/msg73991.html
|
||||
|
||||
Fixes: 221cf34bac54 ("ARM64: dts: meson-axg: enable the eMMC controller")
|
||||
Reported-by: Peter Suti <peter.suti@streamunlimited.com>
|
||||
Tested-by: Vyacheslav Bocharov <adeep@lexina.in>
|
||||
Tested-by: Peter Suti <peter.suti@streamunlimited.com>
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
|
||||
index 04f797b5a012..73cd1791a13f 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
|
||||
@@ -1885,7 +1885,7 @@ apb: bus@ffe00000 {
|
||||
sd_emmc_b: sd@5000 {
|
||||
compatible = "amlogic,meson-axg-mmc";
|
||||
reg = <0x0 0x5000 0x0 0x800>;
|
||||
- interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
|
||||
+ interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
clocks = <&clkc CLKID_SD_EMMC_B>,
|
||||
<&clkc CLKID_SD_EMMC_B_CLK0>,
|
||||
@@ -1897,7 +1897,7 @@ sd_emmc_b: sd@5000 {
|
||||
sd_emmc_c: mmc@7000 {
|
||||
compatible = "amlogic,meson-axg-mmc";
|
||||
reg = <0x0 0x7000 0x0 0x800>;
|
||||
- interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
|
||||
+ interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
clocks = <&clkc CLKID_SD_EMMC_C>,
|
||||
<&clkc CLKID_SD_EMMC_C_CLK0>,
|
||||
--
|
||||
2.34.1
|
||||
|
58
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0059-FROMLIST-v1-arm64-dts-meson-g12-common-Make-mmc-host.patch
Normal file
58
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0059-FROMLIST-v1-arm64-dts-meson-g12-common-Make-mmc-host.patch
Normal file
@ -0,0 +1,58 @@
|
||||
From ea7ed9bb24f2f21b7cbe477987ef3594a2c9f03a Mon Sep 17 00:00:00 2001
|
||||
From: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Date: Thu, 9 Feb 2023 21:11:10 +0100
|
||||
Subject: [PATCH 059/111] FROMLIST(v1): arm64: dts: meson-g12-common: Make mmc
|
||||
host controller interrupts level-sensitive
|
||||
|
||||
The usage of edge-triggered interrupts lead to lost interrupts under load,
|
||||
see [0]. This was confirmed to be fixed by using level-triggered
|
||||
interrupts.
|
||||
The report was about SDIO. However, as the host controller is the same
|
||||
for SD and MMC, apply the change to all mmc controller instances.
|
||||
|
||||
[0] https://www.spinics.net/lists/linux-mmc/msg73991.html
|
||||
|
||||
Fixes: 4759fd87b928 ("arm64: dts: meson: g12a: add mmc nodes")
|
||||
Tested-by: FUKAUMI Naoki <naoki@radxa.com>
|
||||
Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
||||
Tested-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
index 6841e1909250..749d5b3e3554 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
@@ -2318,7 +2318,7 @@ uart_A: serial@24000 {
|
||||
sd_emmc_a: sd@ffe03000 {
|
||||
compatible = "amlogic,meson-axg-mmc";
|
||||
reg = <0x0 0xffe03000 0x0 0x800>;
|
||||
- interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>;
|
||||
+ interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
clocks = <&clkc CLKID_SD_EMMC_A>,
|
||||
<&clkc CLKID_SD_EMMC_A_CLK0>,
|
||||
@@ -2330,7 +2330,7 @@ sd_emmc_a: sd@ffe03000 {
|
||||
sd_emmc_b: sd@ffe05000 {
|
||||
compatible = "amlogic,meson-axg-mmc";
|
||||
reg = <0x0 0xffe05000 0x0 0x800>;
|
||||
- interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
|
||||
+ interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
clocks = <&clkc CLKID_SD_EMMC_B>,
|
||||
<&clkc CLKID_SD_EMMC_B_CLK0>,
|
||||
@@ -2342,7 +2342,7 @@ sd_emmc_b: sd@ffe05000 {
|
||||
sd_emmc_c: mmc@ffe07000 {
|
||||
compatible = "amlogic,meson-axg-mmc";
|
||||
reg = <0x0 0xffe07000 0x0 0x800>;
|
||||
- interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>;
|
||||
+ interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
clocks = <&clkc CLKID_SD_EMMC_C>,
|
||||
<&clkc CLKID_SD_EMMC_C_CLK0>,
|
||||
--
|
||||
2.34.1
|
||||
|
53
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0060-FROMLIST-v1-arm64-dts-meson-gx-Make-mmc-host-control.patch
Normal file
53
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0060-FROMLIST-v1-arm64-dts-meson-gx-Make-mmc-host-control.patch
Normal file
@ -0,0 +1,53 @@
|
||||
From 67322e7c3e95cc2ff9d90cc446b2d9364e60fdad Mon Sep 17 00:00:00 2001
|
||||
From: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Date: Thu, 9 Feb 2023 21:11:47 +0100
|
||||
Subject: [PATCH 060/111] FROMLIST(v1): arm64: dts: meson-gx: Make mmc host
|
||||
controller interrupts level-sensitive
|
||||
|
||||
The usage of edge-triggered interrupts lead to lost interrupts under load,
|
||||
see [0]. This was confirmed to be fixed by using level-triggered
|
||||
interrupts.
|
||||
The report was about SDIO. However, as the host controller is the same
|
||||
for SD and MMC, apply the change to all mmc controller instances.
|
||||
|
||||
[0] https://www.spinics.net/lists/linux-mmc/msg73991.html
|
||||
|
||||
Fixes: ef8d2ffedf18 ("ARM64: dts: meson-gxbb: add MMC support")
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
|
||||
index b278a8380f8a..b8e43b406cec 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
|
||||
@@ -611,21 +611,21 @@ apb: apb@d0000000 {
|
||||
sd_emmc_a: mmc@70000 {
|
||||
compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
|
||||
reg = <0x0 0x70000 0x0 0x800>;
|
||||
- interrupts = <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>;
|
||||
+ interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sd_emmc_b: mmc@72000 {
|
||||
compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
|
||||
reg = <0x0 0x72000 0x0 0x800>;
|
||||
- interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
|
||||
+ interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sd_emmc_c: mmc@74000 {
|
||||
compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
|
||||
reg = <0x0 0x74000 0x0 0x800>;
|
||||
- interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
|
||||
+ interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
34
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0061-FROMLIST-v1-drm-meson-meson_venc-Relax-the-supported.patch
Normal file
34
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0061-FROMLIST-v1-drm-meson-meson_venc-Relax-the-supported.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From 0e0cb2bd55ab48a127ecb221937543bb7b8a7896 Mon Sep 17 00:00:00 2001
|
||||
From: Carlo Caione <ccaione@baylibre.com>
|
||||
Date: Fri, 10 Feb 2023 11:55:34 +0100
|
||||
Subject: [PATCH 061/111] FROMLIST(v1): drm/meson/meson_venc: Relax the
|
||||
supported mode checks
|
||||
|
||||
Relax a bit the supported modes list by including also 480x1920. This
|
||||
was actually tested on real hardware and it works correctly.
|
||||
|
||||
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
|
||||
---
|
||||
drivers/gpu/drm/meson/meson_venc.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c
|
||||
index 3c55ed003359..5b3621589a9f 100644
|
||||
--- a/drivers/gpu/drm/meson/meson_venc.c
|
||||
+++ b/drivers/gpu/drm/meson/meson_venc.c
|
||||
@@ -866,10 +866,10 @@ meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode)
|
||||
DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_NVSYNC))
|
||||
return MODE_BAD;
|
||||
|
||||
- if (mode->hdisplay < 640 || mode->hdisplay > 1920)
|
||||
+ if (mode->hdisplay < 480 || mode->hdisplay > 1920)
|
||||
return MODE_BAD_HVALUE;
|
||||
|
||||
- if (mode->vdisplay < 480 || mode->vdisplay > 1200)
|
||||
+ if (mode->vdisplay < 480 || mode->vdisplay > 1920)
|
||||
return MODE_BAD_VVALUE;
|
||||
|
||||
return MODE_OK;
|
||||
--
|
||||
2.34.1
|
||||
|
88
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0062-FROMLIST-v2-arm64-dts-meson-gxbb-kii-pro-sort-and-ti.patch
Normal file
88
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0062-FROMLIST-v2-arm64-dts-meson-gxbb-kii-pro-sort-and-ti.patch
Normal file
@ -0,0 +1,88 @@
|
||||
From 65e2378a8aeb278caa69582245cbeead137787e3 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 10 Feb 2023 02:16:12 +0000
|
||||
Subject: [PATCH 062/111] FROMLIST(v2): arm64: dts: meson: gxbb-kii-pro: sort
|
||||
and tidy the dts
|
||||
|
||||
Alpha-sort the nodes, move the default line in the LED node to where it's
|
||||
normally found, and remove excess spacing. No functional changes.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Tested-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
|
||||
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
|
||||
---
|
||||
.../boot/dts/amlogic/meson-gxbb-kii-pro.dts | 32 ++++++++-----------
|
||||
1 file changed, 14 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
|
||||
index 6d8cc00fedc7..9bfdb54d912a 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
|
||||
@@ -6,21 +6,22 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "meson-gxbb-p20x.dtsi"
|
||||
-
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
+
|
||||
/ {
|
||||
compatible = "videostrong,kii-pro", "amlogic,meson-gxbb";
|
||||
model = "Videostrong KII Pro";
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
+
|
||||
status {
|
||||
gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>;
|
||||
- default-state = "off";
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
+ default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -34,24 +35,8 @@ button-reset {
|
||||
gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
-
|
||||
-};
|
||||
-
|
||||
-
|
||||
-
|
||||
-&uart_A {
|
||||
- status = "okay";
|
||||
- pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
|
||||
- pinctrl-names = "default";
|
||||
- uart-has-rtscts;
|
||||
-
|
||||
- bluetooth {
|
||||
- compatible = "brcm,bcm4335a0";
|
||||
- };
|
||||
};
|
||||
|
||||
-
|
||||
-
|
||||
ðmac {
|
||||
status = "okay";
|
||||
pinctrl-0 = <ð_rmii_pins>;
|
||||
@@ -78,3 +63,14 @@ eth_phy0: ethernet-phy@0 {
|
||||
&ir {
|
||||
linux,rc-map-name = "rc-videostrong-kii-pro";
|
||||
};
|
||||
+
|
||||
+&uart_A {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ uart-has-rtscts;
|
||||
+
|
||||
+ bluetooth {
|
||||
+ compatible = "brcm,bcm4335a0";
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.34.1
|
||||
|
34
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0063-FROMLIST-v2-arm64-dts-meson-gxbb-kii-pro-complete-th.patch
Normal file
34
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0063-FROMLIST-v2-arm64-dts-meson-gxbb-kii-pro-complete-th.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From 234a08e2ea0f891bd5db2afa2cc608eb868f3995 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 10 Feb 2023 02:21:08 +0000
|
||||
Subject: [PATCH 063/111] FROMLIST(v2): arm64: dts: meson: gxbb-kii-pro:
|
||||
complete the bluetooth node
|
||||
|
||||
Add missing content to the bluetooth node to align it with the content
|
||||
used in (all) other GXBB dts files.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Tested-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
|
||||
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
|
||||
---
|
||||
arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
|
||||
index 9bfdb54d912a..435ae2aa404e 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
|
||||
@@ -72,5 +72,10 @@ &uart_A {
|
||||
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm4335a0";
|
||||
+ shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>;
|
||||
+ host-wakeup-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>;
|
||||
+ max-speed = <2000000>;
|
||||
+ clocks = <&wifi32k>;
|
||||
+ clock-names = "lpo";
|
||||
};
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
101
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0064-FROMLIST-v2-arm64-dts-meson-gxbb-kii-pro-add-initial.patch
Normal file
101
projects/Amlogic/devices/AMLGX/patches/linux/amlogic-0064-FROMLIST-v2-arm64-dts-meson-gxbb-kii-pro-add-initial.patch
Normal file
@ -0,0 +1,101 @@
|
||||
From a1b4579c41ff75c11a4a904500a8cacdff11549f Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 10 Feb 2023 02:29:00 +0000
|
||||
Subject: [PATCH 064/111] FROMLIST(v2): arm64: dts: meson: gxbb-kii-pro: add
|
||||
initial audio support
|
||||
|
||||
Add initial support for HDMI and S/PDIF audio output.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Tested-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
|
||||
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
|
||||
---
|
||||
.../boot/dts/amlogic/meson-gxbb-kii-pro.dts | 60 +++++++++++++++++++
|
||||
1 file changed, 60 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
|
||||
index 435ae2aa404e..a09340e9f73a 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
|
||||
@@ -9,11 +9,19 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
+#include <dt-bindings/sound/meson-aiu.h>
|
||||
|
||||
/ {
|
||||
compatible = "videostrong,kii-pro", "amlogic,meson-gxbb";
|
||||
model = "Videostrong KII Pro";
|
||||
|
||||
+ spdif_dit: audio-codec-0 {
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ compatible = "linux,spdif-dit";
|
||||
+ status = "okay";
|
||||
+ sound-name-prefix = "DIT";
|
||||
+ };
|
||||
+
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@@ -35,6 +43,58 @@ button-reset {
|
||||
gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
+
|
||||
+ sound {
|
||||
+ compatible = "amlogic,gx-sound-card";
|
||||
+ model = "KII-PRO";
|
||||
+ assigned-clocks = <&clkc CLKID_MPLL0>,
|
||||
+ <&clkc CLKID_MPLL1>,
|
||||
+ <&clkc CLKID_MPLL2>;
|
||||
+ assigned-clock-parents = <0>, <0>, <0>;
|
||||
+ assigned-clock-rates = <294912000>,
|
||||
+ <270950400>,
|
||||
+ <393216000>;
|
||||
+
|
||||
+ dai-link-0 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-1 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-2 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
|
||||
+ dai-format = "i2s";
|
||||
+ mclk-fs = <256>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ dai-link-3 {
|
||||
+ sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&spdif_dit>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ dai-link-4 {
|
||||
+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&hdmi_tx>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&aiu {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&spdif_out_y_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
};
|
||||
|
||||
ðmac {
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 0990c81824f144c0182c2f9496b6871900660289 Mon Sep 17 00:00:00 2001
|
||||
From 43ec52b9d17ab542bef9b3192a5512221068209f Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Thu, 5 Jan 2023 15:16:46 +0000
|
||||
Subject: [PATCH 48/92] WIP: drivers: meson: vdec: disable MPEG1/MPEG2 hardware
|
||||
Subject: [PATCH 065/111] WIP: media: meson: vdec: disable MPEG1/MPEG2 hardware
|
||||
decoding
|
||||
|
||||
The MPEG1/2 decoder is broken and nobody has volunteered to poke
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
1 file changed, 110 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/media/meson/vdec/vdec_platform.c b/drivers/staging/media/meson/vdec/vdec_platform.c
|
||||
index 810039a02b44..c1ffe04d3b2c 100644
|
||||
index ea2aa0e8cf0b..1c0d188929dc 100644
|
||||
--- a/drivers/staging/media/meson/vdec/vdec_platform.c
|
||||
+++ b/drivers/staging/media/meson/vdec/vdec_platform.c
|
||||
@@ -39,28 +39,6 @@ static const struct amvdec_format vdec_formats_gxbb[] = {
|
||||
@ -105,7 +105,7 @@ index 810039a02b44..c1ffe04d3b2c 100644
|
||||
},
|
||||
};
|
||||
|
||||
@@ -225,28 +159,6 @@ static const struct amvdec_format vdec_formats_g12a[] = {
|
||||
@@ -213,28 +147,6 @@ static const struct amvdec_format vdec_formats_g12a[] = {
|
||||
.pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
|
||||
.flags = V4L2_FMT_FLAG_COMPRESSED |
|
||||
V4L2_FMT_FLAG_DYN_RESOLUTION,
|
||||
@ -134,7 +134,7 @@ index 810039a02b44..c1ffe04d3b2c 100644
|
||||
},
|
||||
};
|
||||
|
||||
@@ -287,28 +199,6 @@ static const struct amvdec_format vdec_formats_sm1[] = {
|
||||
@@ -263,28 +175,6 @@ static const struct amvdec_format vdec_formats_sm1[] = {
|
||||
.pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
|
||||
.flags = V4L2_FMT_FLAG_COMPRESSED |
|
||||
V4L2_FMT_FLAG_DYN_RESOLUTION,
|
@ -1,7 +1,7 @@
|
||||
From 83bcc4cb433a445d281844fc35eb09c5f7b34a62 Mon Sep 17 00:00:00 2001
|
||||
From 97cc891c6c0b572437523ad6eb253340be4a4ddb Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Tue, 18 Jan 2022 15:09:12 +0000
|
||||
Subject: [PATCH 38/92] WIP: arm64: dts: meson: set p212/p23x/q20x SDIO to
|
||||
Subject: [PATCH 066/111] WIP: arm64: dts: meson: set p212/p23x/q20x SDIO to
|
||||
100MHz
|
||||
|
||||
Amlogic datasheets describe 50MHz max-frequency for SDIO on GXL/GXM but
|
@ -1,7 +1,7 @@
|
||||
From 1093ac36e96e54222564186a00bef5442e67c7b8 Mon Sep 17 00:00:00 2001
|
||||
From b9788f09d5ccb7e4ec6d157d1fc61ad6020a5d80 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 19 Jan 2022 06:45:06 +0000
|
||||
Subject: [PATCH 39/92] WIP: arm64: dts: meson: add UHS SDIO capabilities to
|
||||
Subject: [PATCH 067/111] WIP: arm64: dts: meson: add UHS SDIO capabilities to
|
||||
p212/p23x/q20x
|
||||
|
||||
Add UHS capabilities to the SDIO node to enable 100MHz speeds.
|
@ -1,7 +1,7 @@
|
||||
From 957338182bd6312a2644ba67d43a33fccedaf4a7 Mon Sep 17 00:00:00 2001
|
||||
From d12a805ed4d64c4ea05f61a24cb33dcd2d389a4a Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Tue, 18 Jan 2022 15:18:32 +0000
|
||||
Subject: [PATCH 40/92] WIP: arm64: dts: meson: remove SDIO node from Khadas
|
||||
Subject: [PATCH 068/111] WIP: arm64: dts: meson: remove SDIO node from Khadas
|
||||
VIM1
|
||||
|
||||
Now that SDIO 100MHz max-frequency is inherited from the p212 dtsi we
|
@ -1,7 +1,7 @@
|
||||
From 1a3ee4cb5ea27bd9594133196599b8a9142f860b Mon Sep 17 00:00:00 2001
|
||||
From 03c36c6fa06ada1585e41cf58f96915795eb6389 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 15 May 2020 07:52:47 +0000
|
||||
Subject: [PATCH 53/92] WIP: arm64: dts: meson: add audio playback to p201
|
||||
Subject: [PATCH 069/111] WIP: arm64: dts: meson: add audio playback to p201
|
||||
|
||||
Add initial audio support limited to HDMI i2s.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 888a7c084900b84b1730f3f550dce896ac524426 Mon Sep 17 00:00:00 2001
|
||||
From 8b691fc20b8c4a4b1fc9ab820300ff442f1ac60c Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 15 May 2020 07:56:15 +0000
|
||||
Subject: [PATCH 54/92] WIP: arm64: dts: meson: add audio playback to p200
|
||||
Subject: [PATCH 070/111] WIP: arm64: dts: meson: add audio playback to p200
|
||||
|
||||
Add initial support limited to HDMI i2s and SPDIF (LPCM).
|
||||
|
@ -1,7 +1,7 @@
|
||||
From c8effdc08eca825a89ab022b9e4873c8d2d8bfce Mon Sep 17 00:00:00 2001
|
||||
From f33d261b05bca837d107bd982eb1b2adc340fe10 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sun, 17 May 2020 05:00:55 +0000
|
||||
Subject: [PATCH 55/92] WIP: arm64: dts: meson: add audio playback to u200
|
||||
Subject: [PATCH 071/111] WIP: arm64: dts: meson: add audio playback to u200
|
||||
|
||||
Add initial support limited to HDMI i2s and SPDIF (LPCM).
|
||||
|
@ -1,8 +1,8 @@
|
||||
From c6513a896b55e08bd20dfa90cc6d007866a852f1 Mon Sep 17 00:00:00 2001
|
||||
From 2766a02ccf4d6c74527dc9b8db52633b938bf1e4 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sat, 27 Nov 2021 13:50:06 +0000
|
||||
Subject: [PATCH 56/92] WIP: arm64: dts: meson: add Headphone output to Beelink
|
||||
GT-King
|
||||
Subject: [PATCH 072/111] WIP: arm64: dts: meson: add Headphone output to
|
||||
Beelink GT-King
|
||||
|
||||
Add support for the Headphone audio DAC built-in to the S922X chip.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 49a971c963c99fade69e9f2266e7567a3071acd6 Mon Sep 17 00:00:00 2001
|
||||
From 266a3495aa60d1b60baf5d0d9a7ff9172897d9b5 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sat, 29 Feb 2020 15:13:02 +0000
|
||||
Subject: [PATCH 57/92] WIP: dt-bindings: arm: amlogic: add support for the
|
||||
Subject: [PATCH 073/111] 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 <christianshewitt@gmail.com>
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
index cf81dc06df2e..e8b9fc4eb8a6 100644
|
||||
index 7ded40b309a4..940fda576809 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -146,6 +146,7 @@ properties:
|
@ -1,7 +1,7 @@
|
||||
From ce597f5f290d4452403311a6a01f89ed19b7d71d Mon Sep 17 00:00:00 2001
|
||||
From 7117e6d0e474ec77a6f23b2a541b3f8f083f6881 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sun, 20 Oct 2019 04:06:59 +0000
|
||||
Subject: [PATCH 58/92] WIP: arm64: dts: meson: add support for the Tanix TX5
|
||||
Subject: [PATCH 074/111] WIP: arm64: dts: meson: add support for the Tanix TX5
|
||||
Max
|
||||
|
||||
The Tanix TX5 Max is based on the Amlogic U200 reference design
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
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 4aa1aa0e22a8..249f0923b4cc 100644
|
||||
index 5d5ec22a469e..a69bd3a4769f 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j110-rev-3.dtb
|
@ -1,7 +1,7 @@
|
||||
From 09b8dcfeb45c42812cab811f99b808bc8207ce45 Mon Sep 17 00:00:00 2001
|
||||
From 408001e0cb0a593d827a0fbc662cab4a51b02437 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Mon, 21 Oct 2019 03:58:06 +0000
|
||||
Subject: [PATCH 59/92] WIP: arm64: dts: meson: add multiple MeCool device
|
||||
Subject: [PATCH 075/111] WIP: arm64: dts: meson: add multiple MeCool device
|
||||
trees
|
||||
|
||||
This adds initial device trees for a range of MeCool devices based on various
|
||||
@ -25,7 +25,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
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 249f0923b4cc..4239aad5686e 100644
|
||||
index a69bd3a4769f..791c6ff9f121 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -19,6 +19,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb
|
@ -1,7 +1,7 @@
|
||||
From f8d9d1c6c3a661b405bab2aff3ff88b8974c02a4 Mon Sep 17 00:00:00 2001
|
||||
From c6b189846236a70302987cd56e986d8b78026024 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sun, 11 Apr 2021 05:50:13 +0000
|
||||
Subject: [PATCH 60/92] WIP: dt-bindings: arm: amlogic: add support for Minix
|
||||
Subject: [PATCH 076/111] 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 <christianshewitt@gmail.com>
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
index e8b9fc4eb8a6..275d3fcd7366 100644
|
||||
index 940fda576809..dfdf6c42ea47 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -58,6 +58,7 @@ properties:
|
@ -1,7 +1,7 @@
|
||||
From a189ef3f25cdf625bef9984253c2125349122867 Mon Sep 17 00:00:00 2001
|
||||
From 101a607a87c7d46f6880990259c35e5610b3fc57 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sun, 11 Apr 2021 05:52:14 +0000
|
||||
Subject: [PATCH 61/92] WIP: arm64: dts: meson: add initial device-tree for
|
||||
Subject: [PATCH 077/111] 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,7 +30,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
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 4239aad5686e..72f8d27e63e4 100644
|
||||
index 791c6ff9f121..f5f17f2f0fc2 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -21,6 +21,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb
|
@ -1,8 +1,8 @@
|
||||
From 3867c618f355daf842e6bb3a2b121213b8cd2605 Mon Sep 17 00:00:00 2001
|
||||
From 6ee8e73b9be15ad7e88cc8588ec1802b3f7e9c94 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 19 Aug 2022 21:32:21 +0000
|
||||
Subject: [PATCH 62/92] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Minix
|
||||
NEO-U1
|
||||
Subject: [PATCH 078/111] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
|
||||
Minix NEO-U1
|
||||
|
||||
Add node aliases to prevent meson-vrtc from claiming /dev/rtc0
|
||||
|
@ -1,8 +1,8 @@
|
||||
From d23c3fbbae77767a676c25c6f45674db1b021c53 Mon Sep 17 00:00:00 2001
|
||||
From a480b81545e0eee9fc677f4723544939c30eb827 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 8 Dec 2021 15:28:50 +0000
|
||||
Subject: [PATCH 64/92] WIP: dt-bindings: arm: amlogic: add support for Beelink
|
||||
Mini MXIII
|
||||
Subject: [PATCH 079/111] WIP: dt-bindings: arm: amlogic: add support for
|
||||
Beelink Mini MXIII
|
||||
|
||||
The Beelink Mini MXIII is an Android STB based on the Amlogic P200
|
||||
(GXBB) reference design with an S905 chip.
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
index 275d3fcd7366..68b21500a620 100644
|
||||
index dfdf6c42ea47..70cb580f8b7e 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -56,6 +56,7 @@ properties:
|
@ -1,7 +1,7 @@
|
||||
From 38209ac02c1c97a58bb8d3c9861fe718e0d1b731 Mon Sep 17 00:00:00 2001
|
||||
From 73a08273ebb74b7df8d787fe8aa1eb049777659b Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Wed, 8 Dec 2021 15:26:00 +0000
|
||||
Subject: [PATCH 65/92] WIP: arm64: dts: meson: add support for Beelink Mini
|
||||
Subject: [PATCH 080/111] WIP: arm64: dts: meson: add support for Beelink Mini
|
||||
MXIII
|
||||
|
||||
This is a GXBB board that ships in two variants, one with
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
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 72f8d27e63e4..fad2df44475a 100644
|
||||
index f5f17f2f0fc2..b7d7cb46b70a 100644
|
||||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -19,6 +19,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb
|
@ -1,7 +1,8 @@
|
||||
From 4193b220c01c63ace1e117133388f5e13a2365d0 Mon Sep 17 00:00:00 2001
|
||||
From 015633ca12f7ddea34c5fabfdadc38941105d24e Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sun, 16 Jan 2022 08:48:02 +0000
|
||||
Subject: [PATCH 66/92] WIP: media: rc: add keymap for MeCool M8S Pro W remote
|
||||
Subject: [PATCH 081/111] 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.
|
||||
@ -16,10 +17,10 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
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
|
||||
index 4f53fea766c6..6578a2328ec5 100644
|
||||
index deeda4bb8dae..37583861376e 100644
|
||||
--- a/Documentation/devicetree/bindings/media/rc.yaml
|
||||
+++ b/Documentation/devicetree/bindings/media/rc.yaml
|
||||
@@ -94,6 +94,7 @@ properties:
|
||||
@@ -95,6 +95,7 @@ properties:
|
||||
- rc-manli
|
||||
- rc-mecool-kii-pro
|
||||
- rc-mecool-kiii-pro
|
||||
@ -28,10 +29,10 @@ index 4f53fea766c6..6578a2328ec5 100644
|
||||
- rc-medion-x10-digitainer
|
||||
- rc-medion-x10-or2x
|
||||
diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile
|
||||
index f3bf9878d72c..ef48a6bbeca4 100644
|
||||
index f19558fdab0c..f1fba08d8ed4 100644
|
||||
--- a/drivers/media/rc/keymaps/Makefile
|
||||
+++ b/drivers/media/rc/keymaps/Makefile
|
||||
@@ -75,6 +75,8 @@ obj-$(CONFIG_RC_MAP) += \
|
||||
@@ -76,6 +76,8 @@ obj-$(CONFIG_RC_MAP) += \
|
||||
rc-manli.o \
|
||||
rc-mecool-kiii-pro.o \
|
||||
rc-mecool-kii-pro.o \
|
||||
@ -122,10 +123,10 @@ index 000000000000..9024b999d5a9
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_AUTHOR("Christian Hewitt <christianshewitt@gmail.com");
|
||||
diff --git a/include/media/rc-map.h b/include/media/rc-map.h
|
||||
index e4ddb3586d05..9b6f09a6fd3a 100644
|
||||
index 4676545ffd8f..4c4eaaf02ac1 100644
|
||||
--- a/include/media/rc-map.h
|
||||
+++ b/include/media/rc-map.h
|
||||
@@ -281,6 +281,7 @@ struct rc_map *rc_map_get(const char *name);
|
||||
@@ -282,6 +282,7 @@ struct rc_map *rc_map_get(const char *name);
|
||||
#define RC_MAP_MANLI "rc-manli"
|
||||
#define RC_MAP_MECOOL_KII_PRO "rc-mecool-kii-pro"
|
||||
#define RC_MAP_MECOOL_KIII_PRO "rc-mecool-kiii-pro"
|
@ -1,8 +1,8 @@
|
||||
From 221e808484625d17da5c2311d738240c1e35923b Mon Sep 17 00:00:00 2001
|
||||
From 1710a44099635dcee1a8d2aaa58f74e2b6f305be Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sun, 16 Jan 2022 08:15:36 +0000
|
||||
Subject: [PATCH 67/92] WIP: dt-bindings: arm: amlogic: add support for MeCool
|
||||
M8S Pro W
|
||||
Subject: [PATCH 082/111] 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
|
||||
(GXL) reference design with an S905W chip.
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
index 68b21500a620..8e96318342f4 100644
|
||||
index 70cb580f8b7e..f9d6a8f82d01 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
|
||||
@@ -89,6 +89,7 @@ properties:
|
@ -1,8 +1,8 @@
|
||||
From 4e94b6b505ff2ccfcb34540a82858ff4fc42246e Mon Sep 17 00:00:00 2001
|
||||
From 3056b503ae67841eaac7c68419fe94a050b97faa Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Sun, 16 Jan 2022 08:17:41 +0000
|
||||
Subject: [PATCH 68/92] WIP: arm64: dts: meson: add support for MeCool M8S Pro
|
||||
W
|
||||
Subject: [PATCH 083/111] 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)
|
||||
reference design with an S905W chip and the following specs:
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user