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