162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci *  Copyright (C) 2013 Daniel Tang <tangrs@tangrs.id.au>
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/dts-v1/;
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/include/ "nspire.dtsi"
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci&lcd {
1362306a36Sopenharmony_ci	port {
1462306a36Sopenharmony_ci		clcd_pads: endpoint {
1562306a36Sopenharmony_ci			remote-endpoint = <&panel_in>;
1662306a36Sopenharmony_ci		};
1762306a36Sopenharmony_ci	};
1862306a36Sopenharmony_ci};
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci&fast_timer {
2162306a36Sopenharmony_ci	/* compatible = "arm,sp804", "arm,primecell"; */
2262306a36Sopenharmony_ci};
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci&uart {
2562306a36Sopenharmony_ci	compatible = "arm,pl011", "arm,primecell";
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	clocks = <&uart_clk>, <&apb_pclk>;
2862306a36Sopenharmony_ci	clock-names = "uartclk", "apb_pclk";
2962306a36Sopenharmony_ci};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci&timer0 {
3262306a36Sopenharmony_ci	compatible = "arm,sp804", "arm,primecell";
3362306a36Sopenharmony_ci};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci&timer1 {
3662306a36Sopenharmony_ci	compatible = "arm,sp804", "arm,primecell";
3762306a36Sopenharmony_ci};
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci&base_clk {
4062306a36Sopenharmony_ci	compatible = "lsi,nspire-cx-clock";
4162306a36Sopenharmony_ci};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci&ahb_clk {
4462306a36Sopenharmony_ci	compatible = "lsi,nspire-cx-ahb-divider";
4562306a36Sopenharmony_ci};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci&keypad {
4862306a36Sopenharmony_ci	linux,keymap = <
4962306a36Sopenharmony_ci		MATRIX_KEY(0,  0, 0x1c)
5062306a36Sopenharmony_ci		MATRIX_KEY(0,  1, 0x1c)
5162306a36Sopenharmony_ci		MATRIX_KEY(0,  4, 0x39)
5262306a36Sopenharmony_ci		MATRIX_KEY(0,  5, 0x2c)
5362306a36Sopenharmony_ci		MATRIX_KEY(0,  6, 0x15)
5462306a36Sopenharmony_ci		MATRIX_KEY(0,  7, 0x0b)
5562306a36Sopenharmony_ci		MATRIX_KEY(0,  8, 0x0f)
5662306a36Sopenharmony_ci		MATRIX_KEY(1,  0, 0x2d)
5762306a36Sopenharmony_ci		MATRIX_KEY(1,  1, 0x11)
5862306a36Sopenharmony_ci		MATRIX_KEY(1,  2, 0x2f)
5962306a36Sopenharmony_ci		MATRIX_KEY(1,  3, 0x04)
6062306a36Sopenharmony_ci		MATRIX_KEY(1,  4, 0x16)
6162306a36Sopenharmony_ci		MATRIX_KEY(1,  5, 0x14)
6262306a36Sopenharmony_ci		MATRIX_KEY(1,  6, 0x1f)
6362306a36Sopenharmony_ci		MATRIX_KEY(1,  7, 0x02)
6462306a36Sopenharmony_ci		MATRIX_KEY(1, 10, 0x6a)
6562306a36Sopenharmony_ci		MATRIX_KEY(2,  0, 0x13)
6662306a36Sopenharmony_ci		MATRIX_KEY(2,  1, 0x10)
6762306a36Sopenharmony_ci		MATRIX_KEY(2,  2, 0x19)
6862306a36Sopenharmony_ci		MATRIX_KEY(2,  3, 0x07)
6962306a36Sopenharmony_ci		MATRIX_KEY(2,  4, 0x18)
7062306a36Sopenharmony_ci		MATRIX_KEY(2,  5, 0x31)
7162306a36Sopenharmony_ci		MATRIX_KEY(2,  6, 0x32)
7262306a36Sopenharmony_ci		MATRIX_KEY(2,  7, 0x05)
7362306a36Sopenharmony_ci		MATRIX_KEY(2,  8, 0x28)
7462306a36Sopenharmony_ci		MATRIX_KEY(2,  9, 0x6c)
7562306a36Sopenharmony_ci		MATRIX_KEY(3,  0, 0x26)
7662306a36Sopenharmony_ci		MATRIX_KEY(3,  1, 0x25)
7762306a36Sopenharmony_ci		MATRIX_KEY(3,  2, 0x24)
7862306a36Sopenharmony_ci		MATRIX_KEY(3,  3, 0x0a)
7962306a36Sopenharmony_ci		MATRIX_KEY(3,  4, 0x17)
8062306a36Sopenharmony_ci		MATRIX_KEY(3,  5, 0x23)
8162306a36Sopenharmony_ci		MATRIX_KEY(3,  6, 0x22)
8262306a36Sopenharmony_ci		MATRIX_KEY(3,  7, 0x08)
8362306a36Sopenharmony_ci		MATRIX_KEY(3,  8, 0x35)
8462306a36Sopenharmony_ci		MATRIX_KEY(3,  9, 0x69)
8562306a36Sopenharmony_ci		MATRIX_KEY(4,  0, 0x21)
8662306a36Sopenharmony_ci		MATRIX_KEY(4,  1, 0x12)
8762306a36Sopenharmony_ci		MATRIX_KEY(4,  2, 0x20)
8862306a36Sopenharmony_ci		MATRIX_KEY(4,  4, 0x2e)
8962306a36Sopenharmony_ci		MATRIX_KEY(4,  5, 0x30)
9062306a36Sopenharmony_ci		MATRIX_KEY(4,  6, 0x1e)
9162306a36Sopenharmony_ci		MATRIX_KEY(4,  7, 0x0d)
9262306a36Sopenharmony_ci		MATRIX_KEY(4,  8, 0x37)
9362306a36Sopenharmony_ci		MATRIX_KEY(4,  9, 0x67)
9462306a36Sopenharmony_ci		MATRIX_KEY(5,  1, 0x38)
9562306a36Sopenharmony_ci		MATRIX_KEY(5,  2, 0x0c)
9662306a36Sopenharmony_ci		MATRIX_KEY(5,  3, 0x1b)
9762306a36Sopenharmony_ci		MATRIX_KEY(5,  4, 0x34)
9862306a36Sopenharmony_ci		MATRIX_KEY(5,  5, 0x1a)
9962306a36Sopenharmony_ci		MATRIX_KEY(5,  6, 0x06)
10062306a36Sopenharmony_ci		MATRIX_KEY(5,  8, 0x27)
10162306a36Sopenharmony_ci		MATRIX_KEY(5,  9, 0x0e)
10262306a36Sopenharmony_ci		MATRIX_KEY(5, 10, 0x6f)
10362306a36Sopenharmony_ci		MATRIX_KEY(6,  0, 0x2b)
10462306a36Sopenharmony_ci		MATRIX_KEY(6,  2, 0x4e)
10562306a36Sopenharmony_ci		MATRIX_KEY(6,  3, 0x68)
10662306a36Sopenharmony_ci		MATRIX_KEY(6,  4, 0x03)
10762306a36Sopenharmony_ci		MATRIX_KEY(6,  5, 0x6d)
10862306a36Sopenharmony_ci		MATRIX_KEY(6,  6, 0x09)
10962306a36Sopenharmony_ci		MATRIX_KEY(6,  7, 0x01)
11062306a36Sopenharmony_ci		MATRIX_KEY(6,  9, 0x0f)
11162306a36Sopenharmony_ci		MATRIX_KEY(7,  8, 0x2a)
11262306a36Sopenharmony_ci		MATRIX_KEY(7,  9, 0x1d)
11362306a36Sopenharmony_ci		MATRIX_KEY(7, 10, 0x33)
11462306a36Sopenharmony_ci	>;
11562306a36Sopenharmony_ci};
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci&vbus_reg {
11862306a36Sopenharmony_ci	gpio = <&gpio 2 0>;
11962306a36Sopenharmony_ci};
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci/ {
12262306a36Sopenharmony_ci	model = "TI-NSPIRE CX";
12362306a36Sopenharmony_ci	compatible = "ti,nspire-cx";
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci	memory {
12662306a36Sopenharmony_ci		device_type = "memory";
12762306a36Sopenharmony_ci		reg = <0x10000000 0x4000000>; /* 64 MB */
12862306a36Sopenharmony_ci	};
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci	uart_clk: uart_clk {
13162306a36Sopenharmony_ci		#clock-cells = <0>;
13262306a36Sopenharmony_ci		compatible = "fixed-clock";
13362306a36Sopenharmony_ci		clock-frequency = <12000000>;
13462306a36Sopenharmony_ci	};
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci	ahb {
13762306a36Sopenharmony_ci		#address-cells = <1>;
13862306a36Sopenharmony_ci		#size-cells = <1>;
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci		intc: interrupt-controller@dc000000 {
14162306a36Sopenharmony_ci			compatible = "arm,pl190-vic";
14262306a36Sopenharmony_ci			interrupt-controller;
14362306a36Sopenharmony_ci			reg = <0xdc000000 0x1000>;
14462306a36Sopenharmony_ci			#interrupt-cells = <1>;
14562306a36Sopenharmony_ci		};
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci		apb@90000000 {
14862306a36Sopenharmony_ci			#address-cells = <1>;
14962306a36Sopenharmony_ci			#size-cells = <1>;
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci			i2c@90050000 {
15262306a36Sopenharmony_ci				compatible = "snps,designware-i2c";
15362306a36Sopenharmony_ci				reg = <0x90050000 0x1000>;
15462306a36Sopenharmony_ci				interrupts = <20>;
15562306a36Sopenharmony_ci			};
15662306a36Sopenharmony_ci		};
15762306a36Sopenharmony_ci	};
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ci	panel {
16062306a36Sopenharmony_ci		compatible = "ti,nspire-cx-lcd-panel";
16162306a36Sopenharmony_ci		port {
16262306a36Sopenharmony_ci			panel_in: endpoint {
16362306a36Sopenharmony_ci				remote-endpoint = <&clcd_pads>;
16462306a36Sopenharmony_ci			};
16562306a36Sopenharmony_ci		};
16662306a36Sopenharmony_ci	};
16762306a36Sopenharmony_ci	chosen {
16862306a36Sopenharmony_ci		bootargs = "debug earlyprintk console=tty0 console=ttyAMA0,115200n8 root=/dev/ram0";
16962306a36Sopenharmony_ci	};
17062306a36Sopenharmony_ci};
171