xref: /freebsd-src/sys/contrib/device-tree/src/arm/nspire/nspire-cx.dts (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot *  Copyright (C) 2013 Daniel Tang <tangrs@tangrs.id.au>
4f126890aSEmmanuel Vadot */
5aa1a8ff2SEmmanuel Vadot
6f126890aSEmmanuel Vadot/dts-v1/;
7f126890aSEmmanuel Vadot
8aa1a8ff2SEmmanuel Vadot#include <dt-bindings/input/input.h>
9aa1a8ff2SEmmanuel Vadot
10f126890aSEmmanuel Vadot/include/ "nspire.dtsi"
11f126890aSEmmanuel Vadot
12f126890aSEmmanuel Vadot&lcd {
13f126890aSEmmanuel Vadot	port {
14f126890aSEmmanuel Vadot		clcd_pads: endpoint {
15f126890aSEmmanuel Vadot			remote-endpoint = <&panel_in>;
16f126890aSEmmanuel Vadot		};
17f126890aSEmmanuel Vadot	};
18f126890aSEmmanuel Vadot};
19f126890aSEmmanuel Vadot
20f126890aSEmmanuel Vadot&fast_timer {
21f126890aSEmmanuel Vadot	/* compatible = "arm,sp804", "arm,primecell"; */
22f126890aSEmmanuel Vadot};
23f126890aSEmmanuel Vadot
24f126890aSEmmanuel Vadot&uart {
25f126890aSEmmanuel Vadot	compatible = "arm,pl011", "arm,primecell";
26f126890aSEmmanuel Vadot
27f126890aSEmmanuel Vadot	clocks = <&uart_clk>, <&apb_pclk>;
28aa1a8ff2SEmmanuel Vadot	clock-names = "uartclk", "apb_pclk";
29f126890aSEmmanuel Vadot};
30f126890aSEmmanuel Vadot
31f126890aSEmmanuel Vadot&timer0 {
32f126890aSEmmanuel Vadot	compatible = "arm,sp804", "arm,primecell";
33f126890aSEmmanuel Vadot};
34f126890aSEmmanuel Vadot
35f126890aSEmmanuel Vadot&timer1 {
36f126890aSEmmanuel Vadot	compatible = "arm,sp804", "arm,primecell";
37f126890aSEmmanuel Vadot};
38f126890aSEmmanuel Vadot
39f126890aSEmmanuel Vadot&base_clk {
40f126890aSEmmanuel Vadot	compatible = "lsi,nspire-cx-clock";
41f126890aSEmmanuel Vadot};
42f126890aSEmmanuel Vadot
43f126890aSEmmanuel Vadot&ahb_clk {
44f126890aSEmmanuel Vadot	compatible = "lsi,nspire-cx-ahb-divider";
45f126890aSEmmanuel Vadot};
46f126890aSEmmanuel Vadot
47f126890aSEmmanuel Vadot&keypad {
48f126890aSEmmanuel Vadot	linux,keymap = <
49aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(0,  0, 0x1c)
50aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(0,  1, 0x1c)
51aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(0,  4, 0x39)
52aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(0,  5, 0x2c)
53aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(0,  6, 0x15)
54aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(0,  7, 0x0b)
55aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(0,  8, 0x0f)
56aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(1,  0, 0x2d)
57aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(1,  1, 0x11)
58aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(1,  2, 0x2f)
59aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(1,  3, 0x04)
60aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(1,  4, 0x16)
61aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(1,  5, 0x14)
62aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(1,  6, 0x1f)
63aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(1,  7, 0x02)
64aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(1, 10, 0x6a)
65aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(2,  0, 0x13)
66aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(2,  1, 0x10)
67aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(2,  2, 0x19)
68aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(2,  3, 0x07)
69aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(2,  4, 0x18)
70aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(2,  5, 0x31)
71aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(2,  6, 0x32)
72aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(2,  7, 0x05)
73aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(2,  8, 0x28)
74aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(2,  9, 0x6c)
75aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(3,  0, 0x26)
76aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(3,  1, 0x25)
77aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(3,  2, 0x24)
78aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(3,  3, 0x0a)
79aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(3,  4, 0x17)
80aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(3,  5, 0x23)
81aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(3,  6, 0x22)
82aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(3,  7, 0x08)
83aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(3,  8, 0x35)
84aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(3,  9, 0x69)
85aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(4,  0, 0x21)
86aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(4,  1, 0x12)
87aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(4,  2, 0x20)
88aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(4,  4, 0x2e)
89aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(4,  5, 0x30)
90aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(4,  6, 0x1e)
91aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(4,  7, 0x0d)
92aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(4,  8, 0x37)
93aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(4,  9, 0x67)
94aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(5,  1, 0x38)
95aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(5,  2, 0x0c)
96aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(5,  3, 0x1b)
97aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(5,  4, 0x34)
98aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(5,  5, 0x1a)
99aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(5,  6, 0x06)
100aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(5,  8, 0x27)
101aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(5,  9, 0x0e)
102aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(5, 10, 0x6f)
103aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(6,  0, 0x2b)
104aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(6,  2, 0x4e)
105aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(6,  3, 0x68)
106aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(6,  4, 0x03)
107aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(6,  5, 0x6d)
108aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(6,  6, 0x09)
109aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(6,  7, 0x01)
110aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(6,  9, 0x0f)
111aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(7,  8, 0x2a)
112aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(7,  9, 0x1d)
113aa1a8ff2SEmmanuel Vadot		MATRIX_KEY(7, 10, 0x33)
114aa1a8ff2SEmmanuel Vadot	>;
115f126890aSEmmanuel Vadot};
116f126890aSEmmanuel Vadot
117f126890aSEmmanuel Vadot&vbus_reg {
118f126890aSEmmanuel Vadot	gpio = <&gpio 2 0>;
119f126890aSEmmanuel Vadot};
120f126890aSEmmanuel Vadot
121f126890aSEmmanuel Vadot/ {
122f126890aSEmmanuel Vadot	model = "TI-NSPIRE CX";
123f126890aSEmmanuel Vadot	compatible = "ti,nspire-cx";
124f126890aSEmmanuel Vadot
125*0e8011faSEmmanuel Vadot	memory@10000000 {
126f126890aSEmmanuel Vadot		device_type = "memory";
127f126890aSEmmanuel Vadot		reg = <0x10000000 0x4000000>; /* 64 MB */
128f126890aSEmmanuel Vadot	};
129f126890aSEmmanuel Vadot
130f126890aSEmmanuel Vadot	uart_clk: uart_clk {
131f126890aSEmmanuel Vadot		#clock-cells = <0>;
132f126890aSEmmanuel Vadot		compatible = "fixed-clock";
133f126890aSEmmanuel Vadot		clock-frequency = <12000000>;
134f126890aSEmmanuel Vadot	};
135f126890aSEmmanuel Vadot
136f126890aSEmmanuel Vadot	ahb {
137f126890aSEmmanuel Vadot		#address-cells = <1>;
138f126890aSEmmanuel Vadot		#size-cells = <1>;
139f126890aSEmmanuel Vadot
140f126890aSEmmanuel Vadot		intc: interrupt-controller@dc000000 {
141f126890aSEmmanuel Vadot			compatible = "arm,pl190-vic";
142f126890aSEmmanuel Vadot			interrupt-controller;
143f126890aSEmmanuel Vadot			reg = <0xdc000000 0x1000>;
144f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
145f126890aSEmmanuel Vadot		};
146f126890aSEmmanuel Vadot
147f126890aSEmmanuel Vadot		apb@90000000 {
148f126890aSEmmanuel Vadot			#address-cells = <1>;
149f126890aSEmmanuel Vadot			#size-cells = <1>;
150f126890aSEmmanuel Vadot
151f126890aSEmmanuel Vadot			i2c@90050000 {
152f126890aSEmmanuel Vadot				compatible = "snps,designware-i2c";
153f126890aSEmmanuel Vadot				reg = <0x90050000 0x1000>;
154f126890aSEmmanuel Vadot				interrupts = <20>;
155f126890aSEmmanuel Vadot			};
156f126890aSEmmanuel Vadot		};
157f126890aSEmmanuel Vadot	};
158f126890aSEmmanuel Vadot
159f126890aSEmmanuel Vadot	panel {
160f126890aSEmmanuel Vadot		compatible = "ti,nspire-cx-lcd-panel";
161f126890aSEmmanuel Vadot		port {
162f126890aSEmmanuel Vadot			panel_in: endpoint {
163f126890aSEmmanuel Vadot				remote-endpoint = <&clcd_pads>;
164f126890aSEmmanuel Vadot			};
165f126890aSEmmanuel Vadot		};
166f126890aSEmmanuel Vadot	};
167f126890aSEmmanuel Vadot	chosen {
168f126890aSEmmanuel Vadot		bootargs = "debug earlyprintk console=tty0 console=ttyAMA0,115200n8 root=/dev/ram0";
169f126890aSEmmanuel Vadot	};
170f126890aSEmmanuel Vadot};
171