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
49991838f9SAlexander Dahl	led-controller {
50daa10170SRahul Bedarkar		compatible = "pwm-leds";
51991838f9SAlexander Dahl
52991838f9SAlexander Dahl		led-1 {
53daa10170SRahul Bedarkar			label = "marduk:red:heartbeat";
54daa10170SRahul Bedarkar			pwms = <&pwm 3 300000>;
55daa10170SRahul Bedarkar			max-brightness = <255>;
56daa10170SRahul Bedarkar			linux,default-trigger = "heartbeat";
57daa10170SRahul Bedarkar		};
58daa10170SRahul Bedarkar	};
59daa10170SRahul Bedarkar
60daa10170SRahul Bedarkar	keys {
61daa10170SRahul Bedarkar		compatible = "gpio-keys";
62*5ee46bfbSKrzysztof Kozlowski		button-1 {
63daa10170SRahul Bedarkar			label = "Button 1";
64daa10170SRahul Bedarkar			linux,code = <0x101>; /* BTN_1 */
65daa10170SRahul Bedarkar			gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
66daa10170SRahul Bedarkar		};
67*5ee46bfbSKrzysztof Kozlowski		button-2 {
68daa10170SRahul Bedarkar			label = "Button 2";
69daa10170SRahul Bedarkar			linux,code = <0x102>; /* BTN_2 */
70daa10170SRahul Bedarkar			gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
71daa10170SRahul Bedarkar		};
72daa10170SRahul Bedarkar	};
73daa10170SRahul Bedarkar};
74daa10170SRahul Bedarkar
75daa10170SRahul Bedarkar&internal_dac {
76daa10170SRahul Bedarkar	VDD-supply = <&internal_dac_supply>;
77daa10170SRahul Bedarkar};
78daa10170SRahul Bedarkar
79daa10170SRahul Bedarkar&spfi1 {
80daa10170SRahul Bedarkar	status = "okay";
81daa10170SRahul Bedarkar
82daa10170SRahul Bedarkar	pinctrl-0 = <&spim1_pins>, <&spim1_quad_pins>, <&spim1_cs0_pin>,
83daa10170SRahul Bedarkar		    <&spim1_cs1_pin>;
84daa10170SRahul Bedarkar	pinctrl-names = "default";
85daa10170SRahul Bedarkar	cs-gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>, <&gpio0 1 GPIO_ACTIVE_HIGH>;
86daa10170SRahul Bedarkar
87daa10170SRahul Bedarkar	flash@0 {
88daa10170SRahul Bedarkar		compatible = "spansion,s25fl016k", "jedec,spi-nor";
89daa10170SRahul Bedarkar		reg = <0>;
90daa10170SRahul Bedarkar		spi-max-frequency = <50000000>;
91daa10170SRahul Bedarkar	};
92daa10170SRahul Bedarkar};
93daa10170SRahul Bedarkar
94daa10170SRahul Bedarkar&uart0 {
95daa10170SRahul Bedarkar	status = "okay";
96daa10170SRahul Bedarkar	assigned-clock-rates = <114278400>, <1843200>;
97daa10170SRahul Bedarkar};
98daa10170SRahul Bedarkar
99daa10170SRahul Bedarkar&uart1 {
100daa10170SRahul Bedarkar	status = "okay";
101daa10170SRahul Bedarkar};
102daa10170SRahul Bedarkar
103daa10170SRahul Bedarkar&usb {
104daa10170SRahul Bedarkar	status = "okay";
105daa10170SRahul Bedarkar};
106daa10170SRahul Bedarkar
107daa10170SRahul Bedarkar&enet {
108daa10170SRahul Bedarkar	status = "okay";
109daa10170SRahul Bedarkar};
110daa10170SRahul Bedarkar
111daa10170SRahul Bedarkar&pin_enet {
112daa10170SRahul Bedarkar	drive-strength = <2>;
113daa10170SRahul Bedarkar};
114daa10170SRahul Bedarkar
115daa10170SRahul Bedarkar&pin_enet_phy_clk {
116daa10170SRahul Bedarkar	drive-strength = <2>;
117daa10170SRahul Bedarkar};
118daa10170SRahul Bedarkar
119daa10170SRahul Bedarkar&sdhost {
120daa10170SRahul Bedarkar	status = "okay";
121daa10170SRahul Bedarkar	bus-width = <4>;
122daa10170SRahul Bedarkar	disable-wp;
123daa10170SRahul Bedarkar};
124daa10170SRahul Bedarkar
125daa10170SRahul Bedarkar&pin_sdhost_cmd {
126daa10170SRahul Bedarkar	drive-strength = <2>;
127daa10170SRahul Bedarkar};
128daa10170SRahul Bedarkar
129daa10170SRahul Bedarkar&pin_sdhost_data {
130daa10170SRahul Bedarkar	drive-strength = <2>;
131daa10170SRahul Bedarkar};
132daa10170SRahul Bedarkar
133daa10170SRahul Bedarkar&pwm {
134daa10170SRahul Bedarkar	status = "okay";
135daa10170SRahul Bedarkar
136daa10170SRahul Bedarkar	pinctrl-0 = <&pwmpdm0_pin>, <&pwmpdm1_pin>, <&pwmpdm2_pin>,
137daa10170SRahul Bedarkar		    <&pwmpdm3_pin>;
138daa10170SRahul Bedarkar	pinctrl-names = "default";
139daa10170SRahul Bedarkar};
140daa10170SRahul Bedarkar
141daa10170SRahul Bedarkar&adc {
142daa10170SRahul Bedarkar	status = "okay";
143daa10170SRahul Bedarkar	vref-supply = <&reg_1v8>;
144daa10170SRahul Bedarkar	adc-reserved-channels = <0x10>;
145daa10170SRahul Bedarkar};
146daa10170SRahul Bedarkar
147daa10170SRahul Bedarkar&i2c2 {
148daa10170SRahul Bedarkar	status = "okay";
149daa10170SRahul Bedarkar	clock-frequency = <400000>;
150daa10170SRahul Bedarkar
151daa10170SRahul Bedarkar	tpm@20 {
152daa10170SRahul Bedarkar		compatible = "infineon,slb9645tt";
153daa10170SRahul Bedarkar		reg = <0x20>;
154daa10170SRahul Bedarkar	};
155daa10170SRahul Bedarkar
156daa10170SRahul Bedarkar};
157daa10170SRahul Bedarkar
158daa10170SRahul Bedarkar&i2c3 {
159daa10170SRahul Bedarkar	status = "okay";
160daa10170SRahul Bedarkar	clock-frequency = <400000>;
161daa10170SRahul Bedarkar};
162