Page MenuHomeFreeBSD

D2636.1786499940.diff
No OneTemporary

Size
9 KB
Referenced Files
None
Subscribers
None

D2636.1786499940.diff

Index: sys/arm/conf/YYHD18
===================================================================
--- /dev/null
+++ sys/arm/conf/YYHD18
@@ -0,0 +1,26 @@
+# YYHD18 -- Custom configuration for the Yiyate Android TV box
+#
+# For more information on this file, please read the config(5) manual page,
+# and/or the handbook section on Kernel Configuration Files:
+#
+# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
+#
+# The handbook is also available locally in /usr/share/doc/handbook
+# if you've installed the doc distribution, otherwise always see the
+# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
+# latest information.
+#
+# An exhaustive list of options and more detailed explanations of the
+# device lines is also present in the ../../conf/NOTES and NOTES files.
+# If you are in doubt as to the purpose or necessity of a line, check first
+# in NOTES.
+#
+# $FreeBSD$
+
+#NO_UNIVERSE
+
+include "AML8726"
+ident YYHD18
+
+options FDT_DTB_STATIC
+makeoptions FDT_DTS_FILE=yyhd18-m3.dts
Index: sys/boot/fdt/dts/arm/meson3.dtsi
===================================================================
--- /dev/null
+++ sys/boot/fdt/dts/arm/meson3.dtsi
@@ -0,0 +1,77 @@
+/*-
+ * Copyright (c) 2015 John Wehle <john@feith.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+/*
+ * The basic single core aml8726 (aka meson) uses an Amlogic interrupt
+ * controller, however meson.dtsi specifies GIC (which is present on
+ * the multicore aml8726) so we need to override things here.
+ */
+
+/include/ "meson.dtsi"
+
+/ {
+ model = "Amlogic Meson3 SoC";
+ compatible = "amlogic,meson3";
+
+ interrupt-parent = <&pic>;
+
+ pic: pic@c1109a40 {
+ device_type = "interrupt-controller";
+ compatible = "amlogic,aml8726-pic";
+ reg = <0xc1109a40 128>; /* cbus 0x2690 */
+
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu@200 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a9";
+ next-level-cache = <&L2>;
+ reg = <0x200>;
+ };
+ };
+
+ clk81: clk@0 {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <0>;
+ };
+};
+
+&gic {
+ status = "disabled";
+};
+
+&L2 {
+ interrupts = <0 61 1>;
+};
Index: sys/boot/fdt/dts/arm/yyhd18-m3.dts
===================================================================
--- /dev/null
+++ sys/boot/fdt/dts/arm/yyhd18-m3.dts
@@ -0,0 +1,237 @@
+/*-
+ * Copyright (c) 2015 John Wehle <john@feith.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+/*
+ * The ordering of certain devices is significant (e.g. usb depends on
+ * usb-phy which depends on gpio, also the timer should appear early on
+ * to provide a reasonably accurate DELAY implementation).
+ */
+
+/dts-v1/;
+
+/memreserve/ 0x84900000 0x00600000; /* 6MB frame buffer */
+
+#include "meson3.dtsi"
+
+/ {
+ /*
+ * My development unit is a Yiyate Android TV Box containing
+ * a HD18 motherboard and an aml8726-m3 SoC ... later versions
+ * shipped with an aml8726-m6. Printenv in uboot shows m3-oplay
+ * as the boardname supplied as part of mmcargs.
+ */
+
+ model = "yiyate,hd18-m3";
+ compatible = "yiyate,hd18-m3", "amlogic,meson3";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ aliases {
+ soc = &soc;
+ screen = &screen;
+ uart0 = &uart_AO;
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0x80000000 0x40000000>; /* 1GB RAM */
+ };
+
+ soc: soc {
+ device_type = "soc";
+ bus-frequency = <0>;
+
+ ccm@c1104140 {
+ compatible = "amlogic,aml8726-ccm";
+ reg = <0xc1104140 20>; /* cbus 0x1050 */
+
+ functions = "ethernet", "i2c", "rng", "sdio",
+ "uart-a", "uart-b", "uart-c",
+ "usb-a", "usb-b";
+ };
+
+ pinctrl: pinctrl@c11080b0 {
+ compatible = "amlogic,aml8726-pinctrl";
+ reg = <0xc11080b0 40>, /* mux */
+ <0xc11080e8 24>, /* pu/pd */
+ <0xc11080e8 24>, /* pull enable */
+ <0xc8100014 4>, /* ao mux */
+ <0xc810002c 4>, /* ao pu/pd */
+ <0xc810002c 4>; /* ao pull enable */
+
+ /*
+ * Currently only pin muxing that deviates
+ * from the power on default of gpio is
+ * specified here.
+ */
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_uartao &pins_ethernet &pins_hdmi>;
+
+ pins_ethernet: ethernet {
+ amlogic,pins = "clk_out", "tx_en",
+ "tx_d0", "tx_d1",
+ "crs_dv", "rx_err",
+ "rx_d0", "rx_d1",
+ "mdc", "mdio";
+ amlogic,function = "ethernet";
+ };
+
+ pins_hdmi: hdmi {
+ amlogic,pins = "cec", "hpd",
+ "scl", "sda";
+ amlogic,function = "hdmi";
+ };
+
+ pins_sdio_b: sdio_b {
+ amlogic,pins = "clk", "cmd",
+ "d0", "d1",
+ "d2", "d3";
+ amlogic,function = "sdio-b";
+ };
+
+ pins_uartao: uartao {
+ amlogic,pins = "tx", "rx";
+ amlogic,function = "uart-ao";
+ };
+ };
+
+ rtc@c8100740 {
+ compatible = "amlogic,aml8726-rtc";
+ reg = <0xc8100740 20>; /* aobus 0x1d0 */
+ interrupts = <0 72 1>; /* AM_IRQ2(8) */
+ };
+
+ clkmsr: clkmsr@c1108758 {
+ compatible = "amlogic,aml8726-clkmsr";
+ reg = <0xc1108758 16>; /* cbus 0x21d6 */
+
+ clocks = <&clk81>;
+ };
+
+ gpio5: gpio@c110806c {
+ compatible = "amlogic,aml8726-gpio";
+ reg = <0xc110806c 4>, /* oen cbus 0x201b */
+ <0xc1108070 4>, /* out */
+ <0xc1108074 4>; /* in */
+
+ gpio-controller;
+ #gpio-cells = <1>;
+ pin-count = <32>;
+ };
+
+ mmc@c1108c20 {
+ compatible = "amlogic,aml8726-mmc";
+ reg = <0xc1108c20 32>; /* cbus 0x2308 */
+ interrupts = <0 28 1>; /* AM_IRQ0(28) */
+
+ clocks = <&clk81>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_sdio_b>;
+
+ mmc-voltages = "3.3";
+
+ mmc-pwr-en = <&gpio5 31 0>; /* card_8 */
+ ins-detect = <&gpio5 29 0>; /* card_6 */
+ };
+
+ rng@c1108100 {
+ compatible = "amlogic,aml8726-rng";
+ reg = <0xc1108100 8>; /* cbus 0x2040 */
+ };
+
+ usb-phy@c1108400 {
+ /* usb-a and usb-b phy */
+ compatible = "amlogic,aml8726-m3-usb-phy";
+ reg = <0xc1108400 32>; /* cbus 0x2100 */
+ };
+
+ usb@c9040000 {
+ /* usb-a */
+ compatible = "synopsys,designware-hs-otg2";
+ reg = <0xc9040000 0x40000>; /* ahbbus 0x40000*/
+ interrupts = <0 30 4>; /* AM_IRQ0(30) */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ usb@c90c0000 {
+ /* usb-b */
+ compatible = "synopsys,designware-hs-otg2";
+ reg = <0xc90c0000 0x40000>; /* ahbbus 0xc0000 */
+ interrupts = <0 31 4>; /* AM_IRQ0(31) */
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dr_mode = "host";
+ };
+
+ eth@c9410000 {
+ /* ethernet */
+ compatible = "snps,dwmac";
+ reg = <0xc9410000 0x2000>; /* ahbbus 0x410000 */
+ interrupts = <0 8 1>; /* AM_IRQ0(8) */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ screen: fb@c8001324 {
+ device_type = "display";
+ compatible = "amlogic,aml8726-fb";
+ reg = <0xc8001324 12>, /* CANVAS */
+ <0xc1106800 1024>, /* VIU */
+ <0xc1107400 1024>; /* VPP */
+ interrupts = <0 2 1>, /* AM_IRQ0(2) */
+ <0 3 1>, /* AM_IRQ0(3) */
+ <0 12 1>, /* AM_IRQ0(12) */
+ <0 13 1>; /* AM_IRQ0(13) */
+
+ address = <0x84900000>; /* match memreserve */
+ width = <720>;
+ height = <480>;
+ depth = <24>;
+ linebytes = <2160>;
+ };
+ };
+
+ chosen {
+ stdin = "uart0";
+ stdout = "uart0";
+ };
+};
+
+&clk81 {
+ clock-frequency = <0>;
+};
+
+&uart_AO {
+ status = "okay";
+ current-speed = <115200>;
+};

File Metadata

Mime Type
text/plain
Expires
Wed, Aug 12, 1:59 AM (12 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29397749
Default Alt Text
D2636.1786499940.diff (9 KB)

Event Timeline