aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/pistachio/patches-4.9/002-MIPS-DTS-img-add-device-tree-for-Marduk-board.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/pistachio/patches-4.9/002-MIPS-DTS-img-add-device-tree-for-Marduk-board.patch')
-rw-r--r--target/linux/pistachio/patches-4.9/002-MIPS-DTS-img-add-device-tree-for-Marduk-board.patch242
1 files changed, 242 insertions, 0 deletions
diff --git a/target/linux/pistachio/patches-4.9/002-MIPS-DTS-img-add-device-tree-for-Marduk-board.patch b/target/linux/pistachio/patches-4.9/002-MIPS-DTS-img-add-device-tree-for-Marduk-board.patch
new file mode 100644
index 0000000000..2682ac2d3d
--- /dev/null
+++ b/target/linux/pistachio/patches-4.9/002-MIPS-DTS-img-add-device-tree-for-Marduk-board.patch
@@ -0,0 +1,242 @@
+From a189771546b304250cf18b26748edfefb857adbf Mon Sep 17 00:00:00 2001
+From: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
+Date: Fri, 14 Oct 2016 11:25:55 +0530
+Subject: MIPS: DTS: img: add device tree for Marduk board
+
+Add support for Imagination Technologies' Marduk board which is based
+on Pistachio SoC. It is also known as Creator Ci40. Marduk is legacy
+name and will be there for decades.
+
+Documentation for this board can be found on
+https://docs.creatordev.io/ci40/
+
+This patch adds initial support for board with following peripherals:
+
+* PWM based heartbeat LED
+* GPIO based buttons
+* SPI NOR flash on SPI1
+* UART0 and UART1
+* SD card
+* Ethernet
+* USB
+* PWM
+* ADC
+* I2C
+
+(apply from https://patchwork.linux-mips.org/project/linux-mips/list/?submitter=7165)
+
+Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
+Acked-by: Rob Herring <robh@kernel.org>
+Acked-by: James Hartley <james.hartley@imgtec.com>
+---
+ .../bindings/mips/img/pistachio-marduk.txt | 10 ++
+ arch/mips/boot/dts/img/Makefile | 9 ++
+ arch/mips/boot/dts/img/pistachio_marduk.dts | 163 +++++++++++++++++++++
+ 3 files changed, 182 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/mips/img/pistachio-marduk.txt
+ create mode 100644 arch/mips/boot/dts/img/Makefile
+ create mode 100644 arch/mips/boot/dts/img/pistachio_marduk.dts
+
+diff --git a/Documentation/devicetree/bindings/mips/img/pistachio-marduk.txt b/Documentation/devicetree/bindings/mips/img/pistachio-marduk.txt
+new file mode 100644
+index 0000000..2d5126d
+--- /dev/null
++++ b/Documentation/devicetree/bindings/mips/img/pistachio-marduk.txt
+@@ -0,0 +1,10 @@
++Imagination Technologies' Pistachio SoC based Marduk Board
++==========================================================
++
++Compatible string must be "img,pistachio-marduk", "img,pistachio"
++
++Hardware and other related documentation is available at
++https://docs.creatordev.io/ci40/
++
++It is also known as Creator Ci40. Marduk is legacy name and will
++be there for decades.
+diff --git a/arch/mips/boot/dts/img/Makefile b/arch/mips/boot/dts/img/Makefile
+new file mode 100644
+index 0000000..69a65f0
+--- /dev/null
++++ b/arch/mips/boot/dts/img/Makefile
+@@ -0,0 +1,9 @@
++dtb-$(CONFIG_MACH_PISTACHIO) += pistachio_marduk.dtb
++
++obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y))
++
++# Force kbuild to make empty built-in.o if necessary
++obj- += dummy.o
++
++always := $(dtb-y)
++clean-files := *.dtb *.dtb.S
+diff --git a/arch/mips/boot/dts/img/pistachio_marduk.dts b/arch/mips/boot/dts/img/pistachio_marduk.dts
+new file mode 100644
+index 0000000..cf9cebd
+--- /dev/null
++++ b/arch/mips/boot/dts/img/pistachio_marduk.dts
+@@ -0,0 +1,163 @@
++/*
++ * Copyright (C) 2015, 2016 Imagination Technologies Ltd.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * IMG Marduk board is also known as Creator Ci40.
++ */
++
++/dts-v1/;
++
++#include "pistachio.dtsi"
++
++/ {
++ model = "IMG Marduk (Creator Ci40)";
++ compatible = "img,pistachio-marduk", "img,pistachio";
++
++ aliases {
++ serial0 = &uart0;
++ serial1 = &uart1;
++ ethernet0 = &enet;
++ spi0 = &spfi0;
++ spi1 = &spfi1;
++ };
++
++ chosen {
++ bootargs = "root=/dev/sda1 rootwait ro lpj=723968";
++ stdout-path = "serial1:115200";
++ };
++
++ memory {
++ device_type = "memory";
++ reg = <0x00000000 0x10000000>;
++ };
++
++ reg_1v8: fixed-regulator {
++ compatible = "regulator-fixed";
++ regulator-name = "aux_adc_vref";
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-boot-on;
++ };
++
++ internal_dac_supply: internal-dac-supply {
++ compatible = "regulator-fixed";
++ regulator-name = "internal_dac_supply";
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ };
++
++ leds {
++ compatible = "pwm-leds";
++ heartbeat {
++ label = "marduk:red:heartbeat";
++ pwms = <&pwm 3 300000>;
++ max-brightness = <255>;
++ linux,default-trigger = "heartbeat";
++ };
++ };
++
++ keys {
++ compatible = "gpio-keys";
++ button@1 {
++ label = "Button 1";
++ linux,code = <0x101>; /* BTN_1 */
++ gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
++ };
++ button@2 {
++ label = "Button 2";
++ linux,code = <0x102>; /* BTN_2 */
++ gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
++ };
++ };
++};
++
++&internal_dac {
++ VDD-supply = <&internal_dac_supply>;
++};
++
++&spfi1 {
++ status = "okay";
++
++ pinctrl-0 = <&spim1_pins>, <&spim1_quad_pins>, <&spim1_cs0_pin>,
++ <&spim1_cs1_pin>;
++ pinctrl-names = "default";
++ cs-gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>, <&gpio0 1 GPIO_ACTIVE_HIGH>;
++
++ flash@0 {
++ compatible = "spansion,s25fl016k", "jedec,spi-nor";
++ reg = <0>;
++ spi-max-frequency = <50000000>;
++ };
++};
++
++&uart0 {
++ status = "okay";
++ assigned-clock-rates = <114278400>, <1843200>;
++};
++
++&uart1 {
++ status = "okay";
++};
++
++&usb {
++ status = "okay";
++};
++
++&enet {
++ status = "okay";
++};
++
++&pin_enet {
++ drive-strength = <2>;
++};
++
++&pin_enet_phy_clk {
++ drive-strength = <2>;
++};
++
++&sdhost {
++ status = "okay";
++ bus-width = <4>;
++ disable-wp;
++};
++
++&pin_sdhost_cmd {
++ drive-strength = <2>;
++};
++
++&pin_sdhost_data {
++ drive-strength = <2>;
++};
++
++&pwm {
++ status = "okay";
++
++ pinctrl-0 = <&pwmpdm0_pin>, <&pwmpdm1_pin>, <&pwmpdm2_pin>,
++ <&pwmpdm3_pin>;
++ pinctrl-names = "default";
++};
++
++&adc {
++ status = "okay";
++ vref-supply = <&reg_1v8>;
++ adc-reserved-channels = <0x10>;
++};
++
++&i2c2 {
++ status = "okay";
++ clock-frequency = <400000>;
++
++ tpm@20 {
++ compatible = "infineon,slb9645tt";
++ reg = <0x20>;
++ };
++
++};
++
++&i2c3 {
++ status = "okay";
++ clock-frequency = <400000>;
++};
+--
+2.7.4
+