162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2015, 2016 Imagination Technologies Ltd.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * IMG Marduk board is also known as Creator Ci40.
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/dts-v1/;
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#include "pistachio.dtsi"
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/ {
1362306a36Sopenharmony_ci	model = "IMG Marduk (Creator Ci40)";
1462306a36Sopenharmony_ci	compatible = "img,pistachio-marduk", "img,pistachio";
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	aliases {
1762306a36Sopenharmony_ci		serial0 = &uart0;
1862306a36Sopenharmony_ci		serial1 = &uart1;
1962306a36Sopenharmony_ci		ethernet0 = &enet;
2062306a36Sopenharmony_ci		spi0 = &spfi0;
2162306a36Sopenharmony_ci		spi1 = &spfi1;
2262306a36Sopenharmony_ci	};
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci	chosen {
2562306a36Sopenharmony_ci		bootargs = "root=/dev/sda1 rootwait ro lpj=723968";
2662306a36Sopenharmony_ci		stdout-path = "serial1:115200";
2762306a36Sopenharmony_ci	};
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	memory {
3062306a36Sopenharmony_ci		device_type = "memory";
3162306a36Sopenharmony_ci		reg =  <0x00000000 0x10000000>;
3262306a36Sopenharmony_ci	};
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	reg_1v8: fixed-regulator {
3562306a36Sopenharmony_ci		compatible = "regulator-fixed";
3662306a36Sopenharmony_ci		regulator-name = "aux_adc_vref";
3762306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
3862306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
3962306a36Sopenharmony_ci		regulator-boot-on;
4062306a36Sopenharmony_ci	};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	internal_dac_supply: internal-dac-supply {
4362306a36Sopenharmony_ci		compatible = "regulator-fixed";
4462306a36Sopenharmony_ci		regulator-name = "internal_dac_supply";
4562306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
4662306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
4762306a36Sopenharmony_ci	};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	led-controller {
5062306a36Sopenharmony_ci		compatible = "pwm-leds";
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci		led-1 {
5362306a36Sopenharmony_ci			label = "marduk:red:heartbeat";
5462306a36Sopenharmony_ci			pwms = <&pwm 3 300000>;
5562306a36Sopenharmony_ci			max-brightness = <255>;
5662306a36Sopenharmony_ci			linux,default-trigger = "heartbeat";
5762306a36Sopenharmony_ci		};
5862306a36Sopenharmony_ci	};
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci	keys {
6162306a36Sopenharmony_ci		compatible = "gpio-keys";
6262306a36Sopenharmony_ci		button-1 {
6362306a36Sopenharmony_ci			label = "Button 1";
6462306a36Sopenharmony_ci			linux,code = <0x101>; /* BTN_1 */
6562306a36Sopenharmony_ci			gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
6662306a36Sopenharmony_ci		};
6762306a36Sopenharmony_ci		button-2 {
6862306a36Sopenharmony_ci			label = "Button 2";
6962306a36Sopenharmony_ci			linux,code = <0x102>; /* BTN_2 */
7062306a36Sopenharmony_ci			gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
7162306a36Sopenharmony_ci		};
7262306a36Sopenharmony_ci	};
7362306a36Sopenharmony_ci};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci&internal_dac {
7662306a36Sopenharmony_ci	VDD-supply = <&internal_dac_supply>;
7762306a36Sopenharmony_ci};
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci&spfi1 {
8062306a36Sopenharmony_ci	status = "okay";
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci	pinctrl-0 = <&spim1_pins>, <&spim1_quad_pins>, <&spim1_cs0_pin>,
8362306a36Sopenharmony_ci		    <&spim1_cs1_pin>;
8462306a36Sopenharmony_ci	pinctrl-names = "default";
8562306a36Sopenharmony_ci	cs-gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>, <&gpio0 1 GPIO_ACTIVE_HIGH>;
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci	flash@0 {
8862306a36Sopenharmony_ci		compatible = "spansion,s25fl016k", "jedec,spi-nor";
8962306a36Sopenharmony_ci		reg = <0>;
9062306a36Sopenharmony_ci		spi-max-frequency = <50000000>;
9162306a36Sopenharmony_ci	};
9262306a36Sopenharmony_ci};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci&uart0 {
9562306a36Sopenharmony_ci	status = "okay";
9662306a36Sopenharmony_ci	assigned-clock-rates = <114278400>, <1843200>;
9762306a36Sopenharmony_ci};
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci&uart1 {
10062306a36Sopenharmony_ci	status = "okay";
10162306a36Sopenharmony_ci};
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci&usb {
10462306a36Sopenharmony_ci	status = "okay";
10562306a36Sopenharmony_ci};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci&enet {
10862306a36Sopenharmony_ci	status = "okay";
10962306a36Sopenharmony_ci};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci&pin_enet {
11262306a36Sopenharmony_ci	drive-strength = <2>;
11362306a36Sopenharmony_ci};
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci&pin_enet_phy_clk {
11662306a36Sopenharmony_ci	drive-strength = <2>;
11762306a36Sopenharmony_ci};
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci&sdhost {
12062306a36Sopenharmony_ci	status = "okay";
12162306a36Sopenharmony_ci	bus-width = <4>;
12262306a36Sopenharmony_ci	disable-wp;
12362306a36Sopenharmony_ci};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci&pin_sdhost_cmd {
12662306a36Sopenharmony_ci	drive-strength = <2>;
12762306a36Sopenharmony_ci};
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci&pin_sdhost_data {
13062306a36Sopenharmony_ci	drive-strength = <2>;
13162306a36Sopenharmony_ci};
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci&pwm {
13462306a36Sopenharmony_ci	status = "okay";
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci	pinctrl-0 = <&pwmpdm0_pin>, <&pwmpdm1_pin>, <&pwmpdm2_pin>,
13762306a36Sopenharmony_ci		    <&pwmpdm3_pin>;
13862306a36Sopenharmony_ci	pinctrl-names = "default";
13962306a36Sopenharmony_ci};
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci&adc {
14262306a36Sopenharmony_ci	status = "okay";
14362306a36Sopenharmony_ci	vref-supply = <&reg_1v8>;
14462306a36Sopenharmony_ci	adc-reserved-channels = <0x10>;
14562306a36Sopenharmony_ci};
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci&i2c2 {
14862306a36Sopenharmony_ci	status = "okay";
14962306a36Sopenharmony_ci	clock-frequency = <400000>;
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci	tpm@20 {
15262306a36Sopenharmony_ci		compatible = "infineon,slb9645tt";
15362306a36Sopenharmony_ci		reg = <0x20>;
15462306a36Sopenharmony_ci	};
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci&i2c3 {
15962306a36Sopenharmony_ci	status = "okay";
16062306a36Sopenharmony_ci	clock-frequency = <400000>;
16162306a36Sopenharmony_ci};
162