Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Libretech AC AML-S805X-AC also known as La Frite in Thud #66

Merged
merged 4 commits into from
Aug 1, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions conf/machine/include/libretech-ac-dtb.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# LibreTech AC AML-S805X-AC (La Frite)

KERNEL_DEVICETREE += "amlogic/meson-gxl-s805x-libretech-ac.dtb"
IMAGE_BOOT_FILES += "meson-gxl-s805x-libretech-ac.dtb;meson-gxl-s805x-libretech-ac.dtb"
31 changes: 31 additions & 0 deletions conf/machine/libretech-ac.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# LibreTech AC board (AML-S805X-AC La Frite)

require conf/machine/include/amlogic-s905x.inc
require conf/machine/include/libretech-ac-dtb.inc

KERNEL_IMAGETYPE = "Image"
IMAGE_BOOT_FILES_remove = "uImage"
IMAGE_BOOT_FILES_append = "Image"

PREFERRED_PROVIDER_amlogic-fip = "amlogic-fip-prebuilt"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-meson-gx"
PREFERRED_PROVIDER_u-boot = "u-boot-meson-gx"
PREFERRED_VERSION_u-boot-meson-gx = "2018.09%"

UBOOT_MACHINE = "libretech-ac_defconfig"
UBOOT_EXTLINUX = "1"
# Boot on SDCard
UBOOT_EXTLINUX_ROOT = "root=/dev/sda1"
UBOOT_EXTLINUX_FDT = "../meson-gxl-s805x-libretech-ac.dtb"
UBOOT_EXTLINUX_CONSOLE = "console=ttyAML0"

MACHINE_ESSENTIAL_EXTRA_RDEPENDS += " \
kernel-image \
kernel-devicetree \
u-boot-meson-gx \
"

# Generate an SDCard Image
IMAGE_CLASSES += "image_types_meson"

WKS_FILE = "sdimage-meson.wks"
8 changes: 8 additions & 0 deletions recipes-bsp/u-boot/amlogic-fip-prebuilt.bb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ PROVIDES = "amlogic-fip"
LICENSE = "Proprietary"

COMPATIBLE_MACHINE_libretech-cc = "libretech-cc"
COMPATIBLE_MACHINE_libretech-ac = "libretech-ac"
COMPATIBLE_MACHINE_khadas-vim = "khadas-vim"
COMPATIBLE_MACHINE_amlogic-p212 = "amlogic-p212"
COMPATIBLE_MACHINE_friendlyelec-nanopik2 = "friendlyelec-nanopik2"
Expand All @@ -16,6 +17,13 @@ SHASUM_libretech-cc = "957c96037bcd792a4139cc33eded2f006d55a82c0c56ae69ef43bdcb7
DEPLOY_CMD_libretech-cc = "do_deploy_gxl"
LIC_FILES_CHKSUM_libretech-cc = "file://fip/blx_fix.sh;md5=12ad2eef4a1dcc98f9eda15224b92836"

PV_libretech-ac = "libretech-cc_fip_20170606"
RELEASE_libretech-ac = "v2017.11-libretech-cc"
TARBALL_libretech-ac = "${PV}.tar.gz"
SHASUM_libretech-ac = "957c96037bcd792a4139cc33eded2f006d55a82c0c56ae69ef43bdcb76a255e2"
DEPLOY_CMD_libretech-ac = "do_deploy_gxl"
LIC_FILES_CHKSUM_libretech-ac = "file://fip/blx_fix.sh;md5=12ad2eef4a1dcc98f9eda15224b92836"

PV_amlogic-p212 = "p212_fip_20170606"
RELEASE_amlogic-p212 = "v2017.11-libretech-cc"
TARBALL_amlogic-p212 = "${PV}.tar.gz"
Expand Down
2 changes: 1 addition & 1 deletion recipes-bsp/u-boot/u-boot-common_2019.01.inc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ PE = "1"

# We use the revision in order to avoid having to fetch it from the
# repo during parse
SRCREV = "d3689267f92c5956e09cc7d1baa4700141662bff"
SRCREV = "75551c8bfc9545e31ec2ce238cac3857904007b8"

SRC_URI = "git://git.denx.de/u-boot.git"

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,286 @@
From 0449b8e371acb8609bd6363c91dda464a262f778 Mon Sep 17 00:00:00 2001
From: Neil Armstrong <[email protected]>
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 <[email protected]>
Signed-off-by: Jerome Brunet <[email protected]>
Reviewed-by: Peter Korsgaard <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
---
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 <[email protected]>
+ * Author: Jerome Brunet <[email protected]>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/input/input.h>
+
+#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 = &ethmac;
+ 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>;
+ };
+};
+
+&ethmac {
+ status = "okay";
+};
+
+&internal_phy {
+ pinctrl-0 = <&eth_link_led_pins>, <&eth_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

1 change: 1 addition & 0 deletions recipes-kernel/linux/linux-yocto-meson64_4.20.bb
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down