1*dbbc3d79SAlexander Monakov// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*dbbc3d79SAlexander Monakov/* 3*dbbc3d79SAlexander Monakov * Copyright 2018 Alexander Monakov <amonakov@gmail.com> 4*dbbc3d79SAlexander Monakov */ 5*dbbc3d79SAlexander Monakov/dts-v1/; 6*dbbc3d79SAlexander Monakov 7*dbbc3d79SAlexander Monakov#include "berlin2cd.dtsi" 8*dbbc3d79SAlexander Monakov#include <dt-bindings/gpio/gpio.h> 9*dbbc3d79SAlexander Monakov 10*dbbc3d79SAlexander Monakov/ { 11*dbbc3d79SAlexander Monakov model = "Valve Steam Link"; 12*dbbc3d79SAlexander Monakov compatible = "valve,steamlink", "marvell,berlin2cd", "marvell,berlin"; 13*dbbc3d79SAlexander Monakov 14*dbbc3d79SAlexander Monakov memory@0 { 15*dbbc3d79SAlexander Monakov device_type = "memory"; 16*dbbc3d79SAlexander Monakov reg = <0x00000000 0x20000000>; /* 512 MB */ 17*dbbc3d79SAlexander Monakov }; 18*dbbc3d79SAlexander Monakov 19*dbbc3d79SAlexander Monakov gpio-restart { 20*dbbc3d79SAlexander Monakov compatible = "gpio-restart"; 21*dbbc3d79SAlexander Monakov gpios = <&porta 6 GPIO_ACTIVE_HIGH>; 22*dbbc3d79SAlexander Monakov active-delay = <100>; 23*dbbc3d79SAlexander Monakov inactive-delay = <10>; 24*dbbc3d79SAlexander Monakov wait-delay = <100>; 25*dbbc3d79SAlexander Monakov priority = <200>; 26*dbbc3d79SAlexander Monakov }; 27*dbbc3d79SAlexander Monakov}; 28*dbbc3d79SAlexander Monakov 29*dbbc3d79SAlexander Monakov&cpu { 30*dbbc3d79SAlexander Monakov cpu-supply = <&vcpu>; 31*dbbc3d79SAlexander Monakov operating-points = < 32*dbbc3d79SAlexander Monakov /* kHz uV */ 33*dbbc3d79SAlexander Monakov 1000000 1325000 34*dbbc3d79SAlexander Monakov >; 35*dbbc3d79SAlexander Monakov}; 36*dbbc3d79SAlexander Monakov 37*dbbc3d79SAlexander Monakov&i2c0 { 38*dbbc3d79SAlexander Monakov status = "okay"; 39*dbbc3d79SAlexander Monakov 40*dbbc3d79SAlexander Monakov /* There are two regulators on the board. One is accessible via I2C, 41*dbbc3d79SAlexander Monakov * with buck1 providing SoC power (set up by bootloader to 1.325V or 42*dbbc3d79SAlexander Monakov * less depending on leakage value in OTP), and buck2 likely used for 43*dbbc3d79SAlexander Monakov * DRAM (providing 1.35V). The other regulator on the opposite side 44*dbbc3d79SAlexander Monakov * of the board is probably supplying SDIO and NAND fixed voltages. */ 45*dbbc3d79SAlexander Monakov regulator@19 { 46*dbbc3d79SAlexander Monakov compatible = "marvell,88pg868"; 47*dbbc3d79SAlexander Monakov reg = <0x19>; 48*dbbc3d79SAlexander Monakov 49*dbbc3d79SAlexander Monakov vcpu: buck1 { 50*dbbc3d79SAlexander Monakov regulator-boot-on; 51*dbbc3d79SAlexander Monakov regulator-always-on; 52*dbbc3d79SAlexander Monakov regulator-min-microvolt = <1000000>; 53*dbbc3d79SAlexander Monakov regulator-max-microvolt = <1325000>; 54*dbbc3d79SAlexander Monakov }; 55*dbbc3d79SAlexander Monakov }; 56*dbbc3d79SAlexander Monakov}; 57*dbbc3d79SAlexander Monakov 58*dbbc3d79SAlexander Monakov/* Fixed interface to on-board Marvell 8897 Wi-Fi/Bluetooth/NFC chip. */ 59*dbbc3d79SAlexander Monakov&sdhci0 { 60*dbbc3d79SAlexander Monakov keep-power-in-suspend; 61*dbbc3d79SAlexander Monakov non-removable; 62*dbbc3d79SAlexander Monakov status = "okay"; 63*dbbc3d79SAlexander Monakov}; 64*dbbc3d79SAlexander Monakov 65*dbbc3d79SAlexander Monakov&uart0 { 66*dbbc3d79SAlexander Monakov /* RX/TX are routed to TP50/TP51 on the board. */ 67*dbbc3d79SAlexander Monakov status = "okay"; 68*dbbc3d79SAlexander Monakov}; 69*dbbc3d79SAlexander Monakov 70*dbbc3d79SAlexander Monakov/* The SoC is connected to on-board USB hub that in turn has one downstream 71*dbbc3d79SAlexander Monakov * port wired to the on-board Steam Controller wireless receiver chip. */ 72*dbbc3d79SAlexander Monakov&usb_phy1 { status = "okay"; }; 73*dbbc3d79SAlexander Monakov 74*dbbc3d79SAlexander Monakov&usb1 { 75*dbbc3d79SAlexander Monakov dr_mode = "host"; 76*dbbc3d79SAlexander Monakov status = "okay"; 77*dbbc3d79SAlexander Monakov}; 78*dbbc3d79SAlexander Monakov 79*dbbc3d79SAlexander Monakovð1 { status = "okay"; }; 80