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