1// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2/* 3 * Device Tree file for Google Chromecast 4 * 5 * Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> 6 */ 7 8/dts-v1/; 9 10#include "berlin2cd.dtsi" 11#include <dt-bindings/gpio/gpio.h> 12 13/ { 14 model = "Google Chromecast"; 15 compatible = "google,chromecast", "marvell,berlin2cd", "marvell,berlin"; 16 17 chosen { 18 bootargs = "earlyprintk"; 19 stdout-path = "serial0:115200n8"; 20 }; 21 22 memory@0 { 23 device_type = "memory"; 24 25 /* 26 * We're using "linux,usable-memory" instead of "reg" here 27 * because the (signed and encrypted) bootloader that shipped 28 * with this device provides an incorrect memory range in 29 * ATAG_MEM. Linux helpfully overrides the "reg" property with 30 * data from the ATAG, so we can't specify the proper range 31 * normally. Fortunately, this alternate property is checked 32 * first by the OF driver, so we can (ab)use it instead. 33 */ 34 linux,usable-memory = <0x00000000 0x20000000>; /* 512 MB */ 35 }; 36 37 leds { 38 compatible = "pwm-leds"; 39 pinctrl-0 = <&ledpwm_pmux>; 40 pinctrl-names = "default"; 41 42 white { 43 label = "white"; 44 pwms = <&pwm 0 600000 0>; 45 max-brightness = <255>; 46 linux,default-trigger = "default-on"; 47 }; 48 49 red { 50 label = "red"; 51 pwms = <&pwm 1 600000 0>; 52 max-brightness = <255>; 53 }; 54 }; 55}; 56 57/* 58 * AzureWave AW-NH387 (Marvell 88W8787) 59 * 802.11b/g/n + Bluetooth 2.1 60 */ 61&sdhci0 { 62 non-removable; 63 status = "okay"; 64}; 65 66&uart0 { status = "okay"; }; 67 68&usb_phy1 { status = "okay"; }; 69 70&usb1 { status = "okay"; }; 71 72&soc_pinctrl { 73 ledpwm_pmux: ledpwm-pmux { 74 groups = "G0"; 75 function = "pwm"; 76 }; 77}; 78