From 514c59796fff5ac9c4f96be2268101596a1563fb Mon Sep 17 00:00:00 2001 From: Ryan Bray Date: Thu, 23 Aug 2018 13:49:47 -0600 Subject: [PATCH] Odroid-c2: Moving to 4.14.36 kernel --- .../board/hardkernel/odroid-c2/patches/README | 2 + ...eson-gxm-Add-support-for-Khadas-VIM2.patch | 10 +- ...gxbb-allow-child-devices-on-the-USB-.patch | 6 +- ...gxbb-odroidc2-take-USB-hub-out-of-re.patch | 6 +- ...n-add-USB3-PHY-support-for-Meson-GXL.patch | 10 +- ...-generic-platform-USB-roothub-driver.patch | 16 +- ...-plat-integrate-the-platform-roothub.patch | 16 +- ...4-dts-meson-gxl-add-USB-host-support.patch | 6 +- ...gxm-add-GXM-specific-USB-host-config.patch | 6 +- ...-gx-Enable-USB-on-GXL-and-GXM-boards.patch | 22 +- ...M64-defconfig-add-CONFIG_MESON_EFUSE.patch | 6 +- ...1-ARM64-defconfig-enable-CEC-support.patch | 6 +- ...fig-enable-CONFIG_VIDEO_MESON_AO_CEC.patch | 6 +- ...config-enable-CONFIG_DRM_DW_HDMI_CEC.patch | 6 +- ...meson-gxbb-Add-VPU-and-VAPB-clockids.patch | 8 +- ...on-gxbb-Add-VPU-and-VAPB-clocks-data.patch | 6 +- ...i-Add-support-for-an-optional-extern.patch | 6 +- .../0017-drm-meson-Add-missing-VPU-init.patch | 8 +- ...level-reset-support-for-GX-SoC-famil.patch | 6 +- ...ogic-add-Meson-GX-VPU-Domains-driver.patch | 10 +- ...n-gx-pwrc-vpu-fix-power-off-when-pow.patch | 6 +- ...oC-meson-add-meson-audio-core-driver.patch | 16 +- ...-ASoC-meson-add-register-definitions.patch | 8 +- ...3-ASoC-meson-add-aiu-i2s-dma-support.patch | 10 +- ...oC-meson-add-initial-i2s-dai-support.patch | 10 +- ...5-snd-meson-activate-HDMI-audio-path.patch | 6 +- ...ect-dw-hdmi-i2s-audio-for-meson-hdmi.patch | 6 +- ...enable-audio-support-for-meson-SoCs-.patch | 6 +- ...-meson-gx-add-audio-controller-nodes.patch | 8 +- ...gxl-add-sound-dai-cells-to-HDMI-node.patch | 6 +- ...gxl-Take-eMMC-data-strobe-out-of-eMM.patch | 32 +- ...64-dts-meson-gx-add-VPU-power-domain.patch | 10 +- ...gx-Add-HDMI_5V-regulator-on-selected.patch | 18 +- ...gx-grow-reset-controller-memory-zone.patch | 6 +- ...dts-odroid-c2-Add-HDMI-and-CEC-Nodes.patch | 6 +- ...activate-hdmi-audio-HDMI-enabled-boa.patch | 26 +- ...-phy-meson-gxl-detect-LPA-corruption.patch | 10 +- ...37-drm-meson-fix-vsync-buffer-update.patch | 10 +- ...dts-meson-bump-mali450-clk-to-744MHz.patch | 66 ++ ...38-Add-3.5-Touchscreen-sx865x-driver.patch | 580 ------------- ...on-Add-support-for-DMT-modes-on-HDMI.patch | 773 ++++++++++++++++++ ...D-3.5-Inch-touchscreen-driver-sx8650.patch | 46 -- .../configs/odroid_c2_defconfig | 2 +- 43 files changed, 1025 insertions(+), 810 deletions(-) create mode 100644 buildroot-external/board/hardkernel/odroid-c2/patches/README create mode 100644 buildroot-external/board/hardkernel/odroid-c2/patches/linux/0038-ARM64-dts-meson-bump-mali450-clk-to-744MHz.patch delete mode 100644 buildroot-external/board/hardkernel/odroid-c2/patches/linux/0038-Add-3.5-Touchscreen-sx865x-driver.patch create mode 100644 buildroot-external/board/hardkernel/odroid-c2/patches/linux/0039-drm-meson-Add-support-for-DMT-modes-on-HDMI.patch delete mode 100644 buildroot-external/board/hardkernel/odroid-c2/patches/linux/0039-dts-add-ODROID-3.5-Inch-touchscreen-driver-sx8650.patch diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/README b/buildroot-external/board/hardkernel/odroid-c2/patches/README new file mode 100644 index 000000000..2921b8a94 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/README @@ -0,0 +1,2 @@ +kernel patches from +https://github.com/superna9999/meta-meson/tree/sumo/recipes-kernel/linux/linux-yocto-meson64-4.14 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0001-ARM64-dts-meson-gxm-Add-support-for-Khadas-VIM2.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0001-ARM64-dts-meson-gxm-Add-support-for-Khadas-VIM2.patch index 01edf75e8..243c10296 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0001-ARM64-dts-meson-gxm-Add-support-for-Khadas-VIM2.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0001-ARM64-dts-meson-gxm-Add-support-for-Khadas-VIM2.patch @@ -1,4 +1,4 @@ -From c52264498971d43425ea4ce819b45fe3421aca73 Mon Sep 17 00:00:00 2001 +From f802405c9aba2fb198d55fc010e7336f155c2713 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Wed, 2 Aug 2017 16:11:23 +0200 Subject: [PATCH 01/39] ARM64: dts: meson-gxm: Add support for Khadas VIM2 @@ -22,7 +22,7 @@ Signed-off-by: Neil Armstrong create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts diff --git a/Documentation/devicetree/bindings/arm/amlogic.txt b/Documentation/devicetree/bindings/arm/amlogic.txt -index 4e4bc0bae597..a44599739746 100644 +index 4e4bc0b..a445997 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.txt +++ b/Documentation/devicetree/bindings/arm/amlogic.txt @@ -71,6 +71,7 @@ Board compatible values (alphabetically, grouped by SoC): @@ -34,7 +34,7 @@ index 4e4bc0bae597..a44599739746 100644 - "nexbox,a1" (Meson gxm s912) diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile -index 543416b8dff5..747bcc3834b3 100644 +index 543416b..747bcc3 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile @@ -16,6 +16,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb @@ -47,7 +47,7 @@ index 543416b8dff5..747bcc3834b3 100644 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q201.dtb diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts new file mode 100644 -index 000000000000..32c138ec0e58 +index 0000000..32c138e --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts @@ -0,0 +1,399 @@ @@ -451,5 +451,5 @@ index 000000000000..32c138ec0e58 + vref-supply = <&vddio_ao18>; +}; -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0002-ARM64-dts-meson-gxbb-allow-child-devices-on-the-USB-.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0002-ARM64-dts-meson-gxbb-allow-child-devices-on-the-USB-.patch index 8afbce5a1..bbabdbcbd 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0002-ARM64-dts-meson-gxbb-allow-child-devices-on-the-USB-.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0002-ARM64-dts-meson-gxbb-allow-child-devices-on-the-USB-.patch @@ -1,4 +1,4 @@ -From 9fcba25adf46f3aeee0393dc9a3d93d1be76b718 Mon Sep 17 00:00:00 2001 +From 841ec7b8484dee021a15fdc187cdadc1c89220f2 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Thu, 12 Jan 2017 01:38:26 +0100 Subject: [PATCH 02/39] ARM64: dts: meson-gxbb: allow child devices on the USB @@ -15,7 +15,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 4 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi -index af834cdbba79..7d38d55869c9 100644 +index af834cd..7d38d55 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi @@ -73,6 +73,8 @@ @@ -37,5 +37,5 @@ index af834cdbba79..7d38d55869c9 100644 interrupts = ; clocks = <&clkc CLKID_USB1_DDR_BRIDGE>; -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0003-ARM64-dts-meson-gxbb-odroidc2-take-USB-hub-out-of-re.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0003-ARM64-dts-meson-gxbb-odroidc2-take-USB-hub-out-of-re.patch index 0cd94c38f..c0b21cab9 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0003-ARM64-dts-meson-gxbb-odroidc2-take-USB-hub-out-of-re.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0003-ARM64-dts-meson-gxbb-odroidc2-take-USB-hub-out-of-re.patch @@ -1,4 +1,4 @@ -From f218b0bab1ee8ab25c24a42c342bf569f6eb2d72 Mon Sep 17 00:00:00 2001 +From 564bc89139a6bf0833cef64993dfe3fe2784c6a8 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Thu, 12 Jan 2017 01:39:20 +0100 Subject: [PATCH 03/39] ARM64: dts: meson-gxbb-odroidc2: take USB hub out of @@ -14,7 +14,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 7 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -index 08b7bb7f5b74..c3a7b7f62da2 100644 +index 08b7bb7..c3a7b7f 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts @@ -310,4 +310,11 @@ @@ -30,5 +30,5 @@ index 08b7bb7f5b74..c3a7b7f62da2 100644 + }; }; -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0004-phy-meson-add-USB3-PHY-support-for-Meson-GXL.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0004-phy-meson-add-USB3-PHY-support-for-Meson-GXL.patch index 7906a17f6..527c72b66 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0004-phy-meson-add-USB3-PHY-support-for-Meson-GXL.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0004-phy-meson-add-USB3-PHY-support-for-Meson-GXL.patch @@ -1,4 +1,4 @@ -From 83e2a4c8c1de8741e10c89f360910b547e943561 Mon Sep 17 00:00:00 2001 +From 563fa3aaad2752079c8ee05819bf9923370f39aa Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Sat, 26 Nov 2016 15:56:32 +0100 Subject: [PATCH 04/39] phy: meson: add USB3 PHY support for Meson GXL @@ -20,7 +20,7 @@ Signed-off-by: Neil Armstrong create mode 100644 drivers/phy/amlogic/phy-meson-gxl-usb3.c diff --git a/drivers/phy/amlogic/Kconfig b/drivers/phy/amlogic/Kconfig -index cb8f4501652b..5d11a3e698d4 100644 +index cb8f450..5d11a3e 100644 --- a/drivers/phy/amlogic/Kconfig +++ b/drivers/phy/amlogic/Kconfig @@ -13,6 +13,19 @@ config PHY_MESON8B_USB2 @@ -44,7 +44,7 @@ index cb8f4501652b..5d11a3e698d4 100644 tristate "Meson GXL and GXM USB2 PHY drivers" default ARCH_MESON diff --git a/drivers/phy/amlogic/Makefile b/drivers/phy/amlogic/Makefile -index cfdc98715c30..4fd8848c194d 100644 +index cfdc987..4fd8848 100644 --- a/drivers/phy/amlogic/Makefile +++ b/drivers/phy/amlogic/Makefile @@ -1,2 +1,3 @@ @@ -53,7 +53,7 @@ index cfdc98715c30..4fd8848c194d 100644 +obj-$(CONFIG_PHY_MESON_GXL_USB3) += phy-meson-gxl-usb3.o diff --git a/drivers/phy/amlogic/phy-meson-gxl-usb3.c b/drivers/phy/amlogic/phy-meson-gxl-usb3.c new file mode 100644 -index 000000000000..9af5222fe754 +index 0000000..9af5222 --- /dev/null +++ b/drivers/phy/amlogic/phy-meson-gxl-usb3.c @@ -0,0 +1,198 @@ @@ -256,5 +256,5 @@ index 000000000000..9af5222fe754 +MODULE_DESCRIPTION("Meson GXL USB3 PHY driver"); +MODULE_LICENSE("GPL"); -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0005-usb-host-add-a-generic-platform-USB-roothub-driver.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0005-usb-host-add-a-generic-platform-USB-roothub-driver.patch index 1e96dc491..388241bc9 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0005-usb-host-add-a-generic-platform-USB-roothub-driver.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0005-usb-host-add-a-generic-platform-USB-roothub-driver.patch @@ -1,4 +1,4 @@ -From d17f86f9c990960627fbcb697b120c852ce1e7c4 Mon Sep 17 00:00:00 2001 +From 8dca632003156c7a4f2eb6238b6e299f3df03c55 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Tue, 10 Jan 2017 18:59:43 +0100 Subject: [PATCH 05/39] usb: host: add a generic platform USB roothub driver @@ -39,7 +39,7 @@ Signed-off-by: Neil Armstrong diff --git a/Documentation/devicetree/bindings/usb/usb-roothub.txt b/Documentation/devicetree/bindings/usb/usb-roothub.txt new file mode 100644 -index 000000000000..23b24b68d74d +index 0000000..23b24b6 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/usb-roothub.txt @@ -0,0 +1,46 @@ @@ -90,10 +90,10 @@ index 000000000000..23b24b68d74d + }; + } diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig -index fa5692dec832..b8b05c786b2a 100644 +index 92b1972..598ca56 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig -@@ -805,6 +805,9 @@ config USB_HCD_SSB +@@ -797,6 +797,9 @@ config USB_HCD_SSB If unsure, say N. @@ -104,7 +104,7 @@ index fa5692dec832..b8b05c786b2a 100644 bool "HCD test mode support" ---help--- diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile -index 4ab2689c8952..873ebd9250d3 100644 +index 4ab2689..873ebd9 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile @@ -30,6 +30,8 @@ obj-$(CONFIG_USB_WHCI_HCD) += whci/ @@ -118,7 +118,7 @@ index 4ab2689c8952..873ebd9250d3 100644 obj-$(CONFIG_USB_EHCI_HCD_PLATFORM) += ehci-platform.o diff --git a/drivers/usb/host/platform-roothub.c b/drivers/usb/host/platform-roothub.c new file mode 100644 -index 000000000000..84837e42b006 +index 0000000..84837e4 --- /dev/null +++ b/drivers/usb/host/platform-roothub.c @@ -0,0 +1,146 @@ @@ -270,7 +270,7 @@ index 000000000000..84837e42b006 +EXPORT_SYMBOL_GPL(platform_roothub_power_off); diff --git a/drivers/usb/host/platform-roothub.h b/drivers/usb/host/platform-roothub.h new file mode 100644 -index 000000000000..bde0bf299e3b +index 0000000..bde0bf2 --- /dev/null +++ b/drivers/usb/host/platform-roothub.h @@ -0,0 +1,14 @@ @@ -289,5 +289,5 @@ index 000000000000..bde0bf299e3b + +#endif /* USB_HOST_PLATFORM_ROOTHUB_H */ -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0006-usb-host-xhci-plat-integrate-the-platform-roothub.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0006-usb-host-xhci-plat-integrate-the-platform-roothub.patch index 8aefd1631..33e9a620d 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0006-usb-host-xhci-plat-integrate-the-platform-roothub.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0006-usb-host-xhci-plat-integrate-the-platform-roothub.patch @@ -1,4 +1,4 @@ -From 42cde289520dd631f37cf23b86c3aa3d2c9a92e9 Mon Sep 17 00:00:00 2001 +From 55ba20ef5868e2a1fc3cefe264539affe55ef6b7 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Wed, 11 Jan 2017 11:34:59 +0100 Subject: [PATCH 06/39] usb: host: xhci: plat: integrate the platform-roothub @@ -23,10 +23,10 @@ Signed-off-by: Neil Armstrong 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt b/Documentation/devicetree/bindings/usb/usb-xhci.txt -index 2d80b60eeabe..31b4f681e9ca 100644 +index 7a69b8b..d0d8a67c 100644 --- a/Documentation/devicetree/bindings/usb/usb-xhci.txt +++ b/Documentation/devicetree/bindings/usb/usb-xhci.txt -@@ -29,6 +29,13 @@ Optional properties: +@@ -30,6 +30,13 @@ Optional properties: - usb3-lpm-capable: determines if platform is USB3 LPM capable - quirk-broken-port-ped: set if the controller has broken port disable mechanism @@ -41,7 +41,7 @@ index 2d80b60eeabe..31b4f681e9ca 100644 usb@f0931000 { compatible = "generic-xhci"; diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig -index b8b05c786b2a..3bdc49e89c0f 100644 +index 598ca56..8c3b11f 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -36,6 +36,7 @@ config USB_XHCI_PCI @@ -53,7 +53,7 @@ index b8b05c786b2a..3bdc49e89c0f 100644 Adds an xHCI host driver for a generic platform device, which provides a memory space and an irq. diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c -index 1cb6eaef4ae1..a80d5853ebfe 100644 +index 1cb6eae..a80d585 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -281,10 +281,20 @@ static int xhci_plat_probe(struct platform_device *pdev) @@ -121,7 +121,7 @@ index 1cb6eaef4ae1..a80d5853ebfe 100644 if (ret) return ret; diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h -index 2b48aa4f6b76..f340aa0b8d6a 100644 +index 2eaf6e1..552834c 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h @@ -34,6 +34,8 @@ @@ -133,7 +133,7 @@ index 2b48aa4f6b76..f340aa0b8d6a 100644 /* xHCI PCI Configuration Registers */ #define XHCI_SBRN_OFFSET (0x60) -@@ -1734,6 +1736,7 @@ struct xhci_hcd { +@@ -1735,6 +1737,7 @@ struct xhci_hcd { int msix_count; /* optional clock */ struct clk *clk; @@ -142,5 +142,5 @@ index 2b48aa4f6b76..f340aa0b8d6a 100644 struct xhci_device_context_array *dcbaa; struct xhci_ring *cmd_ring; -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0007-ARM64-dts-meson-gxl-add-USB-host-support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0007-ARM64-dts-meson-gxl-add-USB-host-support.patch index ece17da57..ee9531988 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0007-ARM64-dts-meson-gxl-add-USB-host-support.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0007-ARM64-dts-meson-gxl-add-USB-host-support.patch @@ -1,4 +1,4 @@ -From 272e257562d8b2d2da37ac2f980ca7eb84709b99 Mon Sep 17 00:00:00 2001 +From 547f8ce14bfc3d315dc8b64d0e2eff0c7be897d2 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Sun, 20 Nov 2016 00:23:52 +0100 Subject: [PATCH 07/39] ARM64: dts: meson-gxl: add USB host support @@ -25,7 +25,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 59 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi -index fb8d76a17bc5..68ea67aef0dd 100644 +index fb8d76a..68ea67a 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi @@ -57,6 +57,65 @@ @@ -95,5 +95,5 @@ index fb8d76a17bc5..68ea67aef0dd 100644 ðmac { -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0008-ARM64-dts-meson-gxm-add-GXM-specific-USB-host-config.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0008-ARM64-dts-meson-gxm-add-GXM-specific-USB-host-config.patch index e209639c2..c30cc8b65 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0008-ARM64-dts-meson-gxm-add-GXM-specific-USB-host-config.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0008-ARM64-dts-meson-gxm-add-GXM-specific-USB-host-config.patch @@ -1,4 +1,4 @@ -From f0fb81ad729f1ab935f5d6c2b3a410426a61f0a8 Mon Sep 17 00:00:00 2001 +From 48d4988f2b3b93a6f17c0d1d5e6d932664bc0c74 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Sat, 26 Nov 2016 00:17:22 +0100 Subject: [PATCH 08/39] ARM64: dts: meson-gxm: add GXM specific USB host @@ -17,7 +17,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 17 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi -index 19a798d2ae2f..5e4cb907e6b4 100644 +index 19a798d..5e4cb90 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi @@ -121,6 +121,23 @@ @@ -45,5 +45,5 @@ index 19a798d2ae2f..5e4cb907e6b4 100644 compatible = "amlogic,meson-gxm-saradc", "amlogic,meson-saradc"; }; -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0009-ARM64-dts-meson-gx-Enable-USB-on-GXL-and-GXM-boards.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0009-ARM64-dts-meson-gx-Enable-USB-on-GXL-and-GXM-boards.patch index a790cc8b4..2ed02a37f 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0009-ARM64-dts-meson-gx-Enable-USB-on-GXL-and-GXM-boards.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0009-ARM64-dts-meson-gx-Enable-USB-on-GXL-and-GXM-boards.patch @@ -1,4 +1,4 @@ -From ed5150180cd8751dca686737dd82b051d1fb28e8 Mon Sep 17 00:00:00 2001 +From 1e5a4ee949281c47a03f5cee31226d803d396f48 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Thu, 13 Jul 2017 15:02:33 +0200 Subject: [PATCH 09/39] ARM64: dts: meson-gx: Enable USB on GXL and GXM boards @@ -17,7 +17,7 @@ Signed-off-by: Neil Armstrong 9 files changed, 36 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi -index 4157987f4a3d..7ce9a6267270 100644 +index 4157987..7ce9a62 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi @@ -236,3 +236,7 @@ @@ -29,7 +29,7 @@ index 4157987f4a3d..7ce9a6267270 100644 + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts -index 977b4240f3c1..6f2cd8e82dbc 100644 +index 977b424..6f2cd8e 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts @@ -163,3 +163,7 @@ @@ -41,7 +41,7 @@ index 977b4240f3c1..6f2cd8e82dbc 100644 + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts -index edc512ad0bac..89a5fd998262 100644 +index edc512a..89a5fd9 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts @@ -198,3 +198,7 @@ @@ -53,7 +53,7 @@ index edc512ad0bac..89a5fd998262 100644 + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts -index 64c54c92e214..4035891890c7 100644 +index 64c54c9..4035891 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts @@ -242,3 +242,7 @@ @@ -65,7 +65,7 @@ index 64c54c92e214..4035891890c7 100644 + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts -index 1b8f32867aa1..6338e6c082f5 100644 +index 1b8f328..6338e6c 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts @@ -251,3 +251,7 @@ @@ -77,7 +77,7 @@ index 1b8f32867aa1..6338e6c082f5 100644 + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi -index 129af9068814..7a1c20eb319f 100644 +index 129af90..7a1c20e 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi @@ -173,3 +173,7 @@ @@ -89,7 +89,7 @@ index 129af9068814..7a1c20eb319f 100644 + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts -index 32c138ec0e58..103575a74541 100644 +index 32c138e..103575a 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts @@ -397,3 +397,7 @@ @@ -101,7 +101,7 @@ index 32c138ec0e58..103575a74541 100644 + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts -index 22c697732f66..cfde24623a7d 100644 +index 22c6977..cfde246 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts @@ -215,3 +215,7 @@ @@ -113,7 +113,7 @@ index 22c697732f66..cfde24623a7d 100644 + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts -index 470f72bb863c..9837a48e9297 100644 +index 470f72b..9837a48 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts @@ -237,3 +237,7 @@ @@ -125,5 +125,5 @@ index 470f72bb863c..9837a48e9297 100644 + status = "okay"; +}; -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0010-ARM64-defconfig-add-CONFIG_MESON_EFUSE.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0010-ARM64-defconfig-add-CONFIG_MESON_EFUSE.patch index abaf5fb01..f80c0765b 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0010-ARM64-defconfig-add-CONFIG_MESON_EFUSE.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0010-ARM64-defconfig-add-CONFIG_MESON_EFUSE.patch @@ -1,4 +1,4 @@ -From ab179cc738b610a76516672e2dfb863c58222509 Mon Sep 17 00:00:00 2001 +From eb29dbaf90e217978d8abfab1912b11020825e28 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Mon, 13 Nov 2017 12:02:59 +0100 Subject: [PATCH 10/39] ARM64: defconfig: add CONFIG_MESON_EFUSE @@ -12,7 +12,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index 34480e9af2e7..3cdfc7490707 100644 +index 34480e9..3cdfc74 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -541,6 +541,7 @@ CONFIG_PHY_XGENE=y @@ -24,5 +24,5 @@ index 34480e9af2e7..3cdfc7490707 100644 CONFIG_OPTEE=y CONFIG_ARM_SCPI_PROTOCOL=y -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0011-ARM64-defconfig-enable-CEC-support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0011-ARM64-defconfig-enable-CEC-support.patch index d82b03208..54b58d493 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0011-ARM64-defconfig-enable-CEC-support.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0011-ARM64-defconfig-enable-CEC-support.patch @@ -1,4 +1,4 @@ -From f7b6962229d6142f11396b8e55b7736258aa3aae Mon Sep 17 00:00:00 2001 +From 175366cb9e77fe54e6949f6599c0900cf0980b26 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Mon, 13 Nov 2017 12:09:40 +0100 Subject: [PATCH 11/39] ARM64: defconfig: enable CEC support @@ -12,7 +12,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 2 insertions(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index 3cdfc7490707..944b93b1c026 100644 +index 3cdfc74..944b93b 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -350,6 +350,7 @@ CONFIG_MEDIA_SUPPORT=m @@ -32,5 +32,5 @@ index 3cdfc7490707..944b93b1c026 100644 CONFIG_DRM_NOUVEAU=m CONFIG_DRM_EXYNOS=m -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0012-ARM64-defconfig-enable-CONFIG_VIDEO_MESON_AO_CEC.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0012-ARM64-defconfig-enable-CONFIG_VIDEO_MESON_AO_CEC.patch index 8737f0733..eb8910de8 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0012-ARM64-defconfig-enable-CONFIG_VIDEO_MESON_AO_CEC.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0012-ARM64-defconfig-enable-CONFIG_VIDEO_MESON_AO_CEC.patch @@ -1,4 +1,4 @@ -From 1168b4f47f7b7d73729a2981c2419ee38f8e52af Mon Sep 17 00:00:00 2001 +From c71be51a7778a6aa6b784dd0edc57951acf63ef2 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Mon, 13 Nov 2017 12:11:41 +0100 Subject: [PATCH 12/39] ARM64: defconfig: enable CONFIG_VIDEO_MESON_AO_CEC @@ -12,7 +12,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index 944b93b1c026..fdf94cbd56a2 100644 +index 944b93b..fdf94cb 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -366,6 +366,7 @@ CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m @@ -24,5 +24,5 @@ index 944b93b1c026..fdf94cbd56a2 100644 CONFIG_DRM_NOUVEAU=m CONFIG_DRM_EXYNOS=m -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0013-ARM64-defconfig-enable-CONFIG_DRM_DW_HDMI_CEC.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0013-ARM64-defconfig-enable-CONFIG_DRM_DW_HDMI_CEC.patch index 7cf02b157..8fda9646d 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0013-ARM64-defconfig-enable-CONFIG_DRM_DW_HDMI_CEC.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0013-ARM64-defconfig-enable-CONFIG_DRM_DW_HDMI_CEC.patch @@ -1,4 +1,4 @@ -From 139e2ed6d6b400678068394a8d059d865fba4dfa Mon Sep 17 00:00:00 2001 +From 94fb1910e76e39cc910fb5b5a528712f4135891e Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Mon, 13 Nov 2017 12:15:18 +0100 Subject: [PATCH 13/39] ARM64: defconfig: enable CONFIG_DRM_DW_HDMI_CEC @@ -12,7 +12,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index fdf94cbd56a2..dcf10903f634 100644 +index fdf94cb..dcf1090 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -388,6 +388,7 @@ CONFIG_DRM_RCAR_VSP=y @@ -24,5 +24,5 @@ index fdf94cbd56a2..dcf10903f634 100644 CONFIG_DRM_HISI_KIRIN=m CONFIG_DRM_MESON=m -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0014-clk-meson-gxbb-Add-VPU-and-VAPB-clockids.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0014-clk-meson-gxbb-Add-VPU-and-VAPB-clockids.patch index eab12a864..9d7354901 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0014-clk-meson-gxbb-Add-VPU-and-VAPB-clockids.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0014-clk-meson-gxbb-Add-VPU-and-VAPB-clockids.patch @@ -1,4 +1,4 @@ -From ff5628efddbf8a9e80c77dee968d4ce920d08681 Mon Sep 17 00:00:00 2001 +From 9bc414d9e18f8c9d39be44165b4926e2b2cdc1d9 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Mon, 16 Oct 2017 17:29:33 +0200 Subject: [PATCH 14/39] clk: meson: gxbb: Add VPU and VAPB clockids @@ -12,7 +12,7 @@ Signed-off-by: Neil Armstrong 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/clk/meson/gxbb.h b/drivers/clk/meson/gxbb.h -index 5b1d4b374d1c..aee6fbba2004 100644 +index 5b1d4b3..aee6fbb 100644 --- a/drivers/clk/meson/gxbb.h +++ b/drivers/clk/meson/gxbb.h @@ -190,8 +190,12 @@ @@ -30,7 +30,7 @@ index 5b1d4b374d1c..aee6fbba2004 100644 /* include the CLKIDs that have been made part of the DT binding */ #include diff --git a/include/dt-bindings/clock/gxbb-clkc.h b/include/dt-bindings/clock/gxbb-clkc.h -index 8c92528aa48a..8ba99a5e3fd3 100644 +index 8c92528..8ba99a5 100644 --- a/include/dt-bindings/clock/gxbb-clkc.h +++ b/include/dt-bindings/clock/gxbb-clkc.h @@ -114,5 +114,16 @@ @@ -51,5 +51,5 @@ index 8c92528aa48a..8ba99a5e3fd3 100644 #endif /* __GXBB_CLKC_H */ -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0015-clk-meson-gxbb-Add-VPU-and-VAPB-clocks-data.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0015-clk-meson-gxbb-Add-VPU-and-VAPB-clocks-data.patch index 6097a8143..778c6ab64 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0015-clk-meson-gxbb-Add-VPU-and-VAPB-clocks-data.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0015-clk-meson-gxbb-Add-VPU-and-VAPB-clocks-data.patch @@ -1,4 +1,4 @@ -From afe130e27bfeeb1ee66dfb55a10e5734bb9f67ae Mon Sep 17 00:00:00 2001 +From a3b8b7bfd775fa521425c72856b4394fb6fec518 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 13 Oct 2017 14:38:37 +0200 Subject: [PATCH 15/39] clk: meson: gxbb: Add VPU and VAPB clocks data @@ -15,7 +15,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 292 insertions(+) diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c -index b2d1e8ed7152..a71374464c92 100644 +index 92168348..86cb5af 100644 --- a/drivers/clk/meson/gxbb.c +++ b/drivers/clk/meson/gxbb.c @@ -1131,6 +1131,253 @@ static struct clk_gate gxbb_sd_emmc_c_clk0 = { @@ -353,5 +353,5 @@ index b2d1e8ed7152..a71374464c92 100644 static struct meson_clk_audio_divider *const gxbb_audio_dividers[] = { -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0016-drm-meson-dw_hdmi-Add-support-for-an-optional-extern.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0016-drm-meson-dw_hdmi-Add-support-for-an-optional-extern.patch index 3427a9ba5..d23cd3f02 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0016-drm-meson-dw_hdmi-Add-support-for-an-optional-extern.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0016-drm-meson-dw_hdmi-Add-support-for-an-optional-extern.patch @@ -1,4 +1,4 @@ -From b6160d5b1dbae48dc0563de7b2f27c2b7ad8ac6c Mon Sep 17 00:00:00 2001 +From fc742b3d9f1b79f9e3e695f0e4bfc6a35c7ed7e3 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Mon, 16 Oct 2017 15:35:00 +0200 Subject: [PATCH 16/39] drm/meson: dw_hdmi: Add support for an optional @@ -14,7 +14,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 13 insertions(+) diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c -index cef414466f9f..17de3afd98f6 100644 +index cef4144..17de3af 100644 --- a/drivers/gpu/drm/meson/meson_dw_hdmi.c +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c @@ -23,6 +23,7 @@ @@ -52,5 +52,5 @@ index cef414466f9f..17de3afd98f6 100644 "hdmitx_apb"); if (IS_ERR(meson_dw_hdmi->hdmitx_apb)) { -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0017-drm-meson-Add-missing-VPU-init.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0017-drm-meson-Add-missing-VPU-init.patch index ffb217ed9..f3ab93118 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0017-drm-meson-Add-missing-VPU-init.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0017-drm-meson-Add-missing-VPU-init.patch @@ -1,4 +1,4 @@ -From c07db1483d8316018d64d64bdf34a8736251fb2e Mon Sep 17 00:00:00 2001 +From 253dbcb48f94e172873878262d19338bcc9aa108 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Mon, 16 Oct 2017 15:34:21 +0200 Subject: [PATCH 17/39] drm/meson: Add missing VPU init @@ -12,7 +12,7 @@ Signed-off-by: Neil Armstrong 2 files changed, 13 insertions(+) diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c -index 7742c7d81ed8..19a0d8df412c 100644 +index 7742c7d..19a0d8d 100644 --- a/drivers/gpu/drm/meson/meson_drv.c +++ b/drivers/gpu/drm/meson/meson_drv.c @@ -150,6 +150,14 @@ static struct regmap_config meson_regmap_config = { @@ -39,7 +39,7 @@ index 7742c7d81ed8..19a0d8df412c 100644 meson_vpp_init(priv); meson_viu_init(priv); diff --git a/drivers/gpu/drm/meson/meson_registers.h b/drivers/gpu/drm/meson/meson_registers.h -index 284738196af9..bca87143e548 100644 +index 2847381..bca8714 100644 --- a/drivers/gpu/drm/meson/meson_registers.h +++ b/drivers/gpu/drm/meson/meson_registers.h @@ -1363,6 +1363,10 @@ @@ -54,5 +54,5 @@ index 284738196af9..bca87143e548 100644 /* osd super scale */ #define OSDSR_HV_SIZEIN 0x3130 -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0018-reset-meson-add-level-reset-support-for-GX-SoC-famil.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0018-reset-meson-add-level-reset-support-for-GX-SoC-famil.patch index 22a38512b..3ad7ba4fa 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0018-reset-meson-add-level-reset-support-for-GX-SoC-famil.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0018-reset-meson-add-level-reset-support-for-GX-SoC-famil.patch @@ -1,4 +1,4 @@ -From 9b0cb5399f5a95a194a9fd1a9c3d90e2fb885244 Mon Sep 17 00:00:00 2001 +From 0689a4eaecae2831fe2cb614e102bb4ef43484a4 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 13 Oct 2017 14:05:01 +0200 Subject: [PATCH 18/39] reset: meson: add level reset support for GX SoC family @@ -16,7 +16,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 58 insertions(+), 4 deletions(-) diff --git a/drivers/reset/reset-meson.c b/drivers/reset/reset-meson.c -index a8b915eb8b58..f3b9d6989267 100644 +index a8b915e..f3b9d69 100644 --- a/drivers/reset/reset-meson.c +++ b/drivers/reset/reset-meson.c @@ -62,13 +62,16 @@ @@ -128,5 +128,5 @@ index a8b915eb8b58..f3b9d6989267 100644 return devm_reset_controller_register(&pdev->dev, &data->rcdev); -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0019-soc-amlogic-add-Meson-GX-VPU-Domains-driver.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0019-soc-amlogic-add-Meson-GX-VPU-Domains-driver.patch index 59456bb7d..99b3bea09 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0019-soc-amlogic-add-Meson-GX-VPU-Domains-driver.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0019-soc-amlogic-add-Meson-GX-VPU-Domains-driver.patch @@ -1,4 +1,4 @@ -From 445dd401634627029c36d44372dfec0a0977c2ff Mon Sep 17 00:00:00 2001 +From 58d5e73046ca5c28eb835c1a98f936193de5d4d0 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 13 Oct 2017 17:05:00 +0200 Subject: [PATCH 19/39] soc: amlogic: add Meson GX VPU Domains driver @@ -15,7 +15,7 @@ Signed-off-by: Neil Armstrong create mode 100644 drivers/soc/amlogic/meson-gx-pwrc-vpu.c diff --git a/drivers/soc/amlogic/Kconfig b/drivers/soc/amlogic/Kconfig -index 22acf064531f..c2c0513b18ff 100644 +index 22acf06..c2c0513 100644 --- a/drivers/soc/amlogic/Kconfig +++ b/drivers/soc/amlogic/Kconfig @@ -8,5 +8,15 @@ config MESON_GX_SOCINFO @@ -35,7 +35,7 @@ index 22acf064531f..c2c0513b18ff 100644 endmenu diff --git a/drivers/soc/amlogic/Makefile b/drivers/soc/amlogic/Makefile -index 3e85fc462c21..3174e93e72e9 100644 +index 3e85fc4..3174e93 100644 --- a/drivers/soc/amlogic/Makefile +++ b/drivers/soc/amlogic/Makefile @@ -1 +1,2 @@ @@ -43,7 +43,7 @@ index 3e85fc462c21..3174e93e72e9 100644 +obj-$(CONFIG_MESON_GX_PM_DOMAINS) += meson-gx-pwrc-vpu.o diff --git a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c new file mode 100644 -index 000000000000..bf5190b65ad9 +index 0000000..bf5190b --- /dev/null +++ b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c @@ -0,0 +1,234 @@ @@ -282,5 +282,5 @@ index 000000000000..bf5190b65ad9 +}; +builtin_platform_driver(meson_gx_pwrc_vpu_driver); -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0020-soc-amlogic-meson-gx-pwrc-vpu-fix-power-off-when-pow.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0020-soc-amlogic-meson-gx-pwrc-vpu-fix-power-off-when-pow.patch index 231c29a87..aa13051f8 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0020-soc-amlogic-meson-gx-pwrc-vpu-fix-power-off-when-pow.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0020-soc-amlogic-meson-gx-pwrc-vpu-fix-power-off-when-pow.patch @@ -1,4 +1,4 @@ -From f3694e090fe83bc06aaa2aad2e88453fe739ff5c Mon Sep 17 00:00:00 2001 +From a2ae223bac1ad40a5bd7ee124b3af735ff445eb9 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 3 Nov 2017 16:43:24 +0100 Subject: [PATCH 20/39] soc: amlogic: meson-gx-pwrc-vpu: fix power-off when @@ -19,7 +19,7 @@ Tested-by: Kevin Hilman 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c -index bf5190b65ad9..2bdeebc48901 100644 +index bf5190b..2bdeebc 100644 --- a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c +++ b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c @@ -34,7 +34,6 @@ struct meson_gx_pwrc_vpu { @@ -101,5 +101,5 @@ index bf5190b65ad9..2bdeebc48901 100644 static const struct of_device_id meson_gx_pwrc_vpu_match_table[] = { -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0021-ASoC-meson-add-meson-audio-core-driver.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0021-ASoC-meson-add-meson-audio-core-driver.patch index 597a364d2..ff9a55e19 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0021-ASoC-meson-add-meson-audio-core-driver.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0021-ASoC-meson-add-meson-audio-core-driver.patch @@ -1,4 +1,4 @@ -From 0c0683d55753b87953a6229e8d556c4f1b1887ad Mon Sep 17 00:00:00 2001 +From f9b447452943415a12055c0fca279281cd28d923 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Thu, 30 Mar 2017 11:49:55 +0200 Subject: [PATCH 21/39] ASoC: meson: add meson audio core driver @@ -30,7 +30,7 @@ Signed-off-by: Neil Armstrong create mode 100644 sound/soc/meson/audio-core.h diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig -index c0abad2067e1..7db316faa05f 100644 +index c0abad2..7db316f 100644 --- a/sound/soc/Kconfig +++ b/sound/soc/Kconfig @@ -55,6 +55,7 @@ source "sound/soc/kirkwood/Kconfig" @@ -42,7 +42,7 @@ index c0abad2067e1..7db316faa05f 100644 source "sound/soc/pxa/Kconfig" source "sound/soc/qcom/Kconfig" diff --git a/sound/soc/Makefile b/sound/soc/Makefile -index bf8c1e2ce0bf..d4c0a511a32f 100644 +index bf8c1e2..d4c0a51 100644 --- a/sound/soc/Makefile +++ b/sound/soc/Makefile @@ -33,6 +33,7 @@ obj-$(CONFIG_SND_SOC) += jz4740/ @@ -55,7 +55,7 @@ index bf8c1e2ce0bf..d4c0a511a32f 100644 obj-$(CONFIG_SND_SOC) += omap/ diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig new file mode 100644 -index 000000000000..216c850c8e86 +index 0000000..216c850 --- /dev/null +++ b/sound/soc/meson/Kconfig @@ -0,0 +1,9 @@ @@ -70,7 +70,7 @@ index 000000000000..216c850c8e86 + select the audio interfaces to support below. diff --git a/sound/soc/meson/Makefile b/sound/soc/meson/Makefile new file mode 100644 -index 000000000000..22028abb5624 +index 0000000..22028ab --- /dev/null +++ b/sound/soc/meson/Makefile @@ -0,0 +1,3 @@ @@ -79,7 +79,7 @@ index 000000000000..22028abb5624 +obj-$(CONFIG_SND_SOC_MESON) += snd-soc-meson-audio-core.o diff --git a/sound/soc/meson/audio-core.c b/sound/soc/meson/audio-core.c new file mode 100644 -index 000000000000..99993ec4a5cc +index 0000000..99993ec --- /dev/null +++ b/sound/soc/meson/audio-core.c @@ -0,0 +1,190 @@ @@ -275,7 +275,7 @@ index 000000000000..99993ec4a5cc +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/meson/audio-core.h b/sound/soc/meson/audio-core.h new file mode 100644 -index 000000000000..6e7a24cdc4a9 +index 0000000..6e7a24c --- /dev/null +++ b/sound/soc/meson/audio-core.h @@ -0,0 +1,28 @@ @@ -308,5 +308,5 @@ index 000000000000..6e7a24cdc4a9 + +#endif /* _MESON_AUDIO_CORE_H_ */ -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0022-ASoC-meson-add-register-definitions.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0022-ASoC-meson-add-register-definitions.patch index 2167c7e34..c040e9f9c 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0022-ASoC-meson-add-register-definitions.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0022-ASoC-meson-add-register-definitions.patch @@ -1,4 +1,4 @@ -From fe9c8e25f80e62fe66f3f0129d25a62c862e743d Mon Sep 17 00:00:00 2001 +From 71e89b9513f114d45fd43233039a73f678702815 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Thu, 30 Mar 2017 12:00:10 +0200 Subject: [PATCH 22/39] ASoC: meson: add register definitions @@ -16,7 +16,7 @@ Signed-off-by: Neil Armstrong diff --git a/sound/soc/meson/aiu-regs.h b/sound/soc/meson/aiu-regs.h new file mode 100644 -index 000000000000..67391e64fe1c +index 0000000..67391e6 --- /dev/null +++ b/sound/soc/meson/aiu-regs.h @@ -0,0 +1,182 @@ @@ -204,7 +204,7 @@ index 000000000000..67391e64fe1c +#endif /* _AIU_REGS_H_ */ diff --git a/sound/soc/meson/audin-regs.h b/sound/soc/meson/audin-regs.h new file mode 100644 -index 000000000000..f224610e80e7 +index 0000000..f224610 --- /dev/null +++ b/sound/soc/meson/audin-regs.h @@ -0,0 +1,148 @@ @@ -357,5 +357,5 @@ index 000000000000..f224610e80e7 + +#endif /* _AUDIN_REGS_H_ */ -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0023-ASoC-meson-add-aiu-i2s-dma-support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0023-ASoC-meson-add-aiu-i2s-dma-support.patch index 71ce5ae10..edb19292b 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0023-ASoC-meson-add-aiu-i2s-dma-support.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0023-ASoC-meson-add-aiu-i2s-dma-support.patch @@ -1,4 +1,4 @@ -From c3f39e1e99cf8d8f0e9d793272eaac4118099e99 Mon Sep 17 00:00:00 2001 +From 03285555d8cbb3eb1f4991b758e5804a3c19b4ce Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Thu, 30 Mar 2017 12:14:40 +0200 Subject: [PATCH 23/39] ASoC: meson: add aiu i2s dma support @@ -15,7 +15,7 @@ Signed-off-by: Neil Armstrong create mode 100644 sound/soc/meson/aiu-i2s-dma.c diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig -index 216c850c8e86..ad31a1152b60 100644 +index 216c850..ad31a11 100644 --- a/sound/soc/meson/Kconfig +++ b/sound/soc/meson/Kconfig @@ -7,3 +7,10 @@ menuconfig SND_SOC_MESON @@ -30,7 +30,7 @@ index 216c850c8e86..ad31a1152b60 100644 + Say Y or M if you want to add support for i2s dma driver for Amlogic + Meson SoCs. diff --git a/sound/soc/meson/Makefile b/sound/soc/meson/Makefile -index 22028abb5624..273f27590773 100644 +index 22028ab..273f275 100644 --- a/sound/soc/meson/Makefile +++ b/sound/soc/meson/Makefile @@ -1,3 +1,5 @@ @@ -41,7 +41,7 @@ index 22028abb5624..273f27590773 100644 +obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-aiu-i2s-dma.o diff --git a/sound/soc/meson/aiu-i2s-dma.c b/sound/soc/meson/aiu-i2s-dma.c new file mode 100644 -index 000000000000..bab950d67f5e +index 0000000..bab950d --- /dev/null +++ b/sound/soc/meson/aiu-i2s-dma.c @@ -0,0 +1,367 @@ @@ -413,5 +413,5 @@ index 000000000000..bab950d67f5e +MODULE_AUTHOR("Jerome Brunet "); +MODULE_LICENSE("GPL v2"); -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0024-ASoC-meson-add-initial-i2s-dai-support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0024-ASoC-meson-add-initial-i2s-dai-support.patch index 5c53660be..cfd5f78bd 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0024-ASoC-meson-add-initial-i2s-dai-support.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0024-ASoC-meson-add-initial-i2s-dai-support.patch @@ -1,4 +1,4 @@ -From d7b010b3dbc57353663d7b7580fd329c165eafeb Mon Sep 17 00:00:00 2001 +From e273b0687bfb891ca4962dfe96e174371853ae89 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Thu, 30 Mar 2017 12:17:27 +0200 Subject: [PATCH 24/39] ASoC: meson: add initial i2s dai support @@ -17,7 +17,7 @@ Signed-off-by: Neil Armstrong create mode 100644 sound/soc/meson/i2s-dai.c diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig -index ad31a1152b60..604c9e2ff7a0 100644 +index ad31a11..604c9e2 100644 --- a/sound/soc/meson/Kconfig +++ b/sound/soc/meson/Kconfig @@ -12,5 +12,5 @@ config SND_SOC_MESON_I2S @@ -28,7 +28,7 @@ index ad31a1152b60..604c9e2ff7a0 100644 + Say Y or M if you want to add support for i2s driver for Amlogic Meson SoCs. diff --git a/sound/soc/meson/Makefile b/sound/soc/meson/Makefile -index 273f27590773..ea06ddee39d1 100644 +index 273f275..ea06dde 100644 --- a/sound/soc/meson/Makefile +++ b/sound/soc/meson/Makefile @@ -1,5 +1,7 @@ @@ -41,7 +41,7 @@ index 273f27590773..ea06ddee39d1 100644 +obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-i2s-dai.o diff --git a/sound/soc/meson/i2s-dai.c b/sound/soc/meson/i2s-dai.c new file mode 100644 -index 000000000000..1008af8d3972 +index 0000000..1008af8 --- /dev/null +++ b/sound/soc/meson/i2s-dai.c @@ -0,0 +1,465 @@ @@ -511,5 +511,5 @@ index 000000000000..1008af8d3972 +MODULE_AUTHOR("Jerome Brunet "); +MODULE_LICENSE("GPL v2"); -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0025-snd-meson-activate-HDMI-audio-path.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0025-snd-meson-activate-HDMI-audio-path.patch index b91f1d230..c3fadbccd 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0025-snd-meson-activate-HDMI-audio-path.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0025-snd-meson-activate-HDMI-audio-path.patch @@ -1,4 +1,4 @@ -From e3b90db66079fff917a68608a1e1f21a9f524d5f Mon Sep 17 00:00:00 2001 +From f40a0d725ebdad433383010d1c5ef92eb99e41a7 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Fri, 7 Jul 2017 17:39:21 +0200 Subject: [PATCH 25/39] snd: meson: activate HDMI audio path @@ -9,7 +9,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 22 insertions(+) diff --git a/sound/soc/meson/i2s-dai.c b/sound/soc/meson/i2s-dai.c -index 1008af8d3972..63fe098ecf82 100644 +index 1008af8..63fe098 100644 --- a/sound/soc/meson/i2s-dai.c +++ b/sound/soc/meson/i2s-dai.c @@ -56,8 +56,19 @@ struct meson_i2s_dai { @@ -51,5 +51,5 @@ index 1008af8d3972..63fe098ecf82 100644 } -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0026-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0026-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch index fecf0f4f5..3aa2e2f74 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0026-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0026-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch @@ -1,4 +1,4 @@ -From 0a9811673f54e33525386a62e6910771ac1afb67 Mon Sep 17 00:00:00 2001 +From e5509c367852ca7a7b52c30fda3dfd2a763ee8f3 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Tue, 14 Feb 2017 19:18:04 +0100 Subject: [PATCH 26/39] drm/meson: select dw-hdmi i2s audio for meson hdmi @@ -10,7 +10,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/meson/Kconfig b/drivers/gpu/drm/meson/Kconfig -index 3ce51d8dfe1c..02d400b8795c 100644 +index 3ce51d8..02d400b 100644 --- a/drivers/gpu/drm/meson/Kconfig +++ b/drivers/gpu/drm/meson/Kconfig @@ -13,3 +13,4 @@ config DRM_MESON_DW_HDMI @@ -19,5 +19,5 @@ index 3ce51d8dfe1c..02d400b8795c 100644 select DRM_DW_HDMI + select DRM_DW_HDMI_I2S_AUDIO -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0027-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0027-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch index 2d3fb0926..6adccf110 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0027-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0027-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch @@ -1,4 +1,4 @@ -From f60640210aa041778116ff0b429c4a810d2d0644 Mon Sep 17 00:00:00 2001 +From d74574d0836155eadde90e9ba12b8c4d18202d8e Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Fri, 31 Mar 2017 15:55:03 +0200 Subject: [PATCH 27/39] ARM64: defconfig: enable audio support for meson SoCs @@ -14,7 +14,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 2 insertions(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index dcf10903f634..beb577486985 100644 +index dcf1090..beb5774 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -405,6 +405,8 @@ CONFIG_SOUND=y @@ -27,5 +27,5 @@ index dcf10903f634..beb577486985 100644 CONFIG_SND_SOC_RCAR=m CONFIG_SND_SOC_AK4613=m -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0028-ARM64-dts-meson-gx-add-audio-controller-nodes.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0028-ARM64-dts-meson-gx-add-audio-controller-nodes.patch index e654b9d88..772a14095 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0028-ARM64-dts-meson-gx-add-audio-controller-nodes.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0028-ARM64-dts-meson-gx-add-audio-controller-nodes.patch @@ -1,4 +1,4 @@ -From b2a5b8f579026710bd7b49230b8d2368e7829c04 Mon Sep 17 00:00:00 2001 +From 7bd8dcbb1f840fe6d4ae6a1f5f2d3708f09110f9 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Wed, 20 Sep 2017 17:22:47 +0200 Subject: [PATCH 28/39] ARM64: dts: meson-gx: add audio controller nodes @@ -18,7 +18,7 @@ Signed-off-by: Neil Armstrong 2 files changed, 45 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -index f175db846286..ff27ce00624d 100644 +index f175db8..ff27ce0 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi @@ -224,6 +224,28 @@ @@ -51,7 +51,7 @@ index f175db846286..ff27ce00624d 100644 compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; reg = <0x0 0x84c0 0x0 0x14>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi -index 68ea67aef0dd..9d2fb463d1b4 100644 +index 68ea67a..9d2fb46 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi @@ -691,6 +691,29 @@ @@ -85,5 +85,5 @@ index 68ea67aef0dd..9d2fb463d1b4 100644 compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc"; clocks = <&xtal>, -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0029-ARM64-dts-meson-gxl-add-sound-dai-cells-to-HDMI-node.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0029-ARM64-dts-meson-gxl-add-sound-dai-cells-to-HDMI-node.patch index 226689adb..08e186083 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0029-ARM64-dts-meson-gxl-add-sound-dai-cells-to-HDMI-node.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0029-ARM64-dts-meson-gxl-add-sound-dai-cells-to-HDMI-node.patch @@ -1,4 +1,4 @@ -From 77abce6cc91d9af9b41a9626e468fc64470576d6 Mon Sep 17 00:00:00 2001 +From 071f66d1e34243f37f52e09dca13b50e8215a7ce Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Wed, 20 Sep 2017 18:01:26 +0200 Subject: [PATCH 29/39] ARM64: dts: meson-gxl: add sound-dai-cells to HDMI node @@ -10,7 +10,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi -index 9d2fb463d1b4..4a1bd8922384 100644 +index 9d2fb46..4a1bd89 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi @@ -294,6 +294,7 @@ @@ -22,5 +22,5 @@ index 9d2fb463d1b4..4a1bd8922384 100644 &hiubus { -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0030-ARM64-dts-meson-gxl-Take-eMMC-data-strobe-out-of-eMM.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0030-ARM64-dts-meson-gxl-Take-eMMC-data-strobe-out-of-eMM.patch index 08c07d999..45847eb7e 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0030-ARM64-dts-meson-gxl-Take-eMMC-data-strobe-out-of-eMM.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0030-ARM64-dts-meson-gxl-Take-eMMC-data-strobe-out-of-eMM.patch @@ -1,4 +1,4 @@ -From 65b33362f68f3541a1ae847231339426eb2c1847 Mon Sep 17 00:00:00 2001 +From 29e058408d62384dc3de4e0b63433d7dfdee068b Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Mon, 28 Aug 2017 12:01:09 +0200 Subject: [PATCH 30/39] ARM64: dts: meson-gxl: Take eMMC data strobe out of @@ -26,7 +26,7 @@ Signed-off-by: Neil Armstrong 14 files changed, 28 insertions(+), 16 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi -index 7ce9a6267270..7f59f3017028 100644 +index 7ce9a62..7f59f30 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi @@ -213,7 +213,7 @@ @@ -39,7 +39,7 @@ index 7ce9a6267270..7f59f3017028 100644 pinctrl-names = "default", "clk-gate"; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts -index 4b17a76959b2..a42c8f442590 100644 +index 4b17a76..a42c8f4 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts @@ -302,7 +302,7 @@ @@ -52,7 +52,7 @@ index 4b17a76959b2..a42c8f442590 100644 pinctrl-names = "default", "clk-gate"; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts -index 38dfdde5c147..9a773239dcef 100644 +index 38dfdde..9a77323 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts @@ -272,7 +272,7 @@ @@ -65,7 +65,7 @@ index 38dfdde5c147..9a773239dcef 100644 pinctrl-names = "default", "clk-gate"; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -index c3a7b7f62da2..4221e1ffb454 100644 +index c3a7b7f..4221e1f 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts @@ -271,7 +271,7 @@ @@ -78,7 +78,7 @@ index c3a7b7f62da2..4221e1ffb454 100644 pinctrl-names = "default", "clk-gate"; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi -index 23c08c3afd0a..932158a778ef 100644 +index 23c08c3..932158a 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi @@ -242,7 +242,7 @@ @@ -91,7 +91,7 @@ index 23c08c3afd0a..932158a778ef 100644 pinctrl-names = "default", "clk-gate"; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi -index f2bc6dea1fc6..1fe8e24cf675 100644 +index f2bc6de..1fe8e24 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi @@ -199,7 +199,7 @@ @@ -104,7 +104,7 @@ index f2bc6dea1fc6..1fe8e24cf675 100644 pinctrl-names = "default", "clk-gate"; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi -index 7d38d55869c9..ef12d674cd10 100644 +index 7d38d55..ef12d67 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi @@ -390,8 +390,14 @@ @@ -125,7 +125,7 @@ index 7d38d55869c9..ef12d674cd10 100644 }; }; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts -index 6f2cd8e82dbc..5eaafa1b92d3 100644 +index 6f2cd8e..5eaafa1 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts @@ -141,7 +141,7 @@ @@ -138,7 +138,7 @@ index 6f2cd8e82dbc..5eaafa1b92d3 100644 pinctrl-names = "default", "clk-gate"; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts -index 4035891890c7..942fd70c25e9 100644 +index 4035891..942fd70 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts @@ -221,7 +221,7 @@ @@ -151,7 +151,7 @@ index 4035891890c7..942fd70c25e9 100644 pinctrl-names = "default", "clk-gate"; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts -index 6338e6c082f5..0fdebcc698a6 100644 +index 6338e6c..0fdebcc 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts @@ -229,7 +229,7 @@ @@ -164,7 +164,7 @@ index 6338e6c082f5..0fdebcc698a6 100644 pinctrl-names = "default", "clk-gate"; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi -index 7a1c20eb319f..0a2be82c3d97 100644 +index 7a1c20e..0a2be82 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi @@ -135,7 +135,7 @@ @@ -177,7 +177,7 @@ index 7a1c20eb319f..0a2be82c3d97 100644 pinctrl-names = "default", "clk-gate"; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi -index 4a1bd8922384..02b52b618b03 100644 +index 4a1bd89..02b52b6 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi @@ -343,8 +343,14 @@ @@ -198,7 +198,7 @@ index 4a1bd8922384..02b52b618b03 100644 }; }; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts -index cfde24623a7d..e70b5e29e5fe 100644 +index cfde246..e70b5e2 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts @@ -193,7 +193,7 @@ @@ -211,7 +211,7 @@ index cfde24623a7d..e70b5e29e5fe 100644 pinctrl-names = "default", "clk-gate"; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts -index 9837a48e9297..9593a28e8e5c 100644 +index 9837a48..9593a28 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts @@ -216,7 +216,7 @@ @@ -224,5 +224,5 @@ index 9837a48e9297..9593a28e8e5c 100644 bus-width = <8>; -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0031-ARM64-dts-meson-gx-add-VPU-power-domain.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0031-ARM64-dts-meson-gx-add-VPU-power-domain.patch index acdd1f686..57f3cb118 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0031-ARM64-dts-meson-gx-add-VPU-power-domain.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0031-ARM64-dts-meson-gx-add-VPU-power-domain.patch @@ -1,4 +1,4 @@ -From c38232651c13e03822f52c320c4180c89dfcb02b Mon Sep 17 00:00:00 2001 +From 107e323a199087cfb84c22b31d769f0b2e623e4a Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 13 Oct 2017 14:47:23 +0200 Subject: [PATCH 31/39] ARM64: dts: meson-gx: add VPU power domain @@ -14,7 +14,7 @@ Signed-off-by: Neil Armstrong 3 files changed, 97 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -index ff27ce00624d..ace0e4b756b8 100644 +index ff27ce0..ace0e4b 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi @@ -393,6 +393,12 @@ @@ -43,7 +43,7 @@ index ff27ce00624d..ace0e4b756b8 100644 compatible = "amlogic,meson-gx-mhu", "amlogic,meson-gxbb-mhu"; reg = <0 0x404 0 0x4c>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi -index ef12d674cd10..b5b6b331b91d 100644 +index ef12d67..b5b6b33 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi @@ -692,6 +692,48 @@ @@ -102,7 +102,7 @@ index ef12d674cd10..b5b6b331b91d 100644 + power-domains = <&pwrc_vpu>; }; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi -index 02b52b618b03..d5c8952165ba 100644 +index 02b52b6..d5c8952 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi @@ -721,6 +721,48 @@ @@ -161,5 +161,5 @@ index 02b52b618b03..d5c8952165ba 100644 + power-domains = <&pwrc_vpu>; }; -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0032-ARM64-dts-meson-gx-Add-HDMI_5V-regulator-on-selected.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0032-ARM64-dts-meson-gx-Add-HDMI_5V-regulator-on-selected.patch index bc7d24255..c46a0b6e8 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0032-ARM64-dts-meson-gx-Add-HDMI_5V-regulator-on-selected.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0032-ARM64-dts-meson-gx-Add-HDMI_5V-regulator-on-selected.patch @@ -1,4 +1,4 @@ -From df3fa23c03f0a231cac4a6857fb6a45279b32bf7 Mon Sep 17 00:00:00 2001 +From 07b467abf6efad25e12ad4c09a008e9f1594e39d Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Mon, 16 Oct 2017 15:33:30 +0200 Subject: [PATCH 32/39] ARM64: dts: meson-gx: Add HDMI_5V regulator on selected @@ -21,7 +21,7 @@ Signed-off-by: Neil Armstrong 7 files changed, 50 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi -index 7f59f3017028..979abaf1421b 100644 +index 7f59f30..979abaf 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi @@ -59,6 +59,17 @@ @@ -51,7 +51,7 @@ index 7f59f3017028..979abaf1421b 100644 &hdmi_tx_tmds_port { diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts -index 6827f235d7cf..8bc540e1b246 100644 +index 6827f23..8bc540e 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts @@ -135,6 +135,7 @@ @@ -63,7 +63,7 @@ index 6827f235d7cf..8bc540e1b246 100644 &hdmi_tx_tmds_port { diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts -index 89a5fd998262..f7b37de01e7a 100644 +index 89a5fd9..f7b37de 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts @@ -78,6 +78,7 @@ @@ -75,7 +75,7 @@ index 89a5fd998262..f7b37de01e7a 100644 &hdmi_tx_tmds_port { diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts -index 942fd70c25e9..0c4ed4eec11a 100644 +index 942fd70..0c4ed4e 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts @@ -72,6 +72,17 @@ @@ -105,7 +105,7 @@ index 942fd70c25e9..0c4ed4eec11a 100644 &hdmi_tx_tmds_port { diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts -index 6e2bf858291c..4f6b1c97df44 100644 +index 6e2bf85..4f6b1c9 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts @@ -88,6 +88,7 @@ @@ -117,7 +117,7 @@ index 6e2bf858291c..4f6b1c97df44 100644 &hdmi_tx_tmds_port { diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi -index 0a2be82c3d97..1a5136ad25ee 100644 +index 0a2be82..1a5136a 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi @@ -28,6 +28,17 @@ @@ -139,7 +139,7 @@ index 0a2be82c3d97..1a5136ad25ee 100644 compatible = "regulator-fixed"; regulator-name = "VDDIO_BOOT"; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts -index 103575a74541..4537a81fb9de 100644 +index 103575a..4537a81 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts @@ -153,6 +153,17 @@ @@ -169,5 +169,5 @@ index 103575a74541..4537a81fb9de 100644 &hdmi_tx_tmds_port { -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0033-ARM64-dts-meson-gx-grow-reset-controller-memory-zone.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0033-ARM64-dts-meson-gx-grow-reset-controller-memory-zone.patch index f55c3f150..9efc6c15f 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0033-ARM64-dts-meson-gx-grow-reset-controller-memory-zone.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0033-ARM64-dts-meson-gx-grow-reset-controller-memory-zone.patch @@ -1,4 +1,4 @@ -From 92d8cb904dcb8fd92330e603a26188dd000730e0 Mon Sep 17 00:00:00 2001 +From 7c3d7dee433538e1450564582da535cac44a2361 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Mon, 16 Oct 2017 17:00:59 +0200 Subject: [PATCH 33/39] ARM64: dts: meson-gx: grow reset controller memory zone @@ -12,7 +12,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -index ace0e4b756b8..2e0ee17e3333 100644 +index ace0e4b..2e0ee17 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi @@ -220,7 +220,7 @@ @@ -25,5 +25,5 @@ index ace0e4b756b8..2e0ee17e3333 100644 }; -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0034-ARM64-dts-odroid-c2-Add-HDMI-and-CEC-Nodes.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0034-ARM64-dts-odroid-c2-Add-HDMI-and-CEC-Nodes.patch index 7a63dd44e..d3bccda9e 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0034-ARM64-dts-odroid-c2-Add-HDMI-and-CEC-Nodes.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0034-ARM64-dts-odroid-c2-Add-HDMI-and-CEC-Nodes.patch @@ -1,4 +1,4 @@ -From e90d469874c37ec0e7925aeefbf74d5248182573 Mon Sep 17 00:00:00 2001 +From a0cd1597b6b505c8d72406d31cf408933b2993e9 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Mon, 16 Oct 2017 17:00:26 +0200 Subject: [PATCH 34/39] ARM64: dts: odroid-c2: Add HDMI and CEC Nodes @@ -12,7 +12,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 30 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -index 4221e1ffb454..dc3d1badf9ce 100644 +index 4221e1f..dc3d1ba 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts @@ -135,6 +135,24 @@ @@ -60,5 +60,5 @@ index 4221e1ffb454..dc3d1badf9ce 100644 status = "okay"; pinctrl-0 = <&i2c_a_pins>; -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0035-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0035-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch index 3e7b61787..205e425b1 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0035-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0035-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch @@ -1,4 +1,4 @@ -From 1f0b2f23136a50e6516f1c3eff2d22ab74ac6af8 Mon Sep 17 00:00:00 2001 +From bc1416cbeb6fb588e8573c9904b691259d173093 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Wed, 20 Sep 2017 18:10:08 +0200 Subject: [PATCH 35/39] ARM64: dts: meson: activate hdmi audio HDMI enabled @@ -27,7 +27,7 @@ Signed-off-by: Neil Armstrong 11 files changed, 408 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi -index 979abaf1421b..91b7ac89228e 100644 +index 979abaf..91b7ac8 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi @@ -130,6 +130,31 @@ @@ -82,7 +82,7 @@ index 979abaf1421b..91b7ac89228e 100644 cvbs_vdac_out: endpoint { remote-endpoint = <&cvbs_connector_in>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts -index 9a773239dcef..2357a3872d02 100644 +index 9a77323..2357a38 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts @@ -143,6 +143,31 @@ @@ -138,7 +138,7 @@ index 9a773239dcef..2357a3872d02 100644 status = "okay"; pinctrl-0 = <ð_rmii_pins>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -index dc3d1badf9ce..4e0b3c7ec081 100644 +index dc3d1ba..4e0b3c7 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts @@ -146,6 +146,31 @@ @@ -193,7 +193,7 @@ index dc3d1badf9ce..4e0b3c7ec081 100644 status = "okay"; pinctrl-0 = <ð_rgmii_pins>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi -index 932158a778ef..c9d48709fa82 100644 +index 932158a..c9d4870 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi @@ -149,6 +149,31 @@ @@ -248,7 +248,7 @@ index 932158a778ef..c9d48709fa82 100644 cvbs_vdac_out: endpoint { remote-endpoint = <&cvbs_connector_in>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts -index f7144fd5e03f..58a0f5159d7f 100644 +index f7144fd..58a0f51 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts @@ -106,6 +106,31 @@ @@ -303,7 +303,7 @@ index f7144fd5e03f..58a0f5159d7f 100644 cvbs_vdac_out: endpoint { remote-endpoint = <&cvbs_connector_in>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts -index f7b37de01e7a..ce92ca587b07 100644 +index f7b37de..ce92ca5 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts @@ -65,6 +65,31 @@ @@ -358,7 +358,7 @@ index f7b37de01e7a..ce92ca587b07 100644 status = "okay"; pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts -index 0c4ed4eec11a..29d8e01668e2 100644 +index 0c4ed4e..29d8e01 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts @@ -83,6 +83,31 @@ @@ -413,7 +413,7 @@ index 0c4ed4eec11a..29d8e01668e2 100644 cvbs_vdac_out: endpoint { remote-endpoint = <&cvbs_connector_in>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts -index 0fdebcc698a6..dcb571adba01 100644 +index 0fdebcc..dcb571a 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts @@ -138,6 +138,31 @@ @@ -468,7 +468,7 @@ index 0fdebcc698a6..dcb571adba01 100644 cvbs_vdac_out: endpoint { remote-endpoint = <&cvbs_connector_in>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts -index 4f6b1c97df44..f23f1482e3a9 100644 +index 4f6b1c9..f23f148 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts @@ -69,6 +69,31 @@ @@ -523,7 +523,7 @@ index 4f6b1c97df44..f23f1482e3a9 100644 cvbs_vdac_out: endpoint { remote-endpoint = <&cvbs_connector_in>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts -index 4537a81fb9de..aed2a54fb1e9 100644 +index 4537a81..aed2a54 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts @@ -88,6 +88,31 @@ @@ -578,7 +578,7 @@ index 4537a81fb9de..aed2a54fb1e9 100644 cooling-min-level = <0>; cooling-max-level = <6>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts -index e70b5e29e5fe..8444f7983675 100644 +index e70b5e2..8444f79 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts @@ -111,6 +111,31 @@ @@ -633,5 +633,5 @@ index e70b5e29e5fe..8444f7983675 100644 cvbs_vdac_out: endpoint { remote-endpoint = <&cvbs_connector_in>; -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0036-net-phy-meson-gxl-detect-LPA-corruption.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0036-net-phy-meson-gxl-detect-LPA-corruption.patch index be8093cb2..f08a85a7c 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0036-net-phy-meson-gxl-detect-LPA-corruption.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0036-net-phy-meson-gxl-detect-LPA-corruption.patch @@ -1,4 +1,4 @@ -From 44bdde1f7bfc970011fe7c063d70d5fd08f777be Mon Sep 17 00:00:00 2001 +From 9afb9faf483008a1d16202818d895099e5c932bb Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Fri, 8 Dec 2017 12:08:11 +0100 Subject: [PATCH 36/39] net: phy: meson-gxl: detect LPA corruption @@ -29,7 +29,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/drivers/net/phy/meson-gxl.c b/drivers/net/phy/meson-gxl.c -index 1ea69b7585d9..700007dd4be5 100644 +index 7ddb709..b21f607 100644 --- a/drivers/net/phy/meson-gxl.c +++ b/drivers/net/phy/meson-gxl.c @@ -22,6 +22,7 @@ @@ -40,7 +40,7 @@ index 1ea69b7585d9..700007dd4be5 100644 static int meson_gxl_config_init(struct phy_device *phydev) { -@@ -50,6 +51,77 @@ static int meson_gxl_config_init(struct phy_device *phydev) +@@ -76,6 +77,77 @@ static int meson_gxl_config_init(struct phy_device *phydev) return 0; } @@ -118,7 +118,7 @@ index 1ea69b7585d9..700007dd4be5 100644 static struct phy_driver meson_gxl_phy[] = { { .phy_id = 0x01814400, -@@ -60,7 +132,7 @@ static struct phy_driver meson_gxl_phy[] = { +@@ -86,7 +158,7 @@ static struct phy_driver meson_gxl_phy[] = { .config_init = meson_gxl_config_init, .config_aneg = genphy_config_aneg, .aneg_done = genphy_aneg_done, @@ -128,5 +128,5 @@ index 1ea69b7585d9..700007dd4be5 100644 .resume = genphy_resume, }, -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0037-drm-meson-fix-vsync-buffer-update.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0037-drm-meson-fix-vsync-buffer-update.patch index aa7a98962..0a23c1a7b 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0037-drm-meson-fix-vsync-buffer-update.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0037-drm-meson-fix-vsync-buffer-update.patch @@ -1,4 +1,4 @@ -From 15676d9349ad1b295b0e3c6b97b49b98977dcf67 Mon Sep 17 00:00:00 2001 +From 61ceaf782220a596ac845483d00d50752f7c6e14 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Thu, 15 Feb 2018 10:38:47 +0100 Subject: [PATCH 37/39] drm/meson: fix vsync buffer update @@ -11,7 +11,7 @@ Signed-off-by: Neil Armstrong 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/meson/meson_crtc.c b/drivers/gpu/drm/meson/meson_crtc.c -index 5155f0179b61..05520202c967 100644 +index 5155f01..0552020 100644 --- a/drivers/gpu/drm/meson/meson_crtc.c +++ b/drivers/gpu/drm/meson/meson_crtc.c @@ -36,6 +36,7 @@ @@ -35,7 +35,7 @@ index 5155f0179b61..05520202c967 100644 writel_bits_relaxed(VPP_OSD1_POSTBLEND, VPP_OSD1_POSTBLEND, priv->io_base + _REG(VPP_MISC)); diff --git a/drivers/gpu/drm/meson/meson_drv.h b/drivers/gpu/drm/meson/meson_drv.h -index 5e8b392b9d1f..8450d6ac8c9b 100644 +index 5e8b392..8450d6ac 100644 --- a/drivers/gpu/drm/meson/meson_drv.h +++ b/drivers/gpu/drm/meson/meson_drv.h @@ -43,6 +43,9 @@ struct meson_drm { @@ -49,7 +49,7 @@ index 5e8b392b9d1f..8450d6ac8c9b 100644 struct { diff --git a/drivers/gpu/drm/meson/meson_plane.c b/drivers/gpu/drm/meson/meson_plane.c -index 17e96fa47868..0b6011b8d632 100644 +index 17e96fa..0b6011b 100644 --- a/drivers/gpu/drm/meson/meson_plane.c +++ b/drivers/gpu/drm/meson/meson_plane.c @@ -164,10 +164,9 @@ static void meson_plane_atomic_update(struct drm_plane *plane, @@ -67,5 +67,5 @@ index 17e96fa47868..0b6011b8d632 100644 spin_unlock_irqrestore(&priv->drm->event_lock, flags); } -- -2.16.1 +2.7.4 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0038-ARM64-dts-meson-bump-mali450-clk-to-744MHz.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0038-ARM64-dts-meson-bump-mali450-clk-to-744MHz.patch new file mode 100644 index 000000000..ac9930839 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0038-ARM64-dts-meson-bump-mali450-clk-to-744MHz.patch @@ -0,0 +1,66 @@ +From 63ffa5db0046106f6c3b8687e200e17599e14b9f Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Fri, 23 Feb 2018 11:18:11 +0100 +Subject: [PATCH 38/39] ARM64: dts: meson: bump mali450 clk to 744MHz + +Signed-off-by: Neil Armstrong +--- + arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 11 +++++++---- + arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi | 11 +++++++---- + 2 files changed, 14 insertions(+), 8 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +index b5b6b33..d00a9f2 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +@@ -288,14 +288,17 @@ + * MALI_0 and MALI_1 muxed to a single clock by a glitch + * free mux to safely change frequency while running. + */ +- assigned-clocks = <&clkc CLKID_MALI_0_SEL>, ++ assigned-clocks = <&clkc CLKID_GP0_PLL>, ++ <&clkc CLKID_MALI_0_SEL>, + <&clkc CLKID_MALI_0>, + <&clkc CLKID_MALI>; /* Glitch free mux */ +- assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>, ++ assigned-clock-parents = <0>, /* Do Nothing */ ++ <&clkc CLKID_GP0_PLL>, + <0>, /* Do Nothing */ + <&clkc CLKID_MALI_0>; +- assigned-clock-rates = <0>, /* Do Nothing */ +- <666666666>, ++ assigned-clock-rates = <744000000>, ++ <0>, /* Do Nothing */ ++ <744000000>, + <0>; /* Do Nothing */ + }; + }; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi +index f06cc234..972df67 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi +@@ -30,14 +30,17 @@ + * MALI_0 and MALI_1 muxed to a single clock by a glitch + * free mux to safely change frequency while running. + */ +- assigned-clocks = <&clkc CLKID_MALI_0_SEL>, ++ assigned-clocks = <&clkc CLKID_GP0_PLL>, ++ <&clkc CLKID_MALI_0_SEL>, + <&clkc CLKID_MALI_0>, + <&clkc CLKID_MALI>; /* Glitch free mux */ +- assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>, ++ assigned-clock-parents = <0>, /* Do Nothing */ ++ <&clkc CLKID_GP0_PLL>, + <0>, /* Do Nothing */ + <&clkc CLKID_MALI_0>; +- assigned-clock-rates = <0>, /* Do Nothing */ +- <666666666>, ++ assigned-clock-rates = <744000000>, ++ <0>, /* Do Nothing */ ++ <744000000>, + <0>; /* Do Nothing */ + }; + }; +-- +2.7.4 + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0038-Add-3.5-Touchscreen-sx865x-driver.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0038-Add-3.5-Touchscreen-sx865x-driver.patch deleted file mode 100644 index 7bbce26a1..000000000 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0038-Add-3.5-Touchscreen-sx865x-driver.patch +++ /dev/null @@ -1,580 +0,0 @@ -From 4cc7818334f585505f7c1e701f9322ae66131a87 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 16 Feb 2018 23:33:51 -0800 -Subject: [PATCH 38/39] Add 3.5" Touchscreen(sx865x) driver. - -Signed-off-by: Khem Raj ---- - drivers/input/touchscreen/Kconfig | 11 + - drivers/input/touchscreen/Makefile | 1 + - drivers/input/touchscreen/sx865x.c | 529 +++++++++++++++++++++++++++++++++++++ - 3 files changed, 541 insertions(+) - create mode 100755 drivers/input/touchscreen/sx865x.c - -diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig -index 64b30fe273fd..20fb6e0b12a9 100644 ---- a/drivers/input/touchscreen/Kconfig -+++ b/drivers/input/touchscreen/Kconfig -@@ -1246,4 +1246,15 @@ config TOUCHSCREEN_ROHM_BU21023 - To compile this driver as a module, choose M here: the - module will be called bu21023_ts. - -+config TOUCHSCREEN_SX865X -+ tristate "Semtech multitouch resistive touchscreen" -+ depends on I2C -+ help -+ Say Y here if you have a touchscreen using Semtec sx8650 controller. -+ -+ If unsure, say N. -+ -+ To compile this driver as a module, choose M here: the -+ module will be called sx865x. -+ - endif -diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile -index 850c1562555a..4225c297a3fc 100644 ---- a/drivers/input/touchscreen/Makefile -+++ b/drivers/input/touchscreen/Makefile -@@ -104,3 +104,4 @@ obj-$(CONFIG_TOUCHSCREEN_ZET6223) += zet6223.o - obj-$(CONFIG_TOUCHSCREEN_ZFORCE) += zforce_ts.o - obj-$(CONFIG_TOUCHSCREEN_COLIBRI_VF50) += colibri-vf50-ts.o - obj-$(CONFIG_TOUCHSCREEN_ROHM_BU21023) += rohm_bu21023.o -+obj-$(CONFIG_TOUCHSCREEN_SX865X) += sx865x.o -diff --git a/drivers/input/touchscreen/sx865x.c b/drivers/input/touchscreen/sx865x.c -new file mode 100755 -index 000000000000..446c4b39a873 ---- /dev/null -+++ b/drivers/input/touchscreen/sx865x.c -@@ -0,0 +1,529 @@ -+/* -+ * drivers/input/touchscreen/sx865x.c -+ * -+ * Copyright (c) 2013 U-MoBo Srl -+ * Pierluigi Passaro -+ * -+ * Using code from: -+ * - sx8650.c -+ * Copyright (c) 2009 Wayne Roberts -+ * - tsc2007.c -+ * Copyright (c) 2008 Kwangwoo Lee -+ * - ads7846.c -+ * Copyright (c) 2005 David Brownell -+ * Copyright (c) 2006 Nokia Corporation -+ * - corgi_ts.c -+ * Copyright (C) 2004-2005 Richard Purdie -+ * - omap_ts.[hc], ads7846.h, ts_osk.c -+ * Copyright (C) 2002 MontaVista Software -+ * Copyright (C) 2004 Texas Instruments -+ * Copyright (C) 2005 Dirk Behme -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* timeout expires after pen is lifted, no more PENIRQs comming */ -+/* adjust with POWDLY setting */ -+#define TS_TIMEOUT (8 * 1000000) -+ -+/* analog channels */ -+#define CH_X 0 -+#define CH_Y 1 -+#define CH_Z1 2 -+#define CH_Z2 3 -+#define CH_AUX 4 -+#define CH_RX 5 -+#define CH_RY 6 -+#define CH_SEQ 7 -+ -+/* commands */ -+#define SX865X_WRITE_REGISTER 0x00 -+#define SX865X_READ_REGISTER 0x40 -+#define SX865X_SELECT_CH(ch) (0x80 | ch) -+#define SX865X_CONVERT_CH(ch) (0x90 | ch) -+#define SX865X_POWDWN 0xb0 /* power down, ignore pen */ -+#define SX865X_PENDET 0xc0 /* " " with pen sensitivity */ -+#define SX865X_PENTRG 0xe0 /* " " " " and sample channels */ -+ -+/* register addresses */ -+#define I2C_REG_CTRL0 0x00 -+#define I2C_REG_CTRL1 0x01 -+#define I2C_REG_CTRL2 0x02 -+#define I2C_REG_CTRL3 0x03 -+#define I2C_REG_CHANMASK 0x04 -+#define I2C_REG_STAT 0x05 -+#define I2C_REG_SOFTRESET 0x1f -+ -+#define I2C_EXTENDED_REG_STAT 0x24 -+#define I2C_EXTENDED_REG_SOFTRESET 0x3f -+ -+#define SOFTRESET_VALUE 0xde -+ -+/* bits for I2C_REG_STAT */ -+/* I2C_REG_STAT: end of conversion flag */ -+#define STATUS_CONVIRQ 0x80 -+/* I2C_REG_STAT: pen detected */ -+#define STATUS_PENIRQ 0x40 -+ -+/* bits for I2C_EXTENDED_REG_STAT */ -+/* I2C_EXTENDED_REG_STAT: end of conversion flag */ -+#define EXTENDED_STATUS_CONVIRQ 0x08 -+/* I2C_EXTENDED_REG_STAT: pen detected */ -+#define EXTENDED_STATUS_PENIRQ 0x04 -+ -+/* sx865x bits for RegCtrl1 */ -+#define CONDIRQ 0x20 -+/* no averaging */ -+#define FILT_NONE 0x00 -+/* 3 sample averaging */ -+#define FILT_3SA 0x01 -+/* 5 sample averaging */ -+#define FILT_5SA 0x02 -+/* 7 samples, sort, then average of 3 middle samples */ -+#define FILT_7SA 0x03 -+ -+/* bits for register 2, I2CRegChanMsk */ -+#define CONV_X 0x80 -+#define CONV_Y 0x40 -+#define CONV_Z1 0x20 -+#define CONV_Z2 0x10 -+#define CONV_AUX 0x08 -+#define CONV_RX 0x04 -+#define CONV_RY 0x02 -+ -+/* power delay: lower nibble of CTRL0 register */ -+#define POWDLY_IMMEDIATE 0x00 -+#define POWDLY_1_1US 0x01 -+#define POWDLY_2_2US 0x02 -+#define POWDLY_4_4US 0x03 -+#define POWDLY_8_9US 0x04 -+#define POWDLY_17_8US 0x05 -+#define POWDLY_35_5US 0x06 -+#define POWDLY_71US 0x07 -+#define POWDLY_140US 0x08 -+#define POWDLY_280US 0x09 -+#define POWDLY_570US 0x0a -+#define POWDLY_1_1MS 0x0b -+#define POWDLY_2_3MS 0x0c -+#define POWDLY_4_6MS 0x0d -+#define POWDLY_9MS 0x0e -+#define POWDLY_18MS 0x0f -+ -+#define MAX_12BIT ((1 << 12) - 1) -+ -+/* when changing the channel mask, also change the read length appropriately */ -+#define CHAN_MASK (CONV_X | CONV_Y | CONV_Z1 | CONV_RX | CONV_RY) -+#define NUM_CHANNELS_SEQ 5 -+#define CHAN_READ_LENGTH (NUM_CHANNELS_SEQ * 2) -+ -+#define SX_MULTITOUCH 0x01 -+#define SX_PROXIMITY_SENSING 0x02 -+#define SX_HAPTICS_GENERIC 0x04 -+#define SX_HAPTICS_IMMERSION 0x08 -+#define SX_EXTENDED_REGS (SX_PROXIMITY_SENSING | SX_HAPTICS_GENERIC | SX_HAPTICS_IMMERSION) -+ -+#define SX865X_UP_SCANTIME_MS (100) -+#define SX865X_DOWN_SCANTIME_MS (20) -+ -+struct ts_event { -+ u16 x, y; -+ u16 z1; -+ u16 rx, ry; -+}; -+ -+struct sx865x { -+ struct input_dev *input; -+ struct ts_event tc; -+ -+ struct i2c_client *client; -+ -+ u32 invert_x; -+ u32 invert_y; -+ u32 swap_xy; -+ u32 gpio_pendown; -+ u32 gpio_reset; -+ -+ unsigned pendown; -+ int irq; -+}; -+ -+static struct i2c_device_id sx865x_idtable[] = { -+ { "sx8650", 0 }, -+ { } -+}; -+ -+MODULE_DEVICE_TABLE(i2c, sx865x_idtable); -+ -+static const struct of_device_id sx865x_of_match[] = { -+ { .compatible = "semtech,sx8650", .data = (void *)0 }, -+ {} -+}; -+ -+MODULE_DEVICE_TABLE(of, sx865x_of_match); -+ -+static void sx865x_send_event(struct sx865x *ts) -+{ -+ u32 rt; -+ u16 x, y, z1; -+ -+ x = ts->tc.x; -+ y = ts->tc.y; -+ z1 = ts->tc.z1; -+ -+ /* range filtering */ -+ if (y == MAX_12BIT) -+ y = 0; -+ -+ /* compute touch pressure resistance */ -+ if (likely(y && z1)) -+ rt = z1; -+ else -+ rt = 0; -+ -+ /* Sample found inconsistent by debouncing or pressure is beyond -+ * the maximum. Don't report it to user space, repeat at least -+ * once more the measurement -+ */ -+ if (rt > MAX_12BIT) { -+ dev_dbg(&ts->client->dev, "ignored pressure %d\n", rt); -+ return; -+ } -+ -+ /* NOTE: We can't rely on the pressure to determine the pen down -+ * state, even this controller has a pressure sensor. The pressure -+ * value can fluctuate for quite a while after lifting the pen and -+ * in some cases may not even settle at the expected value. -+ * -+ * The only safe way to check for the pen up condition is in the -+ * timer by reading the pen signal state (it's a GPIO _and_ IRQ). -+ */ -+ if (rt) { -+ struct input_dev *input = ts->input; -+ -+ if (ts->invert_x) x = (~x) & MAX_12BIT; -+ -+ if (ts->invert_y) y = (~y) & MAX_12BIT; -+ -+ if (ts->swap_xy) swap(x, y); -+ -+ if (!ts->pendown) { -+ dev_dbg(&ts->client->dev, "DOWN\n"); -+ ts->pendown = 1; -+ input_report_key(input, BTN_TOUCH, 1); -+ } -+ -+ input_report_abs(input, ABS_X, x); -+ input_report_abs(input, ABS_Y, y); -+ input_report_abs(input, ABS_PRESSURE, rt); -+ input_sync(input); -+ -+ dev_dbg(&ts->client->dev, "point(%4d,%4d), pressure (%4u)\n", -+ x, y, rt); -+ } -+} -+ -+static int sx865x_read_values(struct sx865x *ts) -+{ -+ s32 data; -+ u16 vals[NUM_CHANNELS_SEQ+1]; /* +1 for last dummy read */ -+ int length; -+ int i; -+ -+ memset(&(ts->tc), 0, sizeof(ts->tc)); -+ /* The protocol and raw data format from i2c interface: -+ * S Addr R A [DataLow] A [DataHigh] A (repeat) NA P -+ * Where DataLow has (channel | [D11-D8]), DataHigh has [D7-D0]. -+ */ -+ length = i2c_master_recv(ts->client, (char *)vals, CHAN_READ_LENGTH); -+ -+ if (likely(length == CHAN_READ_LENGTH)) { -+ length >>= 1; -+ for (i = 0; i < length; i++) { -+ u16 ch; -+ data = swab16(vals[i]); -+ if (unlikely(data & 0x8000)) { -+ dev_dbg(&ts->client->dev, -+ "hibit @ %d [0x%04x]\n", i, data); -+ continue; -+ } -+ ch = data >> 12; -+ if (ch == CH_X) { -+ ts->tc.x = data & 0xfff; -+ } else if (ch == CH_Y) { -+ ts->tc.y = data & 0xfff; -+ } else if (ch == CH_Z1) { -+ ts->tc.z1 = data & 0xfff; -+ } else if (ch == CH_RX) { -+ ts->tc.rx = data & 0xfff; -+ } else if (ch == CH_RY) { -+ ts->tc.ry = data & 0xfff; -+ } else { -+ dev_err(&ts->client->dev, "? CH%d %x\n", -+ ch, data & 0xfff); -+ } -+ } -+ } else { -+ dev_err(&ts->client->dev, "%d = recv()\n", length); -+ } -+ -+ dev_dbg(&ts->client->dev, "X:%03x Y:%03x Z1:%03x RX:%03x RY:%03x\n", -+ ts->tc.x, ts->tc.y, ts->tc.z1, ts->tc.rx, ts->tc.ry); -+ -+ return !ts->tc.z1; /* return 0 only if pressure not 0 */ -+} -+ -+static void sx865x_pen_up(struct sx865x *ts) -+{ -+ struct input_dev *input = ts->input; -+ -+ /* This timer expires after PENIRQs havent been coming in for some time. -+ * It means that the pen is now UP. */ -+ input_report_key(input, BTN_TOUCH, 0); -+ input_report_abs(input, ABS_PRESSURE, 0); -+ input_sync(input); -+ -+ ts->pendown = 0; -+ dev_dbg(&ts->client->dev, "UP\n"); -+} -+ -+static int sx865x_data_available(struct sx865x *ts) -+{ -+ u8 status; -+ -+ status = i2c_smbus_read_byte_data(ts->client, -+ (SX865X_READ_REGISTER | I2C_REG_STAT)); -+ return status & STATUS_CONVIRQ; -+} -+ -+static int get_pendown_status(struct sx865x *ts) -+{ -+ return gpio_get_value(ts->gpio_pendown) ? 0 : 1; -+} -+ -+static irqreturn_t sx865x_hw_irq(int irq, void *handle) -+{ -+ struct sx865x *ts = handle; -+ -+ return get_pendown_status(ts) ? IRQ_WAKE_THREAD : IRQ_HANDLED; -+} -+ -+static irqreturn_t sx865x_irq(int irq, void *handle) -+{ -+ struct sx865x *ts = handle; -+ -+ while (sx865x_data_available(ts)) { -+ /* valid data was read in */ -+ if (likely(sx865x_read_values(ts) == 0)) -+ sx865x_send_event(ts); -+ else -+ dev_dbg(&ts->client->dev, "data error!\n"); -+ -+ msleep(SX865X_DOWN_SCANTIME_MS); -+ } -+ -+ if (ts->pendown) -+ sx865x_pen_up(ts); -+ -+ return IRQ_HANDLED; -+} -+ -+static void sx865x_hw_reset(struct sx865x *ts) -+{ -+ gpio_direction_output(ts->gpio_reset, 0); -+ udelay(1000); -+ gpio_direction_output(ts->gpio_reset, 1); -+ udelay(1000); -+} -+ -+static int sx865x_dt_probe(struct i2c_client *client, struct sx865x *ts) -+{ -+ struct device_node *node = client->dev.of_node; -+ const struct of_device_id *match; -+ -+ if (!node) { -+ dev_err(&client->dev, -+ "Device dost not have associated DT data\n"); -+ goto err_out; -+ } -+ -+ match = of_match_device(sx865x_of_match, &client->dev); -+ if (!match) { -+ dev_err(&client->dev, -+ "Unknown device model\n"); -+ goto err_out; -+ } -+ -+ of_property_read_u32(node, "swap-xy", &ts->swap_xy); -+ of_property_read_u32(node, "invert-x", &ts->invert_x); -+ of_property_read_u32(node, "invert-y", &ts->invert_y); -+ -+ ts->gpio_pendown = of_get_named_gpio(node, "gpio-pendown", 0); -+ ts->gpio_reset = of_get_named_gpio(node, "gpio-reset", 0); -+ -+ if (gpio_request(ts->gpio_pendown, "ts-pendown")) { -+ dev_err(&client->dev, -+ "gpio request fail (%d)!\n", ts->gpio_pendown); -+ goto err_out; -+ } -+ else -+ gpio_direction_input(ts->gpio_pendown); -+ -+ if (gpio_request(ts->gpio_reset, "ts-reset")) { -+ dev_err(&client->dev, -+ "gpio request fail (%d)!\n", ts->gpio_reset); -+ goto err_out; -+ } -+ else -+ sx865x_hw_reset(ts); -+ -+ ts->irq = gpio_to_irq(ts->gpio_pendown); -+ if (ts->irq < 0) -+ goto err_out; -+ -+ /* platform data info display */ -+ dev_info(&client->dev, "swap_xy (%d)\n", ts->swap_xy); -+ dev_info(&client->dev, "invert_x (%d)\n", ts->invert_x); -+ dev_info(&client->dev, "invert_y (%d)\n", ts->invert_y); -+ dev_info(&client->dev, "gpio pendown (%d)\n", ts->gpio_pendown); -+ dev_info(&client->dev, "gpio reset (%d)\n", ts->gpio_reset); -+ dev_info(&client->dev, "gpio irq (%d)\n", ts->irq); -+ -+ return 0; -+err_out: -+ return -EINVAL; -+} -+ -+static int sx865x_probe(struct i2c_client *client, -+ const struct i2c_device_id *id) -+{ -+ struct sx865x *ts; -+ struct input_dev *input_dev; -+ int err = 0; -+ -+ dev_info(&client->dev, "sx865x_probe()\n"); -+ -+ if (!i2c_check_functionality(client->adapter, -+ I2C_FUNC_SMBUS_READ_WORD_DATA)) -+ return -EIO; -+ -+ ts = devm_kzalloc(&client->dev, sizeof(struct sx865x), GFP_KERNEL); -+ input_dev = devm_input_allocate_device(&client->dev); -+ if (!ts || !input_dev) -+ return -ENOMEM; -+ -+ if (sx865x_dt_probe(client, ts) != 0) -+ return -EIO; -+ -+ i2c_set_clientdata(client, ts); -+ -+ input_dev->name = "SX865X Touchscreen"; -+ input_dev->id.bustype = BUS_I2C; -+ input_dev->dev.parent = &client->dev; -+ input_set_drvdata(input_dev, ts); -+ -+ input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); -+ input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH); -+ -+ input_set_abs_params(input_dev, ABS_X, 0, MAX_12BIT, 0, 0); -+ input_set_abs_params(input_dev, ABS_Y, 0, MAX_12BIT, 0, 0); -+ input_set_abs_params(input_dev, ABS_PRESSURE, 0, MAX_12BIT, 0, 0); -+ -+ /* soft reset: SX8650 fails to nak at the end, ignore return value */ -+ i2c_smbus_write_byte_data(client, I2C_REG_SOFTRESET, SOFTRESET_VALUE); -+ -+ /* set mask to convert X, Y, Z1, RX, RY for CH_SEQ */ -+ err = i2c_smbus_write_byte_data(client, I2C_REG_CHANMASK, CHAN_MASK); -+ if (err != 0) return -EIO; -+ -+ err = i2c_smbus_write_byte_data(client, I2C_REG_CTRL1, -+ CONDIRQ | FILT_7SA); -+ if (err != 0) return -EIO; -+ -+ /* set POWDLY settling time -- adjust TS_TIMEOUT accordingly */ -+ err = i2c_smbus_write_byte_data(client, I2C_REG_CTRL0, POWDLY_1_1MS); -+ if (err != 0) return -EIO; -+ -+ /* enter pen-trigger mode */ -+ err = i2c_smbus_write_byte(client, SX865X_PENTRG); -+ if (err != 0) return -EIO; -+ -+ err = request_threaded_irq(ts->irq, sx865x_hw_irq, sx865x_irq, -+ IRQF_TRIGGER_FALLING | IRQF_ONESHOT, -+ client->dev.driver->name, ts); -+ -+ if (err < 0) { -+ dev_err(&client->dev, "irq %d busy?\n", ts->irq); -+ return -EIO; -+ } -+ -+ err = input_register_device(input_dev); -+ if (err) -+ goto err_free_irq; -+ -+ ts->client = client; -+ ts->input = input_dev; -+ -+ dev_info(&client->dev, "probe ok! registered with irq (%d)\n", ts->irq); -+ -+ return 0; -+ -+err_free_irq: -+ if (ts->gpio_pendown) -+ gpio_free(ts->gpio_pendown); -+ if (ts->gpio_reset) -+ gpio_free(ts->gpio_reset); -+ if (ts->irq) -+ free_irq(ts->irq, ts); -+ return err; -+} -+ -+static int sx865x_remove(struct i2c_client *client) -+{ -+ struct sx865x *ts = i2c_get_clientdata(client); -+ struct sx865x_platform_data *pdata; -+ -+ pdata = client->dev.platform_data; -+ -+ if (ts->gpio_pendown) -+ gpio_free(ts->gpio_pendown); -+ if (ts->gpio_reset) -+ gpio_free(ts->gpio_reset); -+ if (ts->irq) -+ free_irq(ts->irq, ts); -+ -+ input_unregister_device(ts->input); -+ -+ return 0; -+} -+ -+static struct i2c_driver sx865x_driver = { -+ .driver = { -+ .owner = THIS_MODULE, -+ .name = "sx865x", -+ .of_match_table = of_match_ptr(sx865x_of_match), -+ }, -+ .id_table = sx865x_idtable, -+ .probe = sx865x_probe, -+ .remove = sx865x_remove, -+}; -+ -+module_i2c_driver(sx865x_driver); -+ -+MODULE_AUTHOR("Pierluigi Passaro "); -+MODULE_DESCRIPTION("SX865X TouchScreen Driver"); -+MODULE_LICENSE("GPL"); --- -2.16.1 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0039-drm-meson-Add-support-for-DMT-modes-on-HDMI.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0039-drm-meson-Add-support-for-DMT-modes-on-HDMI.patch new file mode 100644 index 000000000..9cd2dbd1b --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0039-drm-meson-Add-support-for-DMT-modes-on-HDMI.patch @@ -0,0 +1,773 @@ +From 8da289631087c90a3b644cbdd124bee7f7b348f3 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Thu, 8 Mar 2018 16:35:34 +0100 +Subject: [PATCH 39/39] drm/meson: Add support for DMT modes on HDMI + +This patch adds support for DMT display modes over HDMI. +The modes timings configurations are from the Amlogic Vendor linux tree +and tested over multiples monitors. +Previously only a selected number of CEA modes were supported. + +Only these following modes are supported with these changes: +- 640x480@60Hz +- 800x600@60Hz +- 1024x768@60Hz +- 1152x864@75Hz +- 1280x1024@60Hz +- 1600x1200@60Hz +- 1920x1080@60Hz + +The associated code to handle the clock rates is also added. + +Signed-off-by: Neil Armstrong +--- + drivers/gpu/drm/meson/meson_dw_hdmi.c | 22 +-- + drivers/gpu/drm/meson/meson_vclk.c | 219 ++++++++++++++++++++- + drivers/gpu/drm/meson/meson_venc.c | 347 +++++++++++++++++++++++++++++++++- + drivers/gpu/drm/meson/meson_venc.h | 1 + + 4 files changed, 570 insertions(+), 19 deletions(-) + +diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c +index 17de3af..9d70ed6 100644 +--- a/drivers/gpu/drm/meson/meson_dw_hdmi.c ++++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c +@@ -537,7 +537,6 @@ static irqreturn_t dw_hdmi_top_thread_irq(int irq, void *dev_id) + return IRQ_HANDLED; + } + +-/* TOFIX Enable support for non-vic modes */ + static enum drm_mode_status + dw_hdmi_mode_valid(struct drm_connector *connector, + const struct drm_display_mode *mode) +@@ -554,12 +553,12 @@ dw_hdmi_mode_valid(struct drm_connector *connector, + mode->vdisplay, mode->vsync_start, + mode->vsync_end, mode->vtotal, mode->type, mode->flags); + +- /* For now, only accept VIC modes */ +- if (!vic) +- return MODE_BAD; +- +- /* For now, filter by supported VIC modes */ +- if (!meson_venc_hdmi_supported_vic(vic)) ++ /* Check against non-VIC supported modes */ ++ if (!vic) { ++ if (!meson_venc_hdmi_supported_mode(mode)) ++ return MODE_BAD; ++ /* Check against supported VIC modes */ ++ } else if (!meson_venc_hdmi_supported_vic(vic)) + return MODE_BAD; + + vclk_freq = mode->clock; +@@ -585,9 +584,14 @@ dw_hdmi_mode_valid(struct drm_connector *connector, + + /* Finally filter by configurable vclk frequencies */ + switch (vclk_freq) { ++ case 25175: ++ case 40000: + case 54000: ++ case 65000: + case 74250: ++ case 108000: + case 148500: ++ case 162000: + case 297000: + case 594000: + return MODE_OK; +@@ -652,10 +656,6 @@ static void meson_venc_hdmi_encoder_mode_set(struct drm_encoder *encoder, + DRM_DEBUG_DRIVER("%d:\"%s\" vic %d\n", + mode->base.id, mode->name, vic); + +- /* Should have been filtered */ +- if (!vic) +- return; +- + /* VENC + VENC-DVI Mode setup */ + meson_venc_hdmi_mode_set(priv, vic, mode); + +diff --git a/drivers/gpu/drm/meson/meson_vclk.c b/drivers/gpu/drm/meson/meson_vclk.c +index 4767704..f051122 100644 +--- a/drivers/gpu/drm/meson/meson_vclk.c ++++ b/drivers/gpu/drm/meson/meson_vclk.c +@@ -328,14 +328,24 @@ static void meson_venci_cvbs_clock_config(struct meson_drm *priv) + #define MESON_VCLK_HDMI_DDR_54000 2 + /* 2970 /4 /1 /1 /5 /1 => /1 /2 */ + #define MESON_VCLK_HDMI_DDR_148500 3 ++/* 4028 /4 /4 /1 /5 /2 => /1 /1 */ ++#define MESON_VCLK_HDMI_25175 4 ++/* 3200 /4 /2 /1 /5 /2 => /1 /1 */ ++#define MESON_VCLK_HDMI_40000 5 ++/* 5200 /4 /2 /1 /5 /2 => /1 /1 */ ++#define MESON_VCLK_HDMI_65000 6 + /* 2970 /2 /2 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_74250 4 ++#define MESON_VCLK_HDMI_74250 7 ++/* 4320 /4 /1 /1 /5 /2 => /1 /1 */ ++#define MESON_VCLK_HDMI_108000 8 + /* 2970 /1 /2 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_148500 5 ++#define MESON_VCLK_HDMI_148500 9 ++/* 3240 /2 /1 /1 /5 /2 => /1 /1 */ ++#define MESON_VCLK_HDMI_162000 10 + /* 2970 /1 /1 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_297000 6 ++#define MESON_VCLK_HDMI_297000 11 + /* 5940 /1 /1 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_594000 7 ++#define MESON_VCLK_HDMI_594000 12 + + struct meson_vclk_params { + unsigned int pll_base_freq; +@@ -401,6 +411,46 @@ struct meson_vclk_params { + .vid_pll_div = VID_PLL_DIV_5, + .vclk_div = 1, + }, ++ [MESON_VCLK_HDMI_25175] = { ++ .pll_base_freq = 4028000, ++ .pll_od1 = 4, ++ .pll_od2 = 4, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, ++ [MESON_VCLK_HDMI_40000] = { ++ .pll_base_freq = 3200000, ++ .pll_od1 = 4, ++ .pll_od2 = 2, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, ++ [MESON_VCLK_HDMI_65000] = { ++ .pll_base_freq = 5200000, ++ .pll_od1 = 4, ++ .pll_od2 = 2, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, ++ [MESON_VCLK_HDMI_108000] = { ++ .pll_base_freq = 4320000, ++ .pll_od1 = 4, ++ .pll_od2 = 1, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, ++ [MESON_VCLK_HDMI_162000] = { ++ .pll_base_freq = 3240000, ++ .pll_od1 = 2, ++ .pll_od2 = 1, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, + }; + + static inline unsigned int pll_od_to_reg(unsigned int od) +@@ -451,6 +501,90 @@ void meson_hdmi_pll_set(struct meson_drm *priv, + 0xFFFF, 0x4e00); + break; + ++ case 3200000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000242); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ BIT(28), 0); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4aab); ++ break; ++ ++ case 3240000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000243); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ BIT(28), 0); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4800); ++ break; ++ ++ case 3865000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000250); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ BIT(28), 0); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4855); ++ break; ++ ++ case 4028000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000253); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ BIT(28), 0); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4eab); ++ break; ++ + case 4320000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x5800025a); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); +@@ -485,6 +619,23 @@ void meson_hdmi_pll_set(struct meson_drm *priv, + regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, + val, (val & HDMI_PLL_LOCK), 10, 0); + break; ++ ++ case 5200000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x5800026c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x135c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ BIT(28), 0); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ break; + }; + } else if (meson_vpu_is_compatible(priv, "amlogic,meson-gxm-vpu") || + meson_vpu_is_compatible(priv, "amlogic,meson-gxl-vpu")) { +@@ -498,6 +649,42 @@ void meson_hdmi_pll_set(struct meson_drm *priv, + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); + break; + ++ case 3200000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000285); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb155); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ ++ case 3240000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000287); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ ++ case 3865000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x400002a1); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb02b); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ ++ case 4028000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x400002a7); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb355); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ + case 4320000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x400002b4); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb000); +@@ -516,6 +703,15 @@ void meson_hdmi_pll_set(struct meson_drm *priv, + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); + break; + ++ case 5200000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x400002d8); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb2ab); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ + }; + + /* Reset PLL */ +@@ -590,15 +786,30 @@ void meson_vclk_setup(struct meson_drm *priv, unsigned int target, + else + freq = MESON_VCLK_HDMI_DDR_54000; + break; ++ case 25175: ++ freq = MESON_VCLK_HDMI_25175; ++ break; ++ case 40000: ++ freq = MESON_VCLK_HDMI_40000; ++ break; ++ case 65000: ++ freq = MESON_VCLK_HDMI_65000; ++ break; + case 74250: + freq = MESON_VCLK_HDMI_74250; + break; ++ case 108000: ++ freq = MESON_VCLK_HDMI_108000; ++ break; + case 148500: + if (dac_freq != 148500) + freq = MESON_VCLK_HDMI_DDR_148500; + else + freq = MESON_VCLK_HDMI_148500; + break; ++ case 162000: ++ freq = MESON_VCLK_HDMI_162000; ++ break; + case 297000: + freq = MESON_VCLK_HDMI_297000; + break; +diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c +index 9509017..6e27013 100644 +--- a/drivers/gpu/drm/meson/meson_venc.c ++++ b/drivers/gpu/drm/meson/meson_venc.c +@@ -697,6 +697,314 @@ union meson_hdmi_venc_mode meson_hdmi_encp_mode_1080p60 = { + }, + }; + ++union meson_hdmi_venc_mode meson_hdmi_encp_mode_640x480_60 = { ++ .encp = { ++ .dvi_settings = 0x21, ++ .video_mode = 0x4040, ++ .video_mode_adv = 0x18, ++ /* video_prog_mode */ ++ /* video_sync_mode */ ++ /* video_yc_dly */ ++ /* video_rgb_ctrl */ ++ /* video_filt_ctrl */ ++ /* video_ofld_voav_ofst */ ++ /* yfp1_htime */ ++ /* yfp2_htime */ ++ .max_pxcnt = 0x31f, ++ /* hspuls_begin */ ++ /* hspuls_end */ ++ /* hspuls_switch */ ++ /* vspuls_begin */ ++ /* vspuls_end */ ++ /* vspuls_bline */ ++ /* vspuls_eline */ ++ .havon_begin = 0x90, ++ .havon_end = 0x30f, ++ .vavon_bline = 0x23, ++ .vavon_eline = 0x202, ++ /* eqpuls_begin */ ++ /* eqpuls_end */ ++ /* eqpuls_bline */ ++ /* eqpuls_eline */ ++ .hso_begin = 0, ++ .hso_end = 0x60, ++ .vso_begin = 0x1e, ++ .vso_end = 0x32, ++ .vso_bline = 0, ++ .vso_eline = 2, ++ .vso_eline_present = true, ++ /* sy_val */ ++ /* sy2_val */ ++ .max_lncnt = 0x20c, ++ }, ++}; ++ ++union meson_hdmi_venc_mode meson_hdmi_encp_mode_800x600_60 = { ++ .encp = { ++ .dvi_settings = 0x21, ++ .video_mode = 0x4040, ++ .video_mode_adv = 0x18, ++ /* video_prog_mode */ ++ /* video_sync_mode */ ++ /* video_yc_dly */ ++ /* video_rgb_ctrl */ ++ /* video_filt_ctrl */ ++ /* video_ofld_voav_ofst */ ++ /* yfp1_htime */ ++ /* yfp2_htime */ ++ .max_pxcnt = 0x41f, ++ /* hspuls_begin */ ++ /* hspuls_end */ ++ /* hspuls_switch */ ++ /* vspuls_begin */ ++ /* vspuls_end */ ++ /* vspuls_bline */ ++ /* vspuls_eline */ ++ .havon_begin = 0xD8, ++ .havon_end = 0x3f7, ++ .vavon_bline = 0x1b, ++ .vavon_eline = 0x272, ++ /* eqpuls_begin */ ++ /* eqpuls_end */ ++ /* eqpuls_bline */ ++ /* eqpuls_eline */ ++ .hso_begin = 0, ++ .hso_end = 0x80, ++ .vso_begin = 0x1e, ++ .vso_end = 0x32, ++ .vso_bline = 0, ++ .vso_eline = 4, ++ .vso_eline_present = true, ++ /* sy_val */ ++ /* sy2_val */ ++ .max_lncnt = 0x273, ++ }, ++}; ++ ++union meson_hdmi_venc_mode meson_hdmi_encp_mode_1024x768_60 = { ++ .encp = { ++ .dvi_settings = 0x21, ++ .video_mode = 0x4040, ++ .video_mode_adv = 0x18, ++ /* video_prog_mode */ ++ /* video_sync_mode */ ++ /* video_yc_dly */ ++ /* video_rgb_ctrl */ ++ /* video_filt_ctrl */ ++ /* video_ofld_voav_ofst */ ++ /* yfp1_htime */ ++ /* yfp2_htime */ ++ .max_pxcnt = 1343, ++ /* hspuls_begin */ ++ /* hspuls_end */ ++ /* hspuls_switch */ ++ /* vspuls_begin */ ++ /* vspuls_end */ ++ /* vspuls_bline */ ++ /* vspuls_eline */ ++ .havon_begin = 296, ++ .havon_end = 1319, ++ .vavon_bline = 35, ++ .vavon_eline = 802, ++ /* eqpuls_begin */ ++ /* eqpuls_end */ ++ /* eqpuls_bline */ ++ /* eqpuls_eline */ ++ .hso_begin = 0, ++ .hso_end = 136, ++ .vso_begin = 30, ++ .vso_end = 50, ++ .vso_bline = 0, ++ .vso_eline = 6, ++ .vso_eline_present = true, ++ /* sy_val */ ++ /* sy2_val */ ++ .max_lncnt = 805, ++ }, ++}; ++ ++union meson_hdmi_venc_mode meson_hdmi_encp_mode_1152x864_75 = { ++ .encp = { ++ .dvi_settings = 0x21, ++ .video_mode = 0x4040, ++ .video_mode_adv = 0x18, ++ /* video_prog_mode */ ++ /* video_sync_mode */ ++ /* video_yc_dly */ ++ /* video_rgb_ctrl */ ++ /* video_filt_ctrl */ ++ /* video_ofld_voav_ofst */ ++ /* yfp1_htime */ ++ /* yfp2_htime */ ++ .max_pxcnt = 0x63f, ++ /* hspuls_begin */ ++ /* hspuls_end */ ++ /* hspuls_switch */ ++ /* vspuls_begin */ ++ /* vspuls_end */ ++ /* vspuls_bline */ ++ /* vspuls_eline */ ++ .havon_begin = 0x180, ++ .havon_end = 0x5ff, ++ .vavon_bline = 0x23, ++ .vavon_eline = 0x382, ++ /* eqpuls_begin */ ++ /* eqpuls_end */ ++ /* eqpuls_bline */ ++ /* eqpuls_eline */ ++ .hso_begin = 0, ++ .hso_end = 0x80, ++ .vso_begin = 0x1e, ++ .vso_end = 0x32, ++ .vso_bline = 0, ++ .vso_eline = 3, ++ .vso_eline_present = true, ++ /* sy_val */ ++ /* sy2_val */ ++ .max_lncnt = 0x383, ++ }, ++}; ++ ++union meson_hdmi_venc_mode meson_hdmi_encp_mode_1280x1024_60 = { ++ .encp = { ++ .dvi_settings = 0x21, ++ .video_mode = 0x4040, ++ .video_mode_adv = 0x18, ++ /* video_prog_mode */ ++ /* video_sync_mode */ ++ /* video_yc_dly */ ++ /* video_rgb_ctrl */ ++ /* video_filt_ctrl */ ++ /* video_ofld_voav_ofst */ ++ /* yfp1_htime */ ++ /* yfp2_htime */ ++ .max_pxcnt = 0x697, ++ /* hspuls_begin */ ++ /* hspuls_end */ ++ /* hspuls_switch */ ++ /* vspuls_begin */ ++ /* vspuls_end */ ++ /* vspuls_bline */ ++ /* vspuls_eline */ ++ .havon_begin = 0x168, ++ .havon_end = 0x667, ++ .vavon_bline = 0x29, ++ .vavon_eline = 0x428, ++ /* eqpuls_begin */ ++ /* eqpuls_end */ ++ /* eqpuls_bline */ ++ /* eqpuls_eline */ ++ .hso_begin = 0, ++ .hso_end = 0x70, ++ .vso_begin = 0x1e, ++ .vso_end = 0x32, ++ .vso_bline = 0, ++ .vso_eline = 3, ++ .vso_eline_present = true, ++ /* sy_val */ ++ /* sy2_val */ ++ .max_lncnt = 0x429, ++ }, ++}; ++ ++union meson_hdmi_venc_mode meson_hdmi_encp_mode_1600x1200_60 = { ++ .encp = { ++ .dvi_settings = 0x21, ++ .video_mode = 0x4040, ++ .video_mode_adv = 0x18, ++ /* video_prog_mode */ ++ /* video_sync_mode */ ++ /* video_yc_dly */ ++ /* video_rgb_ctrl */ ++ /* video_filt_ctrl */ ++ /* video_ofld_voav_ofst */ ++ /* yfp1_htime */ ++ /* yfp2_htime */ ++ .max_pxcnt = 0x86f, ++ /* hspuls_begin */ ++ /* hspuls_end */ ++ /* hspuls_switch */ ++ /* vspuls_begin */ ++ /* vspuls_end */ ++ /* vspuls_bline */ ++ /* vspuls_eline */ ++ .havon_begin = 0x1f0, ++ .havon_end = 0x82f, ++ .vavon_bline = 0x31, ++ .vavon_eline = 0x4e0, ++ /* eqpuls_begin */ ++ /* eqpuls_end */ ++ /* eqpuls_bline */ ++ /* eqpuls_eline */ ++ .hso_begin = 0, ++ .hso_end = 0xc0, ++ .vso_begin = 0x1e, ++ .vso_end = 0x32, ++ .vso_bline = 0, ++ .vso_eline = 3, ++ .vso_eline_present = true, ++ /* sy_val */ ++ /* sy2_val */ ++ .max_lncnt = 0x4e1, ++ }, ++}; ++ ++struct meson_hdmi_venc_dmt_mode { ++ struct drm_display_mode drm_mode; ++ union meson_hdmi_venc_mode *mode; ++} meson_hdmi_venc_dmt_modes[] = { ++ /* 640x480@60Hz */ ++ { ++ { DRM_MODE("640x480", DRM_MODE_TYPE_DRIVER, 25175, 640, 656, ++ 752, 800, 0, 480, 490, 492, 525, 0, ++ DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, ++ &meson_hdmi_encp_mode_640x480_60, ++ }, ++ /* 800x600@60Hz */ ++ { ++ { DRM_MODE("800x600", DRM_MODE_TYPE_DRIVER, 40000, 800, 840, ++ 968, 1056, 0, 600, 601, 605, 628, 0, ++ DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, ++ &meson_hdmi_encp_mode_800x600_60, ++ }, ++ /* 1024x768@60Hz */ ++ { ++ { DRM_MODE("1024x768", DRM_MODE_TYPE_DRIVER, 65000, 1024, ++ 1048, 1184, 1344, 0, 768, 771, 777, 806, 0, ++ DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, ++ &meson_hdmi_encp_mode_1024x768_60, ++ }, ++ /* 1152x864@75Hz */ ++ { ++ { DRM_MODE("1152x864", DRM_MODE_TYPE_DRIVER, 108000, 1152, ++ 1216, 1344, 1600, 0, 864, 865, 868, 900, 0, ++ DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, ++ &meson_hdmi_encp_mode_1152x864_75, ++ }, ++ /* 1280x1024@60Hz */ ++ { ++ { DRM_MODE("1280x1024", DRM_MODE_TYPE_DRIVER, 108000, 1280, ++ 1328, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, ++ DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, ++ &meson_hdmi_encp_mode_1280x1024_60, ++ }, ++ /* 1600x1200@60Hz */ ++ { ++ { DRM_MODE("1600x1200", DRM_MODE_TYPE_DRIVER, 162000, 1600, ++ 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, ++ DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, ++ &meson_hdmi_encp_mode_1600x1200_60, ++ }, ++ /* 1920x1080@60Hz */ ++ { ++ { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, ++ 2008, 2052, 2200, 0, 1080, 1084, 1089, 1125, 0, ++ DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, ++ &meson_hdmi_encp_mode_1080p60 ++ }, ++ { }, /* sentinel */ ++}; ++ + struct meson_hdmi_venc_vic_mode { + unsigned int vic; + union meson_hdmi_venc_mode *mode; +@@ -736,6 +1044,20 @@ static unsigned long modulo(unsigned long a, unsigned long b) + return a; + } + ++bool meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode) ++{ ++ struct meson_hdmi_venc_dmt_mode *vmode = meson_hdmi_venc_dmt_modes; ++ ++ while (vmode->mode) { ++ if (drm_mode_equal(&vmode->drm_mode, mode)) ++ return true; ++ vmode++; ++ } ++ ++ return false; ++} ++EXPORT_SYMBOL_GPL(meson_venc_hdmi_supported_mode); ++ + bool meson_venc_hdmi_supported_vic(int vic) + { + struct meson_hdmi_venc_vic_mode *vmode = meson_hdmi_venc_vic_modes; +@@ -750,6 +1072,20 @@ bool meson_venc_hdmi_supported_vic(int vic) + } + EXPORT_SYMBOL_GPL(meson_venc_hdmi_supported_vic); + ++static union meson_hdmi_venc_mode ++*meson_venc_hdmi_get_dmt_vmode(const struct drm_display_mode *mode) ++{ ++ struct meson_hdmi_venc_dmt_mode *vmode = meson_hdmi_venc_dmt_modes; ++ ++ while (vmode->mode) { ++ if (drm_mode_equal(&vmode->drm_mode, mode)) ++ return vmode->mode; ++ vmode++; ++ } ++ ++ return NULL; ++} ++ + static union meson_hdmi_venc_mode *meson_venc_hdmi_get_vic_vmode(int vic) + { + struct meson_hdmi_venc_vic_mode *vmode = meson_hdmi_venc_vic_modes; +@@ -811,10 +1147,13 @@ void meson_venc_hdmi_mode_set(struct meson_drm *priv, int vic, + unsigned int sof_lines; + unsigned int vsync_lines; + +- vmode = meson_venc_hdmi_get_vic_vmode(vic); ++ if (meson_venc_hdmi_supported_vic(vic)) ++ vmode = meson_venc_hdmi_get_vic_vmode(vic); ++ else ++ vmode = meson_venc_hdmi_get_dmt_vmode(mode); + if (!vmode) { +- dev_err(priv->dev, "%s: Fatal Error, unsupported vic %d\n", +- __func__, vic); ++ dev_err(priv->dev, "%s: Fatal Error, unsupported mode " ++ DRM_MODE_FMT "\n", __func__, DRM_MODE_ARG(mode)); + return; + } + +@@ -864,7 +1203,7 @@ void meson_venc_hdmi_mode_set(struct meson_drm *priv, int vic, + hsync_pixels_venc *= 2; + + /* Disable VDACs */ +- writel_bits_relaxed(0x1f, 0x1f, ++ writel_bits_relaxed(0xff, 0xff, + priv->io_base + _REG(VENC_VDAC_SETTING)); + + writel_relaxed(0, priv->io_base + _REG(ENCI_VIDEO_EN)); +diff --git a/drivers/gpu/drm/meson/meson_venc.h b/drivers/gpu/drm/meson/meson_venc.h +index a1b96e8..7c18a36 100644 +--- a/drivers/gpu/drm/meson/meson_venc.h ++++ b/drivers/gpu/drm/meson/meson_venc.h +@@ -58,6 +58,7 @@ struct meson_cvbs_enci_mode { + }; + + /* HDMI Clock parameters */ ++bool meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode); + bool meson_venc_hdmi_supported_vic(int vic); + bool meson_venc_hdmi_venc_repeat(int vic); + +-- +2.7.4 + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0039-dts-add-ODROID-3.5-Inch-touchscreen-driver-sx8650.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0039-dts-add-ODROID-3.5-Inch-touchscreen-driver-sx8650.patch deleted file mode 100644 index 78bd6eac6..000000000 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0039-dts-add-ODROID-3.5-Inch-touchscreen-driver-sx8650.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 16c5d31e8fdd260a78d8dc137b1c3686077253fe Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 16 Feb 2018 23:39:37 -0800 -Subject: [PATCH 39/39] dts: add ODROID-3.5 Inch touchscreen driver(sx8650) - -Signed-off-by: Khem Raj ---- - .../arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -index 4e0b3c7ec081..071e9711880c 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -@@ -250,6 +250,28 @@ - pinctrl-names = "default"; - }; - -+&i2c_B { -+ status = "okay"; -+ -+ /* Hardkernel I2C 3.5" Touchscreen */ -+ /* drivers/input/sx865x.c */ -+ sx865x: sx865x@49 { -+ status = "okay"; -+ compatible = "semtech,sx8650"; -+ reg = <0x49>; -+ #clock-cells = <0>; -+ -+ /* H/W Pin control setup */ -+ gpio-pendown = <&gpio GPIOY_7 0>; -+ gpio-reset = <&gpio GPIOY_13 0 >; -+ -+ /* platform data setup */ -+ invert-x = <0>; -+ invert-y = <1>; -+ swap-xy = <1>; -+ }; -+}; -+ - &ir { - status = "okay"; - pinctrl-0 = <&remote_input_ao_pins>; --- -2.16.1 - diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index e5d49842d..a4f424fe6 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.36" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/kernel.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos-4_14.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"