Message ID | 20201104213232.14846-1-lancelot.kao@fii-usa.com |
---|---|
State | New |
Headers | show |
Series | [linux,dev-5.8] Fii Kudo project device tree file | expand |
On Wed, 4 Nov 2020 at 13:32, Lancelot Kao <lancelot.kao@fii-usa.com> wrote: > > 1. Add Fii kudo project device tree dts and dtsi > files to the upstream. > > Signed-off-by: Lancelot Kao <lancelot.kao@fii-usa.com> > Signed-off-by: Mohaimen alsmarai <Mohaimen.alsamarai@fii-na.com> > --- > .../boot/dts/nuvoton-npcm730-kudo-gpio.dtsi | 288 ++++++++ > arch/arm/boot/dts/nuvoton-npcm730-kudo.dts | 676 ++++++++++++++++++ > 2 files changed, 964 insertions(+) > create mode 100644 arch/arm/boot/dts/nuvoton-npcm730-kudo-gpio.dtsi > create mode 100644 arch/arm/boot/dts/nuvoton-npcm730-kudo.dts > > diff --git a/arch/arm/boot/dts/nuvoton-npcm730-kudo-gpio.dtsi b/arch/arm/boot/dts/nuvoton-npcm730-kudo-gpio.dtsi > new file mode 100644 > index 000000000000..0dc888dac73b > --- /dev/null > +++ b/arch/arm/boot/dts/nuvoton-npcm730-kudo-gpio.dtsi > @@ -0,0 +1,288 @@ > +// SPDX-License-Identifier: GPL-2.0 > +// Copyright (c) 2020 Fii USA Inc. Brandon Ong <Brandon.Ong@fii-na.com> > + > + > +/ { > + pinctrl: pinctrl@f0800000 { > + gpio61oh_pins: gpio61oh-pins { > + pins = "GPO61/nDTR1_BOUT1/STRAP6"; > + bias-disable; > + output-high; > + }; > + gpio62oh_pins: gpio62oh-pins { > + pins = "GPO62/nRTST1/STRAP5"; > + bias-disable; > + output-high; > + }; > + gpio161ol_pins: gpio161ol-pins { > + pins = "GPIO161/nLFRAME/nESPICS"; > + bias-disable; > + output-low; > + }; > + gpio163i_pins: gpio163i-pins { > + pins = "GPIO163/LCLK/ESPICLK"; > + bias-disable; > + input-enable; > + }; > + gpio167ol_pins: gpio167ol-pins { > + pins = "GPIO167/LAD3/ESPI_IO3"; > + bias-disable; > + output-low; > + }; > + gpio95i_pins: gpio95i-pins { > + pins = "GPIO95/nLRESET/nESPIRST"; > + bias-disable; > + input-enable; > + }; > + gpio65ol_pins: gpio65ol-pins { > + pins = "GPIO65/FANIN1"; > + bias-disable; > + output-low; > + }; > + gpio66oh_pins: gpio66oh-pins { > + pins = "GPIO66/FANIN2"; > + bias-disable; > + output-high; > + }; > + gpio67oh_pins: gpio67oh-pins { > + pins = "GPIO67/FANIN3"; > + bias-disable; > + output-high; > + }; > + gpio68ol_pins: gpio68ol-pins { > + pins = "GPIO68/FANIN4"; > + bias-disable; > + output-low; > + }; > + gpio69i_pins: gpio69i-pins { > + pins = "GPIO69/FANIN5"; > + bias-disable; > + input-enable; > + }; > + gpio70ol_pins: gpio70ol-pins { > + pins = "GPIO70/FANIN6"; > + bias-disable; > + output-low; > + }; > + gpio71i_pins: gpio71i-pins { > + pins = "GPIO71/FANIN7"; > + bias-disable; > + input-enable; > + }; > + gpio72i_pins: gpio72i-pins { > + pins = "GPIO72/FANIN8"; > + bias-disable; > + input-enable; > + }; > + gpio73i_pins: gpio73i-pins { > + pins = "GPIO73/FANIN9"; > + bias-disable; > + input-enable; > + }; > + gpio74i_pins: gpio74i-pins { > + pins = "GPIO74/FANIN10"; > + bias-disable; > + input-enable; > + }; > + gpio75i_pins: gpio75i-pins { > + pins = "GPIO75/FANIN11"; > + bias-disable; > + input-enable; > + }; > + gpio76i_pins: gpio76i-pins { > + pins = "GPIO76/FANIN12"; > + bias-disable; > + input-enable; > + }; > + gpio77i_pins: gpio77i-pins { > + pins = "GPIO77/FANIN13"; > + bias-disable; > + input-enable; > + }; > + gpio78i_pins: gpio78i-pins { > + pins = "GPIO78/FANIN14"; > + bias-disable; > + input-enable; > + }; > + gpio79ol_pins: gpio79ol-pins { > + pins = "GPIO79/FANIN15"; > + bias-disable; > + output-low; > + }; > + gpio80oh_pins: gpio80oh-pins { > + pins = "GPIO80/PWM0"; > + bias-disable; > + output-high; > + }; > + gpio81i_pins: gpio81i-pins { > + pins = "GPIO81/PWM1"; > + bias-disable; > + input-enable; > + }; > + gpio82i_pins: gpio82i-pins { > + pins = "GPIO82/PWM2"; > + bias-disable; > + input-enable; > + }; > + gpio83i_pins: gpio83i-pins { > + pins = "GPIO83/PWM3"; > + bias-disable; > + input-enable; > + }; > + gpio144i_pins: gpio144i-pins { > + pins = "GPIO144/PWM4"; > + bias-disable; > + input-enable; > + }; > + gpio145i_pins: gpio145i-pins { > + pins = "GPIO145/PWM5"; > + bias-disable; > + input-enable; > + }; > + gpio146i_pins: gpio146i-pins { > + pins = "GPIO146/PWM6"; > + bias-disable; > + input-enable; > + }; > + gpio147oh_pins: gpio147oh-pins { > + pins = "GPIO147/PWM7"; > + bias-disable; > + output-high; > + }; > + gpio168ol_pins: gpio168ol-pins { > + pins = "GPIO168/nCLKRUN/nESPIALERT"; > + bias-disable; > + output-low; > + }; > + gpio169oh_pins: gpio169oh-pins { > + pins = "GPIO169/nSCIPME"; > + bias-disable; > + output-high; > + }; > + gpio170ol_pins: gpio170ol-pins { > + pins = "GPIO170/nSMI"; > + bias-disable; > + output-low; > + }; > + gpio218oh_pins: gpio218oh-pins { > + pins = "GPIO218/nWDO1"; > + bias-disable; > + output-high; > + }; > + gpio37i_pins: gpio37i-pins { > + pins = "GPIO37/SMB3CSDA"; > + bias-disable; > + input-enable; > + }; > + gpio38i_pins: gpio38i-pins { > + pins = "GPIO38/SMB3CSCL"; > + bias-disable; > + input-enable; > + }; > + gpio39i_pins: gpio39i-pins { > + pins = "GPIO39/SMB3BSDA"; > + bias-disable; > + input-enable; > + }; > + gpio40i_pins: gpio40i-pins { > + pins = "GPIO40/SMB3BSCL"; > + bias-disable; > + input-enable; > + }; > + gpio121i_pins: gpio121i-pins { > + pins = "GPIO121/SMB2CSCL"; > + bias-disable; > + input-enable; > + }; > + gpio122i_pins: gpio122i-pins { > + pins = "GPIO122/SMB2BSDA"; > + bias-disable; > + input-enable; > + }; > + gpio123i_pins: gpio123i-pins { > + pins = "GPIO123/SMB2BSCL"; > + bias-disable; > + input-enable; > + }; > + gpio124i_pins: gpio124i-pins { > + pins = "GPIO124/SMB1CSDA"; > + bias-disable; > + input-enable; > + }; > + gpio125i_pins: gpio125i-pins { > + pins = "GPIO125/SMB1CSCL"; > + bias-disable; > + input-enable; > + }; > + gpio126i_pins: gpio126i-pins { > + pins = "GPIO126/SMB1BSDA"; > + bias-disable; > + input-enable; > + }; > + gpio127i_pins: gpio127i-pins { > + pins = "GPIO127/SMB1BSCL"; > + bias-disable; > + input-enable; > + }; > + gpio136i_pins: gpio136i-pins { > + pins = "GPIO136/SD1DT0"; > + bias-disable; > + input-enable; > + }; > + gpio137oh_pins: gpio137oh-pins { > + pins = "GPIO137/SD1DT1"; > + bias-disable; > + output-high; > + }; > + gpio138i_pins: gpio138i-pins { > + pins = "GPIO138/SD1DT2"; > + bias-disable; > + input-enable; > + }; > + gpio139i_pins: gpio139i-pins { > + pins = "GPIO139/SD1DT3"; > + bias-disable; > + input-enable; > + }; > + gpio140i_pins: gpio140i-pins { > + pins = "GPIO140/SD1CLK"; > + bias-disable; > + input-enable; > + }; > + gpio141i_pins: gpio141i-pins { > + pins = "GPIO141/SD1WP"; > + bias-disable; > + input-enable; > + }; > + gpio190oh_pins: gpio190oh-pins { > + pins = "GPIO190/nPRD_SMI"; > + bias-disable; > + output-high; > + }; > + gpio191oh_pins: gpio191oh-pins { > + pins = "GPIO191"; > + bias-disable; > + output-high; > + }; > + gpio195ol_pins: gpio195ol-pins { > + pins = "GPIO195/SMB0BSDA"; > + bias-disable; > + output-low; > + }; > + gpio196ol_pins: gpio196ol-pins { > + pins = "GPIO196/SMB0CSCL"; > + bias-disable; > + output-low; > + }; > + gpio199i_pins: gpio199i-pins { > + pins = "GPIO199/SMB0DSCL"; > + bias-disable; > + input-enable; > + }; > + gpio202ol_pins: gpio202ol-pins { > + pins = "GPIO202/SMB0CSDA"; > + bias-disable; > + output-low; > + }; > + }; > +}; > diff --git a/arch/arm/boot/dts/nuvoton-npcm730-kudo.dts b/arch/arm/boot/dts/nuvoton-npcm730-kudo.dts > new file mode 100644 > index 000000000000..76e0860763b0 > --- /dev/null > +++ b/arch/arm/boot/dts/nuvoton-npcm730-kudo.dts > @@ -0,0 +1,676 @@ > +// SPDX-License-Identifier: GPL-2.0 > +// Copyright (c) 2020 Fii USA Inc. Mustatfa Shehabi <Mustafa.Shehabi@fii-na.com> > + > +/dts-v1/; > +#include "nuvoton-npcm730.dtsi" > +#include "nuvoton-npcm730-kudo-gpio.dtsi" > + > +/ { > + model = "Fii Kudo Board (Device Tree v00.01)"; > + compatible = "nuvoton,npcm730"; > + > + aliases { > + ethernet0 = &emc0; > + ethernet1 = &gmac0; > + serial0 = &serial0; > + serial1 = &serial1; > + serial2 = &serial2; > + serial3 = &serial3; > + udc0 = &udc0; > + udc1 = &udc1; > + udc2 = &udc2; > + udc3 = &udc3; > + udc4 = &udc4; > + udc5 = &udc5; > + udc6 = &udc6; > + udc7 = &udc7; > + udc8 = &udc8; > + udc9 = &udc9; > + emmc0 = &sdhci0; > + vdma = &vdma; > + i2c0 = &i2c0; > + i2c1 = &i2c1; > + i2c2 = &i2c2; > + i2c3 = &i2c3; > + i2c4 = &i2c4; > + i2c5 = &i2c5; > + i2c6 = &i2c6; > + i2c7 = &i2c7; > + i2c8 = &i2c8; > + i2c9 = &i2c9; > + i2c10 = &i2c10; > + i2c11 = &i2c11; > + i2c12 = &i2c12; > + i2c13 = &i2c13; > + spi0 = &spi0; > + spi1 = &spi1; > + fiu0 = &fiu0; > + fiu1 = &fiu3; > + }; > + > + chosen { > + stdout-path = &serial3; > + }; > + > + memory { > + reg = <0 0x40000000>; > + }; > + > + iio-hwmon { > + compatible = "iio-hwmon"; > + io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, > + <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>; > + }; > + > + jtag_master { > + compatible = "nuvoton,npcm750-jtag-master"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + dev-num = <0>; /* /dev/jtag0 */ > + mode = "pspi"; /* pspi or gpio */ > + > + pspi-controller = <2>; /* pspi2 */ > + reg = <0xf0201000 0x1000>; > + interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&clk NPCM7XX_CLK_APB5>; > + > + jtag-gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>, /* TCK */ > + <&gpio0 18 GPIO_ACTIVE_HIGH>, /* TDI */ > + <&gpio0 17 GPIO_ACTIVE_HIGH>, /* TDO */ > + <&gpio0 16 GPIO_ACTIVE_HIGH>; /* TMS */ > + status = "okay"; > + }; Can the jtag_master node go into the base nuvoton-common-npcm7xx.dtsi since it's not specific to this machine? > + > + ahb { > + gmac0: eth@f0802000 { > + phy-mode = "rgmii-id"; > + snps,eee-force-disable; > + status = "okay"; > + }; Here and throughout: If you want to modify a node from the dtsi, refer to it using an "&" instead so that you don't need to duplicate the full path and address. e.g.: &gmac0 { ... }; > + > + emc0: eth@f0825000 { > + status = "okay"; > + }; > + > + ehci1: usb@f0806000 { > + status = "okay"; > + }; > + > + ohci1: ohci@f0807000 { > + status = "okay"; > + }; > + > + udc0: udc@f0830000 { > + status = "okay"; > + }; > + > + udc1: udc@f0831000 { > + status = "okay"; > + }; > + > + udc2: udc@f0832000 { > + status = "okay"; > + }; > + > + udc3: udc@f0833000 { > + status = "okay"; > + }; > + > + udc4: udc@f0834000 { > + status = "okay"; > + }; > + > + udc5: udc@f0835000 { > + status = "okay"; > + }; > + > + udc6: udc@f0836000 { > + status = "okay"; > + }; > + > + udc7: udc@f0837000 { > + status = "okay"; > + }; > + > + udc8: udc@f0838000 { > + status = "okay"; > + }; > + > + udc9: udc@f0839000 { > + status = "okay"; > + }; > + > + aes: aes@f0858000 { > + status = "okay"; > + }; > + > + sha: sha@f085a000 { > + status = "okay"; > + }; > + > + fiu0: spi@fb000000 { > + pinctrl-names = "default"; > + pinctrl-0 = <&spi0cs1_pins>; > + status = "okay"; > + spi-nor@0 { > + compatible = "jedec,spi-nor"; > + #address-cells = <1>; > + #size-cells = <1>; > + reg = <0>; > + spi-max-frequency = <5000000>; > + spi-rx-bus-width = <2>; > + partitions@80000000 { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + bmc@0{ > + label = "bmc"; > + reg = <0x000000 0x2000000>; > + }; > + u-boot@0 { > + label = "u-boot"; > + reg = <0x0000000 0xC0000>; > + read-only; > + }; > + u-boot-env@100000{ > + label = "u-boot-env"; > + reg = <0x00100000 0x40000>; > + }; > + kernel@200000 { > + label = "kernel"; > + reg = <0x0200000 0x600000>; > + }; > + rofs@800000 { > + label = "rofs"; > + reg = <0x800000 0x3500000>; > + }; > + rwfs@1d00000 { > + label = "rwfs"; > + reg = <0x3d00000 0x300000>; > + }; > + }; > + }; > + spi-nor@1 { > + compatible = "jedec,spi-nor"; > + #address-cells = <1>; > + #size-cells = <1>; > + reg = <1>; > + spi-max-frequency = <5000000>; > + spi-rx-bus-width = <2>; > + partitions@88000000 { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + spare1@0 { > + label = "spi0-cs1-spare1"; > + reg = <0x0 0x800000>; > + }; > + spare2@800000 { > + label = "spi0-cs1-spare2"; > + reg = <0x800000 0x0>; > + }; > + }; > + }; > + }; > + > + fiu3: spi@c0000000 { > + pinctrl-0 = <&spi3_pins>; > + status = "okay"; > + spi-nor@0 { > + compatible = "jedec,spi-nor"; > + #address-cells = <1>; > + #size-cells = <1>; > + reg = <0>; > + spi-max-frequency = <5000000>; > + spi-rx-bus-width = <2>; > + partitions@A0000000 { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + system1@0 { > + label = "bios"; > + reg = <0x0 0x0>; > + }; > + system2@800000 { > + label = "spi3-system2"; > + reg = <0x800000 0x0>; > + }; > + }; > + }; > + }; > + > + sdhci0: sdhci@f0842000 { > + status = "okay"; > + }; > + > + vdma: vdma@e0800000 { > + status = "okay"; > + }; > + > + pcimbox: pcimbox@f0848000 { > + status = "okay"; > + }; > + > + vcd: vcd@f0810000 { > + status = "okay"; > + }; > + > + ece: ece@f0820000 { > + status = "okay"; > + }; > + > + apb { > + > + watchdog1: watchdog@901C { > + status = "okay"; > + }; > + > + rng: rng@b000 { > + status = "okay"; > + }; > + > + serial0: serial@1000 { > + status = "okay"; > + }; > + > + serial1: serial@2000 { > + status = "okay"; > + }; > + > + serial2: serial@3000 { > + status = "okay"; > + }; > + > + serial3: serial@4000 { > + status = "okay"; > + }; > + > + adc: adc@c000 { > + #io-channel-cells = <1>; > + status = "okay"; > + }; > + > + otp:otp@189000 { > + status = "okay"; > + }; > + > + i2c0: i2c@80000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "disabled"; > + }; > + > + i2c1: i2c@81000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "okay"; > + > + i2c-switch@75 { > + compatible = "nxp,pca9548"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x75>; > + i2c-mux-idle-disconnect; > + > + i2c@2 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <2>; > + > + max31790@58 {// Fan > + compatible = "maxim,max31790"; > + reg = <0x58>; > + }; > + }; > + > + i2c@3 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <3>; > + > + max31790@58 { // Fan > + compatible = "maxim,max31790"; > + reg = <0x58>; > + }; > + }; > + > + i2c-bus@4 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <4>; > + > + lm75@5c {//INLET1_T > + compatible = "ti,lm75"; > + reg = <0x5c>; > + }; > + }; > + > + i2c-bus@5 {//OUTLET1_T > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <5>; > + > + lm75@5c { > + compatible = "ti,lm75"; > + reg = <0x5c>; > + }; > + }; > + > + i2c-bus@6 {//OUTLET2_T > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <6>; > + > + lm75@5c { > + compatible = "ti,lm75"; > + reg = <0x5c>; > + }; > + }; > + > + i2c-bus@7 {//OUTLET3_T > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <7>; > + > + lm75@5c { > + compatible = "ti,lm75"; > + reg = <0x5c>; > + }; > + }; > + }; > + i2c-switch@77 { > + compatible = "nxp,pca9548"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x77>; > + i2c-mux-idle-disconnect; > + > + i2c-bus@2 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <2>; > + > + pmbus@74 { // STB-T > + compatible = "pmbus"; > + reg = <0x74>; > + }; > + }; > + }; > + }; > + > + i2c2: i2c@82000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "okay"; > + > + smpro@4f { > + compatible = "ampere,smpro"; > + reg = <0x4f>; > + }; > + > + smpro@4e { > + compatible = "ampere,smpro"; > + reg = <0x4e>; > + }; > + }; > + > + i2c3: i2c@83000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "okay"; > + }; > + > + i2c4: i2c@84000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "okay"; > + > + i2c-switch@77 { > + compatible = "nxp,pca9548"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x77>; > + i2c-mux-idle-disconnect; > + > + i2c-bus@0 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0>; > + > + adm1266@40 { // ADC sensors > + compatible = "adi,adm1266"; > + reg = <0x40>; > + }; > + }; > + > + i2c-bus@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <1>; > + > + adm1266@41 { // ADC sensors > + compatible = "adi,adm1266"; > + reg = <0x41>; > + }; > + }; > + }; > + }; > + > + i2c5: i2c@85000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "okay"; > + }; > + > + i2c6: i2c@86000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "okay"; > + }; > + > + i2c7: i2c@87000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "okay"; > + }; > + > + i2c8: i2c@88000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "okay"; > + }; > + > + i2c9: i2c@89000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "okay"; > + }; > + > + i2c10: i2c@8a000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "okay"; > + }; > + > + i2c11: i2c@8b000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "okay"; > + }; > + > + i2c12: i2c@8c000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "okay"; > + > + ssif-bmc@10 { > + compatible = "ssif-bmc"; > + reg = <0x10>; > + status = "okay"; > + }; > + }; > + > + i2c13: i2c@8d000 { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-frequency = <100000>; > + status = "okay"; > + > + i2c-switch@77 { > + compatible = "nxp,pca9548"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0x77>; > + i2c-mux-idle-disconnect; > + > + i2c-bus@3 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <3>; > + > + lm75@28 {//M2_ZONE_T Add a space before and after the comment marker (//) > + compatible = "ti,lm75"; > + reg = <0x28>; > + }; > + }; > + > + i2c-bus@4 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <4>; > + > + lm75@29 {//BATT_ZONE_T > + compatible = "ti,lm75"; > + reg = <0x29>; > + }; > + }; > + > + i2c-bus@5 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <5>; > + > + lm75@28 {//NBM1_ZONE_T > + compatible = "ti,lm75"; > + reg = <0x28>; > + }; > + }; > + i2c-bus@6 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <6>; > + > + lm75@29 {//NBM2_ZONE_T > + compatible = "ti,lm75"; > + reg = <0x29>; > + }; > + }; > + }; > + }; > + > + spi0: spi@200000 { > + cs-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>; > + status = "okay"; > + }; > + > + spi1: spi@201000 { > + status = "disabled"; > + }; Not needed since "disabled" is the default from the dtsi > + }; > + }; > + > + pinctrl: pinctrl@f0800000 { > + pinctrl-names = "default"; > + pinctrl-0 = < > + &gpio61oh_pins > + &gpio62oh_pins > + &gpio161ol_pins > + &gpio163i_pins > + &gpio167ol_pins > + &gpio95i_pins > + &gpio65ol_pins > + &gpio66oh_pins > + &gpio67oh_pins > + &gpio68ol_pins > + &gpio69i_pins > + &gpio70ol_pins > + &gpio71i_pins > + &gpio72i_pins > + &gpio73i_pins > + &gpio74i_pins > + &gpio75i_pins > + &gpio76i_pins > + &gpio77i_pins > + &gpio78i_pins > + &gpio79ol_pins > + &gpio80oh_pins > + &gpio81i_pins > + &gpio82i_pins > + &gpio83i_pins > + &gpio144i_pins > + &gpio145i_pins > + &gpio146i_pins > + &gpio147oh_pins > + &gpio168ol_pins > + &gpio169oh_pins > + &gpio170ol_pins > + &gpio218oh_pins > + &gpio37i_pins > + &gpio38i_pins > + &gpio39i_pins > + &gpio40i_pins > + &gpio121i_pins > + &gpio122i_pins > + &gpio123i_pins > + &gpio124i_pins > + &gpio125i_pins > + &gpio126i_pins > + &gpio127i_pins > + &gpio136i_pins > + &gpio137oh_pins > + &gpio138i_pins > + &gpio139i_pins > + &gpio140i_pins > + &gpio141i_pins > + &gpio190oh_pins > + &gpio191oh_pins > + &gpio195ol_pins > + &gpio196ol_pins > + &gpio199i_pins > + &gpio202ol_pins > + >; > + }; > + > + leds { > + compatible = "gpio-leds"; > + heartbeat { > + label = "heartbeat"; > + gpios = <&gpio0 14 1>; > + }; > + }; > + > +}; > + > +&gcr { > + serial_port_mux: mux-controller { > + compatible = "mmio-mux"; Missing indentation > + #mux-control-cells = <1>; > + > + mux-reg-masks = <0x38 0x07>; > + idle-states = <6>; Which state is this? I've usually seen a value of 2 instead, which is mode 3 ("takeover" mode). > + }; > +}; > -- > 2.17.1 >
diff --git a/arch/arm/boot/dts/nuvoton-npcm730-kudo-gpio.dtsi b/arch/arm/boot/dts/nuvoton-npcm730-kudo-gpio.dtsi new file mode 100644 index 000000000000..0dc888dac73b --- /dev/null +++ b/arch/arm/boot/dts/nuvoton-npcm730-kudo-gpio.dtsi @@ -0,0 +1,288 @@ +// SPDX-License-Identifier: GPL-2.0 +// Copyright (c) 2020 Fii USA Inc. Brandon Ong <Brandon.Ong@fii-na.com> + + +/ { + pinctrl: pinctrl@f0800000 { + gpio61oh_pins: gpio61oh-pins { + pins = "GPO61/nDTR1_BOUT1/STRAP6"; + bias-disable; + output-high; + }; + gpio62oh_pins: gpio62oh-pins { + pins = "GPO62/nRTST1/STRAP5"; + bias-disable; + output-high; + }; + gpio161ol_pins: gpio161ol-pins { + pins = "GPIO161/nLFRAME/nESPICS"; + bias-disable; + output-low; + }; + gpio163i_pins: gpio163i-pins { + pins = "GPIO163/LCLK/ESPICLK"; + bias-disable; + input-enable; + }; + gpio167ol_pins: gpio167ol-pins { + pins = "GPIO167/LAD3/ESPI_IO3"; + bias-disable; + output-low; + }; + gpio95i_pins: gpio95i-pins { + pins = "GPIO95/nLRESET/nESPIRST"; + bias-disable; + input-enable; + }; + gpio65ol_pins: gpio65ol-pins { + pins = "GPIO65/FANIN1"; + bias-disable; + output-low; + }; + gpio66oh_pins: gpio66oh-pins { + pins = "GPIO66/FANIN2"; + bias-disable; + output-high; + }; + gpio67oh_pins: gpio67oh-pins { + pins = "GPIO67/FANIN3"; + bias-disable; + output-high; + }; + gpio68ol_pins: gpio68ol-pins { + pins = "GPIO68/FANIN4"; + bias-disable; + output-low; + }; + gpio69i_pins: gpio69i-pins { + pins = "GPIO69/FANIN5"; + bias-disable; + input-enable; + }; + gpio70ol_pins: gpio70ol-pins { + pins = "GPIO70/FANIN6"; + bias-disable; + output-low; + }; + gpio71i_pins: gpio71i-pins { + pins = "GPIO71/FANIN7"; + bias-disable; + input-enable; + }; + gpio72i_pins: gpio72i-pins { + pins = "GPIO72/FANIN8"; + bias-disable; + input-enable; + }; + gpio73i_pins: gpio73i-pins { + pins = "GPIO73/FANIN9"; + bias-disable; + input-enable; + }; + gpio74i_pins: gpio74i-pins { + pins = "GPIO74/FANIN10"; + bias-disable; + input-enable; + }; + gpio75i_pins: gpio75i-pins { + pins = "GPIO75/FANIN11"; + bias-disable; + input-enable; + }; + gpio76i_pins: gpio76i-pins { + pins = "GPIO76/FANIN12"; + bias-disable; + input-enable; + }; + gpio77i_pins: gpio77i-pins { + pins = "GPIO77/FANIN13"; + bias-disable; + input-enable; + }; + gpio78i_pins: gpio78i-pins { + pins = "GPIO78/FANIN14"; + bias-disable; + input-enable; + }; + gpio79ol_pins: gpio79ol-pins { + pins = "GPIO79/FANIN15"; + bias-disable; + output-low; + }; + gpio80oh_pins: gpio80oh-pins { + pins = "GPIO80/PWM0"; + bias-disable; + output-high; + }; + gpio81i_pins: gpio81i-pins { + pins = "GPIO81/PWM1"; + bias-disable; + input-enable; + }; + gpio82i_pins: gpio82i-pins { + pins = "GPIO82/PWM2"; + bias-disable; + input-enable; + }; + gpio83i_pins: gpio83i-pins { + pins = "GPIO83/PWM3"; + bias-disable; + input-enable; + }; + gpio144i_pins: gpio144i-pins { + pins = "GPIO144/PWM4"; + bias-disable; + input-enable; + }; + gpio145i_pins: gpio145i-pins { + pins = "GPIO145/PWM5"; + bias-disable; + input-enable; + }; + gpio146i_pins: gpio146i-pins { + pins = "GPIO146/PWM6"; + bias-disable; + input-enable; + }; + gpio147oh_pins: gpio147oh-pins { + pins = "GPIO147/PWM7"; + bias-disable; + output-high; + }; + gpio168ol_pins: gpio168ol-pins { + pins = "GPIO168/nCLKRUN/nESPIALERT"; + bias-disable; + output-low; + }; + gpio169oh_pins: gpio169oh-pins { + pins = "GPIO169/nSCIPME"; + bias-disable; + output-high; + }; + gpio170ol_pins: gpio170ol-pins { + pins = "GPIO170/nSMI"; + bias-disable; + output-low; + }; + gpio218oh_pins: gpio218oh-pins { + pins = "GPIO218/nWDO1"; + bias-disable; + output-high; + }; + gpio37i_pins: gpio37i-pins { + pins = "GPIO37/SMB3CSDA"; + bias-disable; + input-enable; + }; + gpio38i_pins: gpio38i-pins { + pins = "GPIO38/SMB3CSCL"; + bias-disable; + input-enable; + }; + gpio39i_pins: gpio39i-pins { + pins = "GPIO39/SMB3BSDA"; + bias-disable; + input-enable; + }; + gpio40i_pins: gpio40i-pins { + pins = "GPIO40/SMB3BSCL"; + bias-disable; + input-enable; + }; + gpio121i_pins: gpio121i-pins { + pins = "GPIO121/SMB2CSCL"; + bias-disable; + input-enable; + }; + gpio122i_pins: gpio122i-pins { + pins = "GPIO122/SMB2BSDA"; + bias-disable; + input-enable; + }; + gpio123i_pins: gpio123i-pins { + pins = "GPIO123/SMB2BSCL"; + bias-disable; + input-enable; + }; + gpio124i_pins: gpio124i-pins { + pins = "GPIO124/SMB1CSDA"; + bias-disable; + input-enable; + }; + gpio125i_pins: gpio125i-pins { + pins = "GPIO125/SMB1CSCL"; + bias-disable; + input-enable; + }; + gpio126i_pins: gpio126i-pins { + pins = "GPIO126/SMB1BSDA"; + bias-disable; + input-enable; + }; + gpio127i_pins: gpio127i-pins { + pins = "GPIO127/SMB1BSCL"; + bias-disable; + input-enable; + }; + gpio136i_pins: gpio136i-pins { + pins = "GPIO136/SD1DT0"; + bias-disable; + input-enable; + }; + gpio137oh_pins: gpio137oh-pins { + pins = "GPIO137/SD1DT1"; + bias-disable; + output-high; + }; + gpio138i_pins: gpio138i-pins { + pins = "GPIO138/SD1DT2"; + bias-disable; + input-enable; + }; + gpio139i_pins: gpio139i-pins { + pins = "GPIO139/SD1DT3"; + bias-disable; + input-enable; + }; + gpio140i_pins: gpio140i-pins { + pins = "GPIO140/SD1CLK"; + bias-disable; + input-enable; + }; + gpio141i_pins: gpio141i-pins { + pins = "GPIO141/SD1WP"; + bias-disable; + input-enable; + }; + gpio190oh_pins: gpio190oh-pins { + pins = "GPIO190/nPRD_SMI"; + bias-disable; + output-high; + }; + gpio191oh_pins: gpio191oh-pins { + pins = "GPIO191"; + bias-disable; + output-high; + }; + gpio195ol_pins: gpio195ol-pins { + pins = "GPIO195/SMB0BSDA"; + bias-disable; + output-low; + }; + gpio196ol_pins: gpio196ol-pins { + pins = "GPIO196/SMB0CSCL"; + bias-disable; + output-low; + }; + gpio199i_pins: gpio199i-pins { + pins = "GPIO199/SMB0DSCL"; + bias-disable; + input-enable; + }; + gpio202ol_pins: gpio202ol-pins { + pins = "GPIO202/SMB0CSDA"; + bias-disable; + output-low; + }; + }; +}; diff --git a/arch/arm/boot/dts/nuvoton-npcm730-kudo.dts b/arch/arm/boot/dts/nuvoton-npcm730-kudo.dts new file mode 100644 index 000000000000..76e0860763b0 --- /dev/null +++ b/arch/arm/boot/dts/nuvoton-npcm730-kudo.dts @@ -0,0 +1,676 @@ +// SPDX-License-Identifier: GPL-2.0 +// Copyright (c) 2020 Fii USA Inc. Mustatfa Shehabi <Mustafa.Shehabi@fii-na.com> + +/dts-v1/; +#include "nuvoton-npcm730.dtsi" +#include "nuvoton-npcm730-kudo-gpio.dtsi" + +/ { + model = "Fii Kudo Board (Device Tree v00.01)"; + compatible = "nuvoton,npcm730"; + + aliases { + ethernet0 = &emc0; + ethernet1 = &gmac0; + serial0 = &serial0; + serial1 = &serial1; + serial2 = &serial2; + serial3 = &serial3; + udc0 = &udc0; + udc1 = &udc1; + udc2 = &udc2; + udc3 = &udc3; + udc4 = &udc4; + udc5 = &udc5; + udc6 = &udc6; + udc7 = &udc7; + udc8 = &udc8; + udc9 = &udc9; + emmc0 = &sdhci0; + vdma = &vdma; + i2c0 = &i2c0; + i2c1 = &i2c1; + i2c2 = &i2c2; + i2c3 = &i2c3; + i2c4 = &i2c4; + i2c5 = &i2c5; + i2c6 = &i2c6; + i2c7 = &i2c7; + i2c8 = &i2c8; + i2c9 = &i2c9; + i2c10 = &i2c10; + i2c11 = &i2c11; + i2c12 = &i2c12; + i2c13 = &i2c13; + spi0 = &spi0; + spi1 = &spi1; + fiu0 = &fiu0; + fiu1 = &fiu3; + }; + + chosen { + stdout-path = &serial3; + }; + + memory { + reg = <0 0x40000000>; + }; + + iio-hwmon { + compatible = "iio-hwmon"; + io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, + <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>; + }; + + jtag_master { + compatible = "nuvoton,npcm750-jtag-master"; + #address-cells = <1>; + #size-cells = <1>; + + dev-num = <0>; /* /dev/jtag0 */ + mode = "pspi"; /* pspi or gpio */ + + pspi-controller = <2>; /* pspi2 */ + reg = <0xf0201000 0x1000>; + interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clk NPCM7XX_CLK_APB5>; + + jtag-gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>, /* TCK */ + <&gpio0 18 GPIO_ACTIVE_HIGH>, /* TDI */ + <&gpio0 17 GPIO_ACTIVE_HIGH>, /* TDO */ + <&gpio0 16 GPIO_ACTIVE_HIGH>; /* TMS */ + status = "okay"; + }; + + ahb { + gmac0: eth@f0802000 { + phy-mode = "rgmii-id"; + snps,eee-force-disable; + status = "okay"; + }; + + emc0: eth@f0825000 { + status = "okay"; + }; + + ehci1: usb@f0806000 { + status = "okay"; + }; + + ohci1: ohci@f0807000 { + status = "okay"; + }; + + udc0: udc@f0830000 { + status = "okay"; + }; + + udc1: udc@f0831000 { + status = "okay"; + }; + + udc2: udc@f0832000 { + status = "okay"; + }; + + udc3: udc@f0833000 { + status = "okay"; + }; + + udc4: udc@f0834000 { + status = "okay"; + }; + + udc5: udc@f0835000 { + status = "okay"; + }; + + udc6: udc@f0836000 { + status = "okay"; + }; + + udc7: udc@f0837000 { + status = "okay"; + }; + + udc8: udc@f0838000 { + status = "okay"; + }; + + udc9: udc@f0839000 { + status = "okay"; + }; + + aes: aes@f0858000 { + status = "okay"; + }; + + sha: sha@f085a000 { + status = "okay"; + }; + + fiu0: spi@fb000000 { + pinctrl-names = "default"; + pinctrl-0 = <&spi0cs1_pins>; + status = "okay"; + spi-nor@0 { + compatible = "jedec,spi-nor"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + spi-max-frequency = <5000000>; + spi-rx-bus-width = <2>; + partitions@80000000 { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + bmc@0{ + label = "bmc"; + reg = <0x000000 0x2000000>; + }; + u-boot@0 { + label = "u-boot"; + reg = <0x0000000 0xC0000>; + read-only; + }; + u-boot-env@100000{ + label = "u-boot-env"; + reg = <0x00100000 0x40000>; + }; + kernel@200000 { + label = "kernel"; + reg = <0x0200000 0x600000>; + }; + rofs@800000 { + label = "rofs"; + reg = <0x800000 0x3500000>; + }; + rwfs@1d00000 { + label = "rwfs"; + reg = <0x3d00000 0x300000>; + }; + }; + }; + spi-nor@1 { + compatible = "jedec,spi-nor"; + #address-cells = <1>; + #size-cells = <1>; + reg = <1>; + spi-max-frequency = <5000000>; + spi-rx-bus-width = <2>; + partitions@88000000 { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + spare1@0 { + label = "spi0-cs1-spare1"; + reg = <0x0 0x800000>; + }; + spare2@800000 { + label = "spi0-cs1-spare2"; + reg = <0x800000 0x0>; + }; + }; + }; + }; + + fiu3: spi@c0000000 { + pinctrl-0 = <&spi3_pins>; + status = "okay"; + spi-nor@0 { + compatible = "jedec,spi-nor"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + spi-max-frequency = <5000000>; + spi-rx-bus-width = <2>; + partitions@A0000000 { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + system1@0 { + label = "bios"; + reg = <0x0 0x0>; + }; + system2@800000 { + label = "spi3-system2"; + reg = <0x800000 0x0>; + }; + }; + }; + }; + + sdhci0: sdhci@f0842000 { + status = "okay"; + }; + + vdma: vdma@e0800000 { + status = "okay"; + }; + + pcimbox: pcimbox@f0848000 { + status = "okay"; + }; + + vcd: vcd@f0810000 { + status = "okay"; + }; + + ece: ece@f0820000 { + status = "okay"; + }; + + apb { + + watchdog1: watchdog@901C { + status = "okay"; + }; + + rng: rng@b000 { + status = "okay"; + }; + + serial0: serial@1000 { + status = "okay"; + }; + + serial1: serial@2000 { + status = "okay"; + }; + + serial2: serial@3000 { + status = "okay"; + }; + + serial3: serial@4000 { + status = "okay"; + }; + + adc: adc@c000 { + #io-channel-cells = <1>; + status = "okay"; + }; + + otp:otp@189000 { + status = "okay"; + }; + + i2c0: i2c@80000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "disabled"; + }; + + i2c1: i2c@81000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "okay"; + + i2c-switch@75 { + compatible = "nxp,pca9548"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x75>; + i2c-mux-idle-disconnect; + + i2c@2 { + #address-cells = <1>; + #size-cells = <0>; + reg = <2>; + + max31790@58 {// Fan + compatible = "maxim,max31790"; + reg = <0x58>; + }; + }; + + i2c@3 { + #address-cells = <1>; + #size-cells = <0>; + reg = <3>; + + max31790@58 { // Fan + compatible = "maxim,max31790"; + reg = <0x58>; + }; + }; + + i2c-bus@4 { + #address-cells = <1>; + #size-cells = <0>; + reg = <4>; + + lm75@5c {//INLET1_T + compatible = "ti,lm75"; + reg = <0x5c>; + }; + }; + + i2c-bus@5 {//OUTLET1_T + #address-cells = <1>; + #size-cells = <0>; + reg = <5>; + + lm75@5c { + compatible = "ti,lm75"; + reg = <0x5c>; + }; + }; + + i2c-bus@6 {//OUTLET2_T + #address-cells = <1>; + #size-cells = <0>; + reg = <6>; + + lm75@5c { + compatible = "ti,lm75"; + reg = <0x5c>; + }; + }; + + i2c-bus@7 {//OUTLET3_T + #address-cells = <1>; + #size-cells = <0>; + reg = <7>; + + lm75@5c { + compatible = "ti,lm75"; + reg = <0x5c>; + }; + }; + }; + i2c-switch@77 { + compatible = "nxp,pca9548"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x77>; + i2c-mux-idle-disconnect; + + i2c-bus@2 { + #address-cells = <1>; + #size-cells = <0>; + reg = <2>; + + pmbus@74 { // STB-T + compatible = "pmbus"; + reg = <0x74>; + }; + }; + }; + }; + + i2c2: i2c@82000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "okay"; + + smpro@4f { + compatible = "ampere,smpro"; + reg = <0x4f>; + }; + + smpro@4e { + compatible = "ampere,smpro"; + reg = <0x4e>; + }; + }; + + i2c3: i2c@83000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "okay"; + }; + + i2c4: i2c@84000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "okay"; + + i2c-switch@77 { + compatible = "nxp,pca9548"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x77>; + i2c-mux-idle-disconnect; + + i2c-bus@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + + adm1266@40 { // ADC sensors + compatible = "adi,adm1266"; + reg = <0x40>; + }; + }; + + i2c-bus@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + + adm1266@41 { // ADC sensors + compatible = "adi,adm1266"; + reg = <0x41>; + }; + }; + }; + }; + + i2c5: i2c@85000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "okay"; + }; + + i2c6: i2c@86000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "okay"; + }; + + i2c7: i2c@87000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "okay"; + }; + + i2c8: i2c@88000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "okay"; + }; + + i2c9: i2c@89000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "okay"; + }; + + i2c10: i2c@8a000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "okay"; + }; + + i2c11: i2c@8b000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "okay"; + }; + + i2c12: i2c@8c000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "okay"; + + ssif-bmc@10 { + compatible = "ssif-bmc"; + reg = <0x10>; + status = "okay"; + }; + }; + + i2c13: i2c@8d000 { + #address-cells = <1>; + #size-cells = <0>; + bus-frequency = <100000>; + status = "okay"; + + i2c-switch@77 { + compatible = "nxp,pca9548"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x77>; + i2c-mux-idle-disconnect; + + i2c-bus@3 { + #address-cells = <1>; + #size-cells = <0>; + reg = <3>; + + lm75@28 {//M2_ZONE_T + compatible = "ti,lm75"; + reg = <0x28>; + }; + }; + + i2c-bus@4 { + #address-cells = <1>; + #size-cells = <0>; + reg = <4>; + + lm75@29 {//BATT_ZONE_T + compatible = "ti,lm75"; + reg = <0x29>; + }; + }; + + i2c-bus@5 { + #address-cells = <1>; + #size-cells = <0>; + reg = <5>; + + lm75@28 {//NBM1_ZONE_T + compatible = "ti,lm75"; + reg = <0x28>; + }; + }; + i2c-bus@6 { + #address-cells = <1>; + #size-cells = <0>; + reg = <6>; + + lm75@29 {//NBM2_ZONE_T + compatible = "ti,lm75"; + reg = <0x29>; + }; + }; + }; + }; + + spi0: spi@200000 { + cs-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>; + status = "okay"; + }; + + spi1: spi@201000 { + status = "disabled"; + }; + }; + }; + + pinctrl: pinctrl@f0800000 { + pinctrl-names = "default"; + pinctrl-0 = < + &gpio61oh_pins + &gpio62oh_pins + &gpio161ol_pins + &gpio163i_pins + &gpio167ol_pins + &gpio95i_pins + &gpio65ol_pins + &gpio66oh_pins + &gpio67oh_pins + &gpio68ol_pins + &gpio69i_pins + &gpio70ol_pins + &gpio71i_pins + &gpio72i_pins + &gpio73i_pins + &gpio74i_pins + &gpio75i_pins + &gpio76i_pins + &gpio77i_pins + &gpio78i_pins + &gpio79ol_pins + &gpio80oh_pins + &gpio81i_pins + &gpio82i_pins + &gpio83i_pins + &gpio144i_pins + &gpio145i_pins + &gpio146i_pins + &gpio147oh_pins + &gpio168ol_pins + &gpio169oh_pins + &gpio170ol_pins + &gpio218oh_pins + &gpio37i_pins + &gpio38i_pins + &gpio39i_pins + &gpio40i_pins + &gpio121i_pins + &gpio122i_pins + &gpio123i_pins + &gpio124i_pins + &gpio125i_pins + &gpio126i_pins + &gpio127i_pins + &gpio136i_pins + &gpio137oh_pins + &gpio138i_pins + &gpio139i_pins + &gpio140i_pins + &gpio141i_pins + &gpio190oh_pins + &gpio191oh_pins + &gpio195ol_pins + &gpio196ol_pins + &gpio199i_pins + &gpio202ol_pins + >; + }; + + leds { + compatible = "gpio-leds"; + heartbeat { + label = "heartbeat"; + gpios = <&gpio0 14 1>; + }; + }; + +}; + +&gcr { + serial_port_mux: mux-controller { + compatible = "mmio-mux"; + #mux-control-cells = <1>; + + mux-reg-masks = <0x38 0x07>; + idle-states = <6>; + }; +};