0001 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
0002 /*
0003 * Device Tree file for Google Chromecast
0004 *
0005 * Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
0006 */
0007
0008 /dts-v1/;
0009
0010 #include "berlin2cd.dtsi"
0011 #include <dt-bindings/gpio/gpio.h>
0012
0013 / {
0014 model = "Google Chromecast";
0015 compatible = "google,chromecast", "marvell,berlin2cd", "marvell,berlin";
0016
0017 chosen {
0018 bootargs = "earlyprintk";
0019 stdout-path = "serial0:115200n8";
0020 };
0021
0022 memory@0 {
0023 device_type = "memory";
0024
0025 /*
0026 * We're using "linux,usable-memory" instead of "reg" here
0027 * because the (signed and encrypted) bootloader that shipped
0028 * with this device provides an incorrect memory range in
0029 * ATAG_MEM. Linux helpfully overrides the "reg" property with
0030 * data from the ATAG, so we can't specify the proper range
0031 * normally. Fortunately, this alternate property is checked
0032 * first by the OF driver, so we can (ab)use it instead.
0033 */
0034 linux,usable-memory = <0x00000000 0x20000000>; /* 512 MB */
0035 };
0036
0037 led-controller {
0038 compatible = "pwm-leds";
0039 pinctrl-0 = <&ledpwm_pmux>;
0040 pinctrl-names = "default";
0041
0042 led-1 {
0043 label = "white";
0044 pwms = <&pwm 0 600000 0>;
0045 max-brightness = <255>;
0046 linux,default-trigger = "default-on";
0047 };
0048
0049 led-2 {
0050 label = "red";
0051 pwms = <&pwm 1 600000 0>;
0052 max-brightness = <255>;
0053 };
0054 };
0055 };
0056
0057 /*
0058 * AzureWave AW-NH387 (Marvell 88W8787)
0059 * 802.11b/g/n + Bluetooth 2.1
0060 */
0061 &sdhci0 {
0062 non-removable;
0063 status = "okay";
0064 };
0065
0066 &uart0 { status = "okay"; };
0067
0068 &usb_phy1 { status = "okay"; };
0069
0070 &usb1 { status = "okay"; };
0071
0072 &soc_pinctrl {
0073 ledpwm_pmux: ledpwm-pmux {
0074 groups = "G0";
0075 function = "pwm";
0076 };
0077 };