diff --git a/recipes-kernel/linux/linux-yocto-meson64-4.20/0001-arm64-dts-meson-add-libretech-aml-s805x-ac-board.patch b/recipes-kernel/linux/linux-yocto-meson64-4.20/0001-arm64-dts-meson-add-libretech-aml-s805x-ac-board.patch new file mode 100644 index 00000000..090170df --- /dev/null +++ b/recipes-kernel/linux/linux-yocto-meson64-4.20/0001-arm64-dts-meson-add-libretech-aml-s805x-ac-board.patch @@ -0,0 +1,286 @@ +From 0449b8e371acb8609bd6363c91dda464a262f778 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Fri, 16 Nov 2018 16:15:39 +0100 +Subject: [PATCH] arm64: dts: meson: add libretech aml-s805x-ac board + +Add Libretech aml-s805x-ac board (aka 'La Frite') support + +Signed-off-by: Neil Armstrong +Signed-off-by: Jerome Brunet +Reviewed-by: Peter Korsgaard +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/Makefile | 1 + + .../dts/amlogic/meson-gxl-s805x-libretech-ac.dts | 248 +++++++++++++++++++++ + 2 files changed, 249 insertions(+) + create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts + +diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile +index 49f3ac5..f12efa2 100644 +--- a/arch/arm64/boot/dts/amlogic/Makefile ++++ b/arch/arm64/boot/dts/amlogic/Makefile +@@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-vega-s95-meta.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-vega-s95-telos.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-wetek-hub.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-wetek-play2.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-libretech-ac.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-hwacom-amazetv.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-khadas-vim.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts +new file mode 100644 +index 0000000..82b1c48 +--- /dev/null ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts +@@ -0,0 +1,248 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (c) 2018 BayLibre, SAS. ++ * Author: Neil Armstrong ++ * Author: Jerome Brunet ++ */ ++ ++/dts-v1/; ++ ++#include ++ ++#include "meson-gxl-s905x.dtsi" ++ ++/ { ++ compatible = "libretech,aml-s805x-ac", "amlogic,s805x", ++ "amlogic,meson-gxl"; ++ model = "Libre Computer Board AML-S805X-AC"; ++ ++ aliases { ++ serial0 = &uart_AO; ++ ethernet0 = ðmac; ++ spi0 = &spifc; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ cvbs-connector { ++ /* ++ * The pads are present but no connector is soldered on ++ * 2J2, so keep this off by default. ++ */ ++ status = "disabled"; ++ compatible = "composite-video-connector"; ++ ++ port { ++ cvbs_connector_in: endpoint { ++ remote-endpoint = <&cvbs_vdac_out>; ++ }; ++ }; ++ }; ++ ++ dc_5v: regulator-dc_5v { ++ compatible = "regulator-fixed"; ++ regulator-name = "DC_5V"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ regulator-always-on; ++ }; ++ ++ emmc_pwrseq: emmc-pwrseq { ++ compatible = "mmc-pwrseq-emmc"; ++ reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; ++ }; ++ ++ hdmi-connector { ++ compatible = "hdmi-connector"; ++ type = "a"; ++ ++ port { ++ hdmi_connector_in: endpoint { ++ remote-endpoint = <&hdmi_tx_tmds_out>; ++ }; ++ }; ++ }; ++ ++ memory@0 { ++ device_type = "memory"; ++ reg = <0x0 0x0 0x0 0x20000000>; ++ }; ++ ++ vcck: regulator-vcck { ++ compatible = "regulator-fixed"; ++ regulator-name = "VCCK"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&dc_5v>; ++ ++ /* ++ * This is controlled by GPIOAO_9 we reserve this but ++ * claiming it as done below reset the board anyway ++ * Need to investigate this ++ * ++ * gpio = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>; ++ * enable-active-high; ++ */ ++ regulator-always-on; ++ }; ++ ++ vcc_3v3: regulator-vcc_3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VCC_3V3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&dc_5v>; ++ regulator-always-on; ++ }; ++ ++ vddio_boot: regulator-vddio_boot { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDIO_BOOT"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vcc_3v3>; ++ regulator-always-on; ++ }; ++}; ++ ++&cec_AO { ++ status = "okay"; ++ pinctrl-0 = <&ao_cec_pins>; ++ pinctrl-names = "default"; ++ hdmi-phandle = <&hdmi_tx>; ++}; ++ ++&cvbs_vdac_port { ++ cvbs_vdac_out: endpoint { ++ remote-endpoint = <&cvbs_connector_in>; ++ }; ++}; ++ ++ðmac { ++ status = "okay"; ++}; ++ ++&internal_phy { ++ pinctrl-0 = <ð_link_led_pins>, <ð_act_led_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&ir { ++ status = "okay"; ++ pinctrl-0 = <&remote_input_ao_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&hdmi_tx { ++ status = "okay"; ++ pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&hdmi_tx_tmds_port { ++ hdmi_tx_tmds_out: endpoint { ++ remote-endpoint = <&hdmi_connector_in>; ++ }; ++}; ++ ++&gpio_ao { ++ gpio-line-names = "UART TX", ++ "UART RX", ++ "7J1 Header Pin31", ++ "", "", "", "", ++ "IR In", ++ "HDMI CEC", ++ "5V VCCK Regulator", ++ /* GPIO_TEST_N */ ++ ""; ++}; ++ ++&gpio { ++ gpio-line-names = /* Bank GPIOZ */ ++ "", "", "", "", "", "", "", ++ "", "", "", "", "", "", "", ++ "Eth Link LED", "Eth Activity LED", ++ /* Bank GPIOH */ ++ "HDMI HPD", "HDMI SDA", "HDMI SCL", ++ "", "7J1 Header Pin13", ++ "7J1 Header Pin15", ++ "7J1 Header Pin7", ++ "7J1 Header Pin12", ++ "7J1 Header Pin16", ++ "7J1 Header Pin18", ++ /* Bank BOOT */ ++ "eMMC D0", "eMMC D1", "eMMC D2", "eMMC D3", ++ "eMMC D4", "eMMC D5", "eMMC D6", "eMMC D7", ++ "eMMC Clk", "eMMC Reset", "eMMC CMD", ++ "SPI NOR MOSI", "SPI NOR MISO", "SPI NOR Clk", ++ "", "SPI NOR Chip Select", ++ /* Bank CARD */ ++ "", "", "", "", "", "", "", ++ /* Bank GPIODV */ ++ "", "", "", "", "", "", "", "", "", "", "", "", ++ "", "", "", "", "", "", "", "", "", "", "", "", ++ "7J1 Header Pin27", "7J1 Header Pin28", "", ++ "7J1 Header Pin29", ++ "VCCK Regulator", "VDDEE Regulator", ++ /* Bank GPIOX */ ++ "7J1 Header Pin22", "7J1 Header Pin26", ++ "7J1 Header Pin36", "7J1 Header Pin38", ++ "7J1 Header Pin40", "7J1 Header Pin37", ++ "7J1 Header Pin33", "7J1 Header Pin35", ++ "7J1 Header Pin19", "7J1 Header Pin21", ++ "7J1 Header Pin24", "7J1 Header Pin23", ++ "7J1 Header Pin8", "7J1 Header Pin10", ++ "", "", "7J1 Header Pin32", "", "", ++ /* Bank GPIOCLK */ ++ "", ""; ++}; ++ ++&saradc { ++ status = "okay"; ++ vref-supply = <&vddio_boot>; ++}; ++ ++/* eMMC */ ++&sd_emmc_c { ++ status = "okay"; ++ pinctrl-0 = <&emmc_pins>; ++ pinctrl-1 = <&emmc_clk_gate_pins>; ++ pinctrl-names = "default", "clk-gate"; ++ ++ bus-width = <8>; ++ cap-mmc-highspeed; ++ mmc-ddr-1_8v; ++ mmc-hs200-1_8v; ++ max-frequency = <200000000>; ++ disable-wp; ++ ++ mmc-pwrseq = <&emmc_pwrseq>; ++ vmmc-supply = <&vcc_3v3>; ++ vqmmc-supply = <&vddio_boot>; ++}; ++ ++&spifc { ++ status = "okay"; ++ pinctrl-0 = <&nor_pins>; ++ pinctrl-names = "default"; ++ ++ w25q32: spi-flash@0 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ compatible = "jedec,spi-nor"; ++ reg = <0>; ++ spi-max-frequency = <3000000>; ++ }; ++}; ++ ++&uart_AO { ++ status = "okay"; ++ pinctrl-0 = <&uart_ao_a_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&usb0 { ++ status = "okay"; ++}; +-- +2.7.4 + diff --git a/recipes-kernel/linux/linux-yocto-meson64_4.20.bb b/recipes-kernel/linux/linux-yocto-meson64_4.20.bb index 5a7a7923..b69ae423 100644 --- a/recipes-kernel/linux/linux-yocto-meson64_4.20.bb +++ b/recipes-kernel/linux/linux-yocto-meson64_4.20.bb @@ -75,6 +75,7 @@ SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git;protoc file://0016-arm64-dts-meson-s400-fix-emmc-maximum-rate.patch \ file://0017-ASoC-meson-fix-do_div-warning-in-spdifin.patch \ file://0018-arm64-defconfig-enable-modules-for-amlogic-s400-soun.patch \ + file://0001-arm64-dts-meson-add-libretech-aml-s805x-ac-board.patch \ " KERNEL_VERSION_SANITY_SKIP="1"