diff options
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.patch | 242 |
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 = <®_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 + |