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