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