1d2912cb1SThomas Gleixner// SPDX-License-Identifier: GPL-2.0-only
2daa10170SRahul Bedarkar/*
3daa10170SRahul Bedarkar * Copyright (C) 2015, 2016 Imagination Technologies Ltd.
4daa10170SRahul Bedarkar *
5daa10170SRahul Bedarkar * IMG Marduk board is also known as Creator Ci40.
6daa10170SRahul Bedarkar */
7daa10170SRahul Bedarkar
8daa10170SRahul Bedarkar/dts-v1/;
9daa10170SRahul Bedarkar
10daa10170SRahul Bedarkar#include "pistachio.dtsi"
11daa10170SRahul Bedarkar
12daa10170SRahul Bedarkar/ {
13daa10170SRahul Bedarkar	model = "IMG Marduk (Creator Ci40)";
14daa10170SRahul Bedarkar	compatible = "img,pistachio-marduk", "img,pistachio";
15daa10170SRahul Bedarkar
16daa10170SRahul Bedarkar	aliases {
17daa10170SRahul Bedarkar		serial0 = &uart0;
18daa10170SRahul Bedarkar		serial1 = &uart1;
19daa10170SRahul Bedarkar		ethernet0 = &enet;
20daa10170SRahul Bedarkar		spi0 = &spfi0;
21daa10170SRahul Bedarkar		spi1 = &spfi1;
22daa10170SRahul Bedarkar	};
23daa10170SRahul Bedarkar
24daa10170SRahul Bedarkar	chosen {
25daa10170SRahul Bedarkar		bootargs = "root=/dev/sda1 rootwait ro lpj=723968";
26daa10170SRahul Bedarkar		stdout-path = "serial1:115200";
27daa10170SRahul Bedarkar	};
28daa10170SRahul Bedarkar
29daa10170SRahul Bedarkar	memory {
30daa10170SRahul Bedarkar		device_type = "memory";
31daa10170SRahul Bedarkar		reg =  <0x00000000 0x10000000>;
32daa10170SRahul Bedarkar	};
33daa10170SRahul Bedarkar
34daa10170SRahul Bedarkar	reg_1v8: fixed-regulator {
35daa10170SRahul Bedarkar		compatible = "regulator-fixed";
36daa10170SRahul Bedarkar		regulator-name = "aux_adc_vref";
37daa10170SRahul Bedarkar		regulator-min-microvolt = <1800000>;
38daa10170SRahul Bedarkar		regulator-max-microvolt = <1800000>;
39daa10170SRahul Bedarkar		regulator-boot-on;
40daa10170SRahul Bedarkar	};
41daa10170SRahul Bedarkar
42daa10170SRahul Bedarkar	internal_dac_supply: internal-dac-supply {
43daa10170SRahul Bedarkar		compatible = "regulator-fixed";
44daa10170SRahul Bedarkar		regulator-name = "internal_dac_supply";
45daa10170SRahul Bedarkar		regulator-min-microvolt = <1800000>;
46daa10170SRahul Bedarkar		regulator-max-microvolt = <1800000>;
47daa10170SRahul Bedarkar	};
48daa10170SRahul Bedarkar
49daa10170SRahul Bedarkar	leds {
50daa10170SRahul Bedarkar		compatible = "pwm-leds";
51daa10170SRahul Bedarkar		heartbeat {
52daa10170SRahul Bedarkar			label = "marduk:red:heartbeat";
53daa10170SRahul Bedarkar			pwms = <&pwm 3 300000>;
54daa10170SRahul Bedarkar			max-brightness = <255>;
55daa10170SRahul Bedarkar			linux,default-trigger = "heartbeat";
56daa10170SRahul Bedarkar		};
57daa10170SRahul Bedarkar	};
58daa10170SRahul Bedarkar
59daa10170SRahul Bedarkar	keys {
60daa10170SRahul Bedarkar		compatible = "gpio-keys";
61daa10170SRahul Bedarkar		button@1 {
62daa10170SRahul Bedarkar			label = "Button 1";
63daa10170SRahul Bedarkar			linux,code = <0x101>; /* BTN_1 */
64daa10170SRahul Bedarkar			gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
65daa10170SRahul Bedarkar		};
66daa10170SRahul Bedarkar		button@2 {
67daa10170SRahul Bedarkar			label = "Button 2";
68daa10170SRahul Bedarkar			linux,code = <0x102>; /* BTN_2 */
69daa10170SRahul Bedarkar			gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
70daa10170SRahul Bedarkar		};
71daa10170SRahul Bedarkar	};
72daa10170SRahul Bedarkar};
73daa10170SRahul Bedarkar
74daa10170SRahul Bedarkar&internal_dac {
75daa10170SRahul Bedarkar	VDD-supply = <&internal_dac_supply>;
76daa10170SRahul Bedarkar};
77daa10170SRahul Bedarkar
78daa10170SRahul Bedarkar&spfi1 {
79daa10170SRahul Bedarkar	status = "okay";
80daa10170SRahul Bedarkar
81daa10170SRahul Bedarkar	pinctrl-0 = <&spim1_pins>, <&spim1_quad_pins>, <&spim1_cs0_pin>,
82daa10170SRahul Bedarkar		    <&spim1_cs1_pin>;
83daa10170SRahul Bedarkar	pinctrl-names = "default";
84daa10170SRahul Bedarkar	cs-gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>, <&gpio0 1 GPIO_ACTIVE_HIGH>;
85daa10170SRahul Bedarkar
86daa10170SRahul Bedarkar	flash@0 {
87daa10170SRahul Bedarkar		compatible = "spansion,s25fl016k", "jedec,spi-nor";
88daa10170SRahul Bedarkar		reg = <0>;
89daa10170SRahul Bedarkar		spi-max-frequency = <50000000>;
90daa10170SRahul Bedarkar	};
91daa10170SRahul Bedarkar};
92daa10170SRahul Bedarkar
93daa10170SRahul Bedarkar&uart0 {
94daa10170SRahul Bedarkar	status = "okay";
95daa10170SRahul Bedarkar	assigned-clock-rates = <114278400>, <1843200>;
96daa10170SRahul Bedarkar};
97daa10170SRahul Bedarkar
98daa10170SRahul Bedarkar&uart1 {
99daa10170SRahul Bedarkar	status = "okay";
100daa10170SRahul Bedarkar};
101daa10170SRahul Bedarkar
102daa10170SRahul Bedarkar&usb {
103daa10170SRahul Bedarkar	status = "okay";
104daa10170SRahul Bedarkar};
105daa10170SRahul Bedarkar
106daa10170SRahul Bedarkar&enet {
107daa10170SRahul Bedarkar	status = "okay";
108daa10170SRahul Bedarkar};
109daa10170SRahul Bedarkar
110daa10170SRahul Bedarkar&pin_enet {
111daa10170SRahul Bedarkar	drive-strength = <2>;
112daa10170SRahul Bedarkar};
113daa10170SRahul Bedarkar
114daa10170SRahul Bedarkar&pin_enet_phy_clk {
115daa10170SRahul Bedarkar	drive-strength = <2>;
116daa10170SRahul Bedarkar};
117daa10170SRahul Bedarkar
118daa10170SRahul Bedarkar&sdhost {
119daa10170SRahul Bedarkar	status = "okay";
120daa10170SRahul Bedarkar	bus-width = <4>;
121daa10170SRahul Bedarkar	disable-wp;
122daa10170SRahul Bedarkar};
123daa10170SRahul Bedarkar
124daa10170SRahul Bedarkar&pin_sdhost_cmd {
125daa10170SRahul Bedarkar	drive-strength = <2>;
126daa10170SRahul Bedarkar};
127daa10170SRahul Bedarkar
128daa10170SRahul Bedarkar&pin_sdhost_data {
129daa10170SRahul Bedarkar	drive-strength = <2>;
130daa10170SRahul Bedarkar};
131daa10170SRahul Bedarkar
132daa10170SRahul Bedarkar&pwm {
133daa10170SRahul Bedarkar	status = "okay";
134daa10170SRahul Bedarkar
135daa10170SRahul Bedarkar	pinctrl-0 = <&pwmpdm0_pin>, <&pwmpdm1_pin>, <&pwmpdm2_pin>,
136daa10170SRahul Bedarkar		    <&pwmpdm3_pin>;
137daa10170SRahul Bedarkar	pinctrl-names = "default";
138daa10170SRahul Bedarkar};
139daa10170SRahul Bedarkar
140daa10170SRahul Bedarkar&adc {
141daa10170SRahul Bedarkar	status = "okay";
142daa10170SRahul Bedarkar	vref-supply = <&reg_1v8>;
143daa10170SRahul Bedarkar	adc-reserved-channels = <0x10>;
144daa10170SRahul Bedarkar};
145daa10170SRahul Bedarkar
146daa10170SRahul Bedarkar&i2c2 {
147daa10170SRahul Bedarkar	status = "okay";
148daa10170SRahul Bedarkar	clock-frequency = <400000>;
149daa10170SRahul Bedarkar
150daa10170SRahul Bedarkar	tpm@20 {
151daa10170SRahul Bedarkar		compatible = "infineon,slb9645tt";
152daa10170SRahul Bedarkar		reg = <0x20>;
153daa10170SRahul Bedarkar	};
154daa10170SRahul Bedarkar
155daa10170SRahul Bedarkar};
156daa10170SRahul Bedarkar
157daa10170SRahul Bedarkar&i2c3 {
158daa10170SRahul Bedarkar	status = "okay";
159daa10170SRahul Bedarkar	clock-frequency = <400000>;
160daa10170SRahul Bedarkar};
161