278 lines
4.7 KiB
Plaintext
278 lines
4.7 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
/*
|
|
* OLPC XO 1.75 Laptop.
|
|
*
|
|
* Copyright (C) 2018,2019,2020 Lubomir Rintel <lkundrak@v3.sk>
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include "mmp2.dtsi"
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/linux-event-codes.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/clock/marvell,mmp2-audio.h>
|
|
|
|
/ {
|
|
model = "OLPC XO-1.75";
|
|
compatible = "olpc,xo-1.75", "mrvl,mmp2";
|
|
|
|
chosen {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
framebuffer@1fc00000 {
|
|
compatible = "simple-framebuffer";
|
|
reg = <0x1fc00000 (1200 * 900 * 2)>;
|
|
width = <1200>;
|
|
height = <900>;
|
|
stride = <(1200 * 2)>;
|
|
format = "r5g6b5";
|
|
clocks = <&soc_clocks MMP2_CLK_DISP0_LCDC>,
|
|
<&soc_clocks MMP2_CLK_DISP0>;
|
|
};
|
|
};
|
|
|
|
memory@0 {
|
|
available = <0xcf000 0x1ef31000 0x1000 0xbf000>;
|
|
reg = <0x0 0x20000000>;
|
|
device_type = "memory";
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
|
|
lid {
|
|
label = "Lid";
|
|
gpios = <&gpio 129 GPIO_ACTIVE_LOW>;
|
|
linux,input-type = <EV_SW>;
|
|
linux,code = <SW_LID>;
|
|
wakeup-source;
|
|
};
|
|
|
|
tablet_mode {
|
|
label = "E-Book Mode";
|
|
gpios = <&gpio 128 GPIO_ACTIVE_LOW>;
|
|
linux,input-type = <EV_SW>;
|
|
linux,code = <SW_TABLET_MODE>;
|
|
wakeup-source;
|
|
};
|
|
};
|
|
|
|
i2c {
|
|
compatible = "i2c-gpio";
|
|
sda-gpios = <&gpio 109 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
scl-gpios = <&gpio 108 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
i2c-gpio,timeout-ms = <1000>;
|
|
status = "okay";
|
|
|
|
camera@21 {
|
|
compatible = "ovti,ov7670";
|
|
reg = <0x21>;
|
|
reset-gpios = <&gpio 102 GPIO_ACTIVE_LOW>;
|
|
powerdown-gpios = <&gpio 150 GPIO_ACTIVE_LOW>;
|
|
clocks = <&camera0>;
|
|
clock-names = "xclk";
|
|
|
|
port {
|
|
ov7670_0: endpoint {
|
|
hsync-active = <1>;
|
|
vsync-active = <1>;
|
|
remote-endpoint = <&camera0_0>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
battery {
|
|
compatible = "olpc,xo1.5-battery", "olpc,xo1-battery";
|
|
};
|
|
|
|
wlan_reg: fixedregulator0 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "wlan";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
gpio = <&gpio 34 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
wlan_pwrseq: pwrseq0 {
|
|
compatible = "mmc-pwrseq-sd8787";
|
|
powerdown-gpios = <&gpio 57 GPIO_ACTIVE_HIGH>;
|
|
reset-gpios = <&gpio 58 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
sound-card {
|
|
compatible = "audio-graph-card";
|
|
label = "OLPC XO";
|
|
dais = <&sspa0_dai>;
|
|
routing = "Headphones", "HPOL",
|
|
"Headphones", "HPOR",
|
|
"MIC2", "Mic Jack";
|
|
widgets = "Headphone", "Headphones", "Microphone", "Mic Jack";
|
|
hp-det-gpio = <&gpio 97 GPIO_ACTIVE_HIGH>;
|
|
mic-det-gpio = <&gpio 96 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
soc {
|
|
axi@d4200000 {
|
|
ap-sp@d4290000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
compatible = "olpc,ap-sp";
|
|
interrupts = <40>;
|
|
reg = <0xd4290000 0x1000>;
|
|
data-gpios = <&gpio 72 GPIO_ACTIVE_HIGH>;
|
|
clk-gpios = <&gpio 71 GPIO_ACTIVE_HIGH>;
|
|
status = "okay";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&uart3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&uart4 {
|
|
status = "okay";
|
|
};
|
|
|
|
&rtc {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_phy0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_otg0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&mmc1 {
|
|
clock-frequency = <50000000>;
|
|
no-1-8-v;
|
|
mrvl,clk-delay-cycles = <31>;
|
|
broken-cd;
|
|
status = "okay";
|
|
};
|
|
|
|
&mmc2 {
|
|
clock-frequency = <50000000>;
|
|
no-1-8-v;
|
|
bus-width = <4>;
|
|
non-removable;
|
|
broken-cd;
|
|
wakeup-source;
|
|
keep-power-in-suspend;
|
|
mmc-pwrseq = <&wlan_pwrseq>;
|
|
vmmc-supply = <&wlan_reg>;
|
|
status = "okay";
|
|
};
|
|
|
|
&mmc3 {
|
|
clock-frequency = <50000000>;
|
|
no-1-8-v;
|
|
bus-width = <8>;
|
|
non-removable;
|
|
broken-cd;
|
|
mrvl,clk-delay-cycles = <31>;
|
|
status = "okay";
|
|
};
|
|
|
|
&twsi1 {
|
|
status = "okay";
|
|
|
|
audio-codec@1a {
|
|
compatible = "realtek,alc5631";
|
|
reg = <0x1a>;
|
|
status = "okay";
|
|
|
|
port {
|
|
rt5631_0: endpoint {
|
|
mclk-fs = <256>;
|
|
clocks = <&audio_clk MMP2_CLK_AUDIO_SYSCLK>;
|
|
remote-endpoint = <&sspa0_0>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&twsi2 {
|
|
status = "okay";
|
|
|
|
rtc@68 {
|
|
compatible = "dallas,ds1338";
|
|
reg = <0x68>;
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
&twsi6 {
|
|
status = "okay";
|
|
|
|
accelerometer@1d {
|
|
compatible = "st,lis331dlh", "st,lis3lv02d";
|
|
reg = <0x1d>;
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
&ssp3 {
|
|
#address-cells = <0>;
|
|
spi-slave;
|
|
status = "okay";
|
|
ready-gpios = <&gpio 125 GPIO_ACTIVE_HIGH>;
|
|
|
|
slave {
|
|
compatible = "olpc,xo1.75-ec";
|
|
spi-cpha;
|
|
cmd-gpios = <&gpio 155 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
|
|
&camera0 {
|
|
status = "okay";
|
|
|
|
port {
|
|
camera0_0: endpoint {
|
|
remote-endpoint = <&ov7670_0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&asram {
|
|
status = "okay";
|
|
};
|
|
|
|
&adma0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&audio_clk {
|
|
status = "okay";
|
|
};
|
|
|
|
&sspa0 {
|
|
status = "okay";
|
|
dmas = <&adma0 0>, <&adma0 1>;
|
|
dma-names = "tx", "rx";
|
|
|
|
sspa0_dai: port {
|
|
sspa0_0: endpoint {
|
|
remote-endpoint = <&rt5631_0>;
|
|
frame-master;
|
|
bitclock-master;
|
|
dai-format = "i2s";
|
|
};
|
|
};
|
|
};
|
|
|
|
&gpu {
|
|
status = "okay";
|
|
};
|