// SPDX-License-Identifier: GPL-2.0 /* * Device tree source for Baikal Electronics DBM board * Copyright (C) 2019-2021 Baikal Electronics, JSC */ /dts-v1/; #include "bm1000.dtsi" / { model = "Baikal Electronics Baikal-M evaluation board"; compatible = "baikal,baikal-m"; #address-cells = <2>; #size-cells = <2>; chosen { }; panel { compatible = "panel-lvds"; width-mm = <223>; height-mm = <125>; data-mapping = "vesa-24"; panel-timing { /* 1920x1080 @60Hz */ clock-frequency = <148500000>; hactive = <1920>; vactive = <1080>; hsync-len = <44>; hfront-porch = <88>; hback-porch = <148>; vsync-len = <5>; vfront-porch = <4>; vback-porch = <36>; }; port { panel0_lvds0: endpoint@0 { remote-endpoint = <&vdu_lvds0_pads>; }; panel0_lvds1: endpoint@1 { remote-endpoint = <&vdu_lvds1_pads>; }; }; }; sound { compatible = "baikal,snd_soc_be"; baikal,cpu-dai = <&i2s>; baikal,audio-codec = <&tlv320aic3x>; }; }; &ddr2 { status = "okay"; }; &espi0 { cs-gpios = <&porta 28 1>; /* todo: get real gpio */ status = "okay"; /* test device #0 */ espi_test0 { compatible = "rohm,dh2228fv"; /* same as spidev */ reg = <0>; spi-max-frequency = <12000000>; status = "okay"; }; }; &gmac0 { status = "okay"; snps,reset-gp-out; snps,reset-active-low; }; &gmac1 { status = "okay"; snps,reset-gp-out; snps,reset-active-low; }; &gpio { status = "okay"; }; &gpu { system-coherency = <0>; }; &hdmi { status = "okay"; }; &i2c0 { status = "okay"; tlv320aic3x: tlv320aic3x@18 { #sound-dai-cells = <0>; compatible = "ti,tlv320aic3x"; reg = <0x18>; gpio-reset = <&porta 4 GPIO_ACTIVE_LOW>; status = "okay"; ai3x-micbias-vg = <1>; ai3x-ocmv = <1>; }; rtc@56 { compatible = "abracon,abeoz9"; reg = <0x56>; }; }; &i2c1 { status = "okay"; }; &i2s { status = "okay"; sound-dai = <&tlv320aic3x>; system-clock-frequency = <12000000>; }; &mmc0 { status = "okay"; #if 0 /* emmc */ non-removable; bus-width = <8>; max-clock = <200000000>; #else /* sd */ disable-wp; bus-width = <4>; max-clock = <25000000>; #endif }; &pcie0 { status = "okay"; }; &pcie1 { status = "okay"; }; &pcie2 { status = "okay"; }; &pcie_lcru { status = "okay"; }; &pvt0 { status = "okay"; }; &pvt1 { status = "okay"; }; &pvt2 { status = "okay"; }; &pvt3 { status = "okay"; }; &pvt_mali { status = "okay"; }; &sata0 { status = "okay"; }; &sata1 { status = "okay"; }; &smbus0 { status = "okay"; }; &smbus1 { status = "okay"; }; &spi0 { num-cs = <4>; cs-gpios = <&porta 24 1>, /* ss0 xp8 - DD53 normal flash */ <&porta 25 1>, /* ss1 xp9 */ <&porta 26 1>, /* ss2 xp10 */ <&porta 27 1>; /* ss3 xp11 */ status = "okay"; /* SPI flash chip #1 */ flash0: m25p80@0 { compatible = "micron,n25q256a", "jedec,spi-nor"; reg = <0>; #address-cells = <1>; #size-cells = <1>; spi-max-frequency = <12500000>; status = "okay"; /* Flash chip0 partitions */ mtd0@0 { label = "bl1"; reg = <0x00000000 0x00040000>; read-only; }; mtd1@40000 { label = "fip"; reg = <0x00040000 0x007c0000>; }; mtd2@800000 { label = "rescue"; reg = <0x00800000 0x01800000>; }; }; }; #if 0 /* undefined */ &spi1 { num-cs = <4>; cs-gpios = <&porta 20 1>, /* ss0 xp15 - DD57 boot flash */ <&porta 21 1>, /* ss1 xp16 */ <&porta 22 1>, /* ss2 xp17 */ <&porta 23 1>; /* ss3 xp18 */ status = "okay"; /* SPI flash chip #2 */ flash0: m25p80@0 { compatible = "micron,n25q256a", "jedec,spi-nor"; reg = <0>; #address-cells = <1>; #size-cells = <1>; spi-max-frequency = <12500000>; status = "okay"; /* Flash chip1 partitions */ mtd0@0 { label = "fip_backup"; reg = <0x00000000 0x00400000>; read-only; }; mtd1@400000 { label = "env_backup"; reg = <0x00400000 0x00100000>; read-only; }; mtd2@500000 { label = "data1"; reg = <0x00500000 0x01b00000>; }; }; }; #endif &timer1 { status = "okay"; }; &timer2 { status = "okay"; }; &timer3 { status = "okay"; }; &timer4 { status = "okay"; }; &uart0 { status = "okay"; }; &uart1 { status = "okay"; }; &usb2 { status = "okay"; }; &usb3 { status = "okay"; }; &vdec { status = "okay"; }; &vdu0 { status = "okay"; port { vdu_lvds0_pads: endpoint@0 { remote-endpoint = <&panel0_lvds0>; }; vdu_lvds1_pads: endpoint@1 { remote-endpoint = <&panel0_lvds1>; }; /*vdu_lvds2_pads: endpoint@2 { remote-endpoint = <&panel0_lvds2>; }; vdu_lvds3_pads: endpoint@3 { remote-endpoint = <&panel0_lvds3>; };*/ }; }; &vdu1 { status = "okay"; }; &xgmac0 { status = "okay"; }; &xgmac1 { status = "okay"; };