• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2019 BayLibre SAS. All rights reserved.
4 */
5
6/dts-v1/;
7/plugin/;
8
9#include <dt-bindings/phy/phy.h>
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/gpio/meson-g12a-gpio.h>
12#include <dt-bindings/input/input.h>
13#include <dt-bindings/interrupt-controller/irq.h>
14
15/ {
16  compatible = "khadas,vim3l", "amlogic,sm1";
17  model = "Khadas VIM3L";
18  fragment@101 {
19        target-path = "/";
20        __overlay__ {
21                reserved-memory {
22                        #address-cells = <2>;
23                        #size-cells = <2>;
24                        ramoops@d000000 {
25                                compatible = "ramoops";
26                                reg = <0x0 0x0d000000 0x0 0x00100000>;
27                                record-size = <0x8000>;
28                                console-size = <0x8000>;
29                                ftrace-size = <0x0>;
30                                pmsg-size = <0x8000>;
31                        };
32                };
33        };
34  };
35};
36
37&vcc_5v {
38    gpio-open-drain;
39};
40
41&uart_A {
42	bluetooth {
43        interrupt-parent = <&gpio_intc>;
44        interrupts = <95 IRQ_TYPE_LEVEL_HIGH>;
45		interrupt-names = "host-wakeup";
46    };
47};
48
49&uart_C {
50        status = "disabled";
51        pinctrl-0 = <&uart_c_pins>;
52        pinctrl-names = "default";
53};
54
55&emmc_pwrseq{
56	status = "okay";
57};
58
59&sd_emmc_a {
60     /* WiFi firmware requires power to be kept while in suspend */
61    keep-power-in-suspend;
62};
63
64&spicc1 {
65	status = "okay";
66	pinctrl-names = "default";
67	pinctrl-0 = <&spicc1_pins>;
68	cs-gpios = <&gpio GPIOH_6 GPIO_ACTIVE_LOW>;
69	#address-cells = <1>;
70	#size-cells = <0>;
71
72	spidev@0 {
73		compatible = "rohm,dh2228fv";
74		reg = <0>;
75		spi-max-frequency = <500000>;
76		status = "okay";
77	};
78
79	neonkey@0 {
80		compatible = "nanohub";
81		reg = <0>;
82		spi-max-frequency = <500000>;
83
84		sensorhub,nreset-gpio = <&gpio GPIOA_0 0>;
85		sensorhub,boot0-gpio = <&gpio GPIOA_3 0>;   /* Fake */
86		sensorhub,wakeup-gpio = <&gpio GPIOA_2 0>;  /* A2 -> PB9 */
87		sensorhub,irq1-gpio = <&gpio GPIOA_1 0>;    /* A1 -> PB5 */
88		interrupt-parent = <&gpio_intc>;
89		interrupts = <62 IRQ_TYPE_EDGE_RISING>;     /* A1 */
90		/* sensorhub,spi-cs-gpio = <&gpio GPIOH_6 GPIO_ACTIVE_LOW>; Optional */
91		sensorhub,bl-addr = <0x08000000>;
92		sensorhub,kernel-addr = <0x0800C000>;
93		sensorhub,shared-addr = <0x08040000>;
94		sensorhub,flash-banks = <0 0x08000000 0x04000>,
95					<3 0x0800C000 0x04000>,
96					<4 0x08010000 0x10000>,
97					<5 0x08020000 0x20000>,
98					<6 0x08040000 0x20000>,
99					<7 0x08060000 0x20000>;
100		sensorhub,num-flash-banks = <6>;
101		status = "disabled";
102	};
103
104	argonkey@0 {
105		compatible = "nanohub";
106		reg = <0>;
107		spi-max-frequency = <500000>;
108		spi-cpol;
109
110		sensorhub,nreset-gpio = <&gpio GPIOA_0 0>;
111		sensorhub,boot0-gpio = <&gpio GPIOA_3 0>;
112		sensorhub,wakeup-gpio = <&gpio GPIOA_1 0>;  /* A1 -> PA0 */
113		sensorhub,irq1-gpio = <&gpio GPIOA_2 0>;    /* A2 -> PA1 */
114		interrupt-parent = <&gpio_intc>;
115		interrupts = <63 IRQ_TYPE_EDGE_RISING>;     /* A2 */
116		sensorhub,bl-addr = <0x08000000>;
117		sensorhub,kernel-addr = <0x0800C000>;
118		sensorhub,num-flash-banks = <4>;
119		sensorhub,flash-banks =	<0 0x08000000 0x04000>,
120					<3 0x0800C000 0x04000>,
121					<4 0x08010000 0x10000>,
122					<5 0x08020000 0x20000>;
123		sensorhub,shared-addr = <0x08040000>;
124		sensorhub,num-shared-flash-banks = <6>;
125		sensorhub,shared-flash-banks = <6 0x08040000 0x20000>,
126					<7 0x08060000 0x20000>,
127					<8 0x08080000 0x20000>,
128					<9 0x080A0000 0x20000>,
129					<10 0x080C0000 0x20000>,
130					<11 0x080E0000 0x20000>;
131		status = "disabled";
132	};
133};
134