odroidc1.dts revision 199767f8919635c4928607450d9e0abb932109ce
/*-
* 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
*
* 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).
*
* Both usb-phys devices must be configured to prevent the usb controller
* from hanging during initialization.
*/
#include "meson8b.dtsi"
/ {
model = "hardkernel,odroid-c1";
aliases {
};
memory {
device_type = "memory";
};
device_type = "soc";
compatible = "arm,cortex-a5-scu";
};
compatible = "amlogic,aml8726-cpuconfig";
};
compatible = "amlogic,aml8726-ccm";
"uart-a", "uart-b", "uart-c",
"usb-a", "usb-b";
};
compatible = "amlogic,aml8726-pinctrl";
<0xc1108120 24>, /* pull enable */
<0xc8100014 4>, /* ao mux */
<0xc810002c 4>; /* ao pull enable */
/*
* Currently only pin muxing that deviates
* from the power on default of gpio is
* specified here.
*/
"tx_clk", "tx_en",
"tx_d0", "tx_d1",
"tx_d2", "tx_d3",
"rx_clk", "rx_dv",
"rx_d0", "rx_d1",
"rx_d2", "rx_d3",
"mdc", "mdio";
};
"scl", "sda";
};
"d0", "d1",
"d2", "d3";
};
"d0", "d1",
"d2", "d3";
};
"d0", "d1",
"d2", "d3";
};
"d0", "d1",
"d2", "d3",
"d4", "d5",
"d6", "d7";
};
pins_i2c_a: i2c_a {
};
pins_i2c_b: i2c_b {
};
pins_uarta: uarta {
};
pins_uartb: uartb {
/*
* gpiox18 appears to have special
* meaning to the bootloader making
* hardware handshaking unavailable.
*/
};
pins_uartc: uartc {
};
};
};
compatible = "amlogic,aml8726-rtc";
};
compatible = "amlogic,aml8726-clkmsr";
};
/* gpio unit 7 */
compatible = "amlogic,aml8726-gpio";
<0xc8100024 4>, /* out */
<0xc8100028 4>; /* in */
};
compatible = "amlogic,aml8726-gpio";
<0xc1108058 4>, /* out */
<0xc110805c 4>; /* in */
};
compatible = "amlogic,aml8726-gpio";
<0xc1108070 4>, /* out */
<0xc1108074 4>; /* in */
};
compatible = "amlogic,aml8726-mmc";
/*
* Ordering is significant.
*
* mmc-vselect low sets first voltage
* mmc-vselect high sets second voltage
*
* If mmc-vselect is not present, then
* only one voltage should be specified.
*/
};
compatible = "amlogic,aml8726-sdxc-m8";
};
compatible = "amlogic,aml8726-rng";
};
/* usb-a phy */
compatible = "amlogic,aml8726-m8-usb-phy";
};
/* usb-b phy */
compatible = "amlogic,aml8726-m8-usb-phy";
};
/* usb-a */
compatible = "synopsys,designware-hs-otg2";
dr_mode = "host";
};
/* usb-b */
compatible = "synopsys,designware-hs-otg2";
dr_mode = "host";
};
/* ethernet */
compatible = "amlogic,meson6-dwmac";
};
device_type = "display";
compatible = "amlogic,aml8726-fb";
<0xc1106800 1024>, /* VIU */
<0xc1107400 1024>; /* VPP */
<0 3 1>,
<0 12 1>,
<0 13 1>;
width = <720>;
height = <480>;
depth = <24>;
linebytes = <2160>;
};
};
leds {
compatible = "gpio-leds";
sys_led {
label = "sys_led";
};
};
chosen {
stdin = "uart0";
stdout = "uart0";
};
};
&clk81 {
};
&uart_AO {
status = "okay";
};
&uart_A {
status = "okay";
};
&uart_B {
status = "okay";
};
&uart_C {
status = "okay";
};
&i2c_A {
status = "okay";
};
&i2c_B {
status = "okay";
};