| // SPDX-License-Identifier: (GPL-2.0 OR MIT) |
| /* |
| * Device Tree file for Google Chromecast |
| * |
| * Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> |
| */ |
| |
| /dts-v1/; |
| |
| #include "berlin2cd.dtsi" |
| #include <dt-bindings/gpio/gpio.h> |
| |
| / { |
| model = "Google Chromecast"; |
| compatible = "google,chromecast", "marvell,berlin2cd", "marvell,berlin"; |
| |
| chosen { |
| bootargs = "earlyprintk"; |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| memory@0 { |
| device_type = "memory"; |
| |
| /* |
| * We're using "linux,usable-memory" instead of "reg" here |
| * because the (signed and encrypted) bootloader that shipped |
| * with this device provides an incorrect memory range in |
| * ATAG_MEM. Linux helpfully overrides the "reg" property with |
| * data from the ATAG, so we can't specify the proper range |
| * normally. Fortunately, this alternate property is checked |
| * first by the OF driver, so we can (ab)use it instead. |
| */ |
| linux,usable-memory = <0x00000000 0x20000000>; /* 512 MB */ |
| }; |
| |
| leds { |
| compatible = "pwm-leds"; |
| pinctrl-0 = <&ledpwm_pmux>; |
| pinctrl-names = "default"; |
| |
| white { |
| label = "white"; |
| pwms = <&pwm 0 600000 0>; |
| max-brightness = <255>; |
| linux,default-trigger = "default-on"; |
| }; |
| |
| red { |
| label = "red"; |
| pwms = <&pwm 1 600000 0>; |
| max-brightness = <255>; |
| }; |
| }; |
| }; |
| |
| /* |
| * AzureWave AW-NH387 (Marvell 88W8787) |
| * 802.11b/g/n + Bluetooth 2.1 |
| */ |
| &sdhci0 { |
| non-removable; |
| status = "okay"; |
| }; |
| |
| &uart0 { status = "okay"; }; |
| |
| &usb_phy1 { status = "okay"; }; |
| |
| &usb1 { status = "okay"; }; |
| |
| &soc_pinctrl { |
| ledpwm_pmux: ledpwm-pmux { |
| groups = "G0"; |
| function = "pwm"; |
| }; |
| }; |