On Tue, Mar 26, 2019 at 11:41 PM Andrey Smirnov <andrew.smirnov@xxxxxxxxx> wrote: > > Add support for ZII's i.MX7 based Remote Peripheral Unit 2 (RPU2) > board. > > Signed-off-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx> > Cc: Shawn Guo <shawnguo@xxxxxxxxxx> > Cc: Chris Healy <cphealy@xxxxxxxxx> > Cc: Andrew Lunn <andrew@xxxxxxx> > Cc: Fabio Estevam <festevam@xxxxxxxxx> > Cc: Rob Herring <robh@xxxxxxxxxx> > Cc: linux-kernel@xxxxxxxxxxxxxxx > Cc: devicetree@xxxxxxxxxxxxxxx > --- > arch/arm/boot/dts/Makefile | 1 + > arch/arm/boot/dts/imx7d-zii-rpu2.dts | 936 +++++++++++++++++++++++++++ > 2 files changed, 937 insertions(+) > create mode 100644 arch/arm/boot/dts/imx7d-zii-rpu2.dts > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index efefce8efa05..687222907154 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -586,6 +586,7 @@ dtb-$(CONFIG_SOC_IMX7D) += \ > imx7d-sdb.dtb \ > imx7d-sdb-reva.dtb \ > imx7d-sdb-sht11.dtb \ > + imx7d-zii-rpu2.dtb \ > imx7s-colibri-eval-v3.dtb \ > imx7s-warp.dtb > dtb-$(CONFIG_SOC_IMX7ULP) += \ > diff --git a/arch/arm/boot/dts/imx7d-zii-rpu2.dts b/arch/arm/boot/dts/imx7d-zii-rpu2.dts > new file mode 100644 > index 000000000000..6f36c7d9d214 > --- /dev/null > +++ b/arch/arm/boot/dts/imx7d-zii-rpu2.dts > @@ -0,0 +1,936 @@ > +// SPDX-License-Identifier: (GPL-2.0 OR MIT) > + > +/* > + * Device tree file for ZII's RPU2 board > + * > + * RPU - Remote Peripheral Unit > + * > + * Copyright (C) 2019 Zodiac Inflight Innovations > + */ > + > +/dts-v1/; > +#include "imx7d.dtsi" > + > +/ { > + model = "ZII RPU2 Board"; > + compatible = "zii,imx7d-rpu2", "fsl,imx7d"; > + > + chosen { > + stdout-path = &uart1; > + }; > + > + gpio-leds { > + compatible = "gpio-leds"; > + pinctrl-0 = <&pinctrl_leds_debug>; > + pinctrl-names = "default"; > + > + debug { > + label = "zii:green:debug1"; > + gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>; > + linux,default-trigger = "heartbeat"; > + }; > + }; > + > + reg_can1_stby: regulator-can1-stby { > + compatible = "regulator-fixed"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_flexcan1_stby>; > + regulator-name = "can1-3v3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + }; > + > + reg_can2_stby: regulator-can2-stby { > + compatible = "regulator-fixed"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_flexcan2_stby>; > + regulator-name = "can2-3v3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + }; > + > + reg_vref_1v8: regulator-vref-1v8 { > + compatible = "regulator-fixed"; > + regulator-name = "vref-1v8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + }; > + > + reg_3p3v: regulator-3p3v { > + compatible = "regulator-fixed"; > + regulator-name = "GEN_3V3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + > + reg_5p0v_main: regulator-5p0v-main { > + compatible = "regulator-fixed"; > + regulator-name = "5V_MAIN"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + regulator-always-on; > + }; > + > + sound1 { > + compatible = "simple-audio-card"; > + simple-audio-card,name = "Audio Output 1"; > + simple-audio-card,format = "i2s"; > + simple-audio-card,bitclock-master = <&sound1_codec>; > + simple-audio-card,frame-master = <&sound1_codec>; > + simple-audio-card,widgets = > + "Headphone", "Headphone Jack"; > + simple-audio-card,routing = > + "Headphone Jack", "HPLEFT", > + "Headphone Jack", "HPRIGHT", > + "LEFTIN", "HPL", > + "RIGHTIN", "HPR"; > + simple-audio-card,aux-devs = <&hpa1>; > + > + simple-audio-card,cpu { > + sound-dai = <&sai1>; > + }; > + > + sound1_codec: simple-audio-card,codec { > + sound-dai = <&codec1>; > + clocks = <&cs2000>; > + }; > + }; > + > + sound2 { > + compatible = "simple-audio-card"; > + simple-audio-card,name = "Audio Output 2"; > + simple-audio-card,format = "i2s"; > + simple-audio-card,bitclock-master = <&sound2_codec>; > + simple-audio-card,frame-master = <&sound2_codec>; > + simple-audio-card,widgets = > + "Headphone", "Headphone Jack"; > + simple-audio-card,routing = > + "Headphone Jack", "HPLEFT", > + "Headphone Jack", "HPRIGHT", > + "LEFTIN", "HPL", > + "RIGHTIN", "HPR"; > + simple-audio-card,aux-devs = <&hpa2>; > + > + simple-audio-card,cpu { > + sound-dai = <&sai2>; > + }; > + > + sound2_codec: simple-audio-card,codec { > + sound-dai = <&codec2>; > + clocks = <&cs2000>; > + }; > + }; > + > + sound3 { > + compatible = "simple-audio-card"; > + simple-audio-card,name = "Audio Output 3"; > + simple-audio-card,format = "i2s"; > + simple-audio-card,bitclock-master = <&sound3_codec>; > + simple-audio-card,frame-master = <&sound3_codec>; > + simple-audio-card,widgets = > + "Headphone", "Headphone Jack"; > + simple-audio-card,routing = > + "Headphone Jack", "HPLEFT", > + "Headphone Jack", "HPRIGHT", > + "LEFTIN", "HPL", > + "RIGHTIN", "HPR"; > + simple-audio-card,aux-devs = <&hpa3>; > + > + simple-audio-card,cpu { > + sound-dai = <&sai3>; > + }; > + > + sound3_codec: simple-audio-card,codec { > + sound-dai = <&codec3>; > + clocks = <&cs2000>; > + }; > + }; > + > + cs2000_ref: cs2000-ref { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <24576000>; > + }; > + > + cs2000_in_dummy: cs2000-in-dummy { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <0>; > + }; > +}; > + > +&adc1 { > + vref-supply = <®_vref_1v8>; > + status = "okay"; > +}; > + > +&adc2 { > + vref-supply = <®_vref_1v8>; > + status = "okay"; > +}; Tested this patch more and realized that these two above need to be properly exposed via HWMON. Will submit an update v2 of this set. Thanks, Andrey Smirnov