On Fri 02 Oct 12:41 CDT 2020, Robert Marko wrote: > On Wed, Sep 9, 2020 at 9:56 PM Robert Marko <robert.marko@xxxxxxxxxx> wrote: > > > > 8devices Habanero DVK is a dual-band SoM development kit based on Qualcomm > > IPQ4019 + QCA8075 platform. > > > > Specs are: > > CPU: QCA IPQ4019 > > RAM: DDR3L 512MB > > Storage: 32MB SPI-NOR and optional Parallel SLC NAND(Some boards ship with it and some without) > > WLAN1: 2.4 GHz built into IPQ4019 (802.11n) 2x2 > > WLAN2: 5 GHz built into IPO4019 (802.11ac Wawe-2) 2x2 > > Ethernet: 5x Gbit LAN (QCA 8075) > > USB: 1x USB 2.0 and 1x USB 3.0 (Both built into IPQ4019) > > MicroSD slot (Uses SD controller built into IPQ4019) > > SDIO3.0/EMMC slot (Uses the same SD controller) > > Mini PCI-E Gen 2.0 slot (Built into IPQ4019) > > 5x LEDs (4 GPIO controllable) > > 2x Pushbutton (1 is connected to GPIO, other to SoC reset) > > LCD ZIF socket (Uses the LCD controller built into IPQ4019 which has no driver support) > > 1x UART 115200 rate on J18 > > > > 2x breakout development headers > > 12V DC Jack for power > > DIP switch for bootstrap configuration > > > > Signed-off-by: Robert Marko <robert.marko@xxxxxxxxxx> > > Cc: Luka Perkov <luka.perkov@xxxxxxxxxx> > > --- > > Changes since v1: > > * Drop include that does not exist > > > > arch/arm/boot/dts/Makefile | 1 + > > .../boot/dts/qcom-ipq4019-habanero-dvk.dts | 304 ++++++++++++++++++ > > 2 files changed, 305 insertions(+) > > create mode 100644 arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts > > > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > > index 246d82fc5fcd..004262e0d699 100644 > > --- a/arch/arm/boot/dts/Makefile > > +++ b/arch/arm/boot/dts/Makefile > > @@ -898,6 +898,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \ > > qcom-ipq4019-ap.dk04.1-c3.dtb \ > > qcom-ipq4019-ap.dk07.1-c1.dtb \ > > qcom-ipq4019-ap.dk07.1-c2.dtb \ > > + qcom-ipq4019-habanero-dvk.dtb \ > > qcom-ipq8064-ap148.dtb \ > > qcom-ipq8064-rb3011.dtb \ > > qcom-msm8660-surf.dtb \ > > diff --git a/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts b/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts > > new file mode 100644 > > index 000000000000..fe054adda0a7 > > --- /dev/null > > +++ b/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts > > @@ -0,0 +1,304 @@ > > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT > > +/* Copyright (c) 2019, Robert Marko <robimarko@xxxxxxxxx> */ > > + > > +#include "qcom-ipq4019.dtsi" > > +#include <dt-bindings/gpio/gpio.h> > > +#include <dt-bindings/input/input.h> > > + > > +/ { > > + model = "8devices Habanero DVK"; > > + compatible = "8dev,habanero-dvk"; > > + > > + keys { > > + compatible = "gpio-keys"; > > + > > + reset { > > + label = "reset"; > > + gpios = <&tlmm 8 GPIO_ACTIVE_LOW>; > > + linux,code = <KEY_RESTART>; > > + }; > > + }; > > + > > + leds { > > + compatible = "gpio-leds"; > > + > > + led_status: status { > > + label = "habanero-dvk:green:status"; > > + gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>; > > + panic-indicator; > > + }; > > + > > + led_upgrade: upgrade { > > + label = "habanero-dvk:green:upgrade"; > > + gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>; > > + }; > > + > > + wlan2g { > > + label = "habanero-dvk:green:wlan2g"; > > + gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; > > + linux,default-trigger = "phy0tpt"; > > + }; > > + > > + wlan5g { > > + label = "habanero-dvk:green:wlan5g"; > > + gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>; > > + linux,default-trigger = "phy1tpt"; > > + }; > > + }; > > +}; > > + > > +&vqmmc { > > + status = "okay"; > > +}; > > + > > +&sdhci { > > + status = "okay"; > > + > > + pinctrl-0 = <&sd_pins>; > > + pinctrl-names = "default"; > > + cd-gpios = <&tlmm 22 GPIO_ACTIVE_LOW>; > > + vqmmc-supply = <&vqmmc>; > > +}; > > + > > +&qpic_bam { > > + status = "okay"; > > +}; > > + > > +&tlmm { > > + mdio_pins: mdio_pinmux { > > + mux_1 { > > + pins = "gpio6"; > > + function = "mdio"; > > + bias-pull-up; > > + }; > > + > > + mux_2 { > > + pins = "gpio7"; > > + function = "mdc"; > > + bias-pull-up; > > + }; > > + }; > > + > > + serial_pins: serial_pinmux { > > + mux { > > + pins = "gpio16", "gpio17"; > > + function = "blsp_uart0"; > > + bias-disable; > > + }; > > + }; > > + > > + spi_0_pins: spi_0_pinmux { > > + pinmux { > > + function = "blsp_spi0"; > > + pins = "gpio13", "gpio14", "gpio15"; > > + drive-strength = <12>; > > + bias-disable; > > + }; > > + > > + pinmux_cs { > > + function = "gpio"; > > + pins = "gpio12"; > > + drive-strength = <2>; > > + bias-disable; > > + output-high; > > + }; > > + }; > > + > > + nand_pins: nand_pins { > > + pullups { > > + pins = "gpio52", "gpio53", "gpio58", "gpio59"; > > + function = "qpic"; > > + bias-pull-up; > > + }; > > + > > + pulldowns { > > + pins = "gpio54", "gpio55", "gpio56", "gpio57", > > + "gpio60", "gpio62", "gpio63", "gpio64", > > + "gpio65", "gpio66", "gpio67", "gpio68", > > + "gpio69"; > > + function = "qpic"; > > + bias-pull-down; > > + }; > > + }; > > + > > + sd_pins: sd_pins { > > + pinmux { > > + function = "sdio"; > > + pins = "gpio23", "gpio24", "gpio25", "gpio26", > > + "gpio28", "gpio29", "gpio30", "gpio31"; > > + drive-strength = <10>; > > + }; > > + > > + pinmux_sd_clk { > > + function = "sdio"; > > + pins = "gpio27"; > > + drive-strength = <16>; > > + }; > > + > > + pinmux_sd7 { > > + function = "sdio"; > > + pins = "gpio32"; > > + drive-strength = <10>; > > + bias-disable; > > + }; > > + }; > > +}; > > + > > +&watchdog { > > + status = "okay"; > > +}; > > + > > +&prng { > > + status = "okay"; > > +}; > > + > > +&blsp_dma { > > + status = "okay"; > > +}; > > + > > +&blsp1_spi1 { > > + status = "okay"; > > + > > + pinctrl-0 = <&spi_0_pins>; > > + pinctrl-names = "default"; > > + cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; > > + > > + flash@0 { > > + compatible = "jedec,spi-nor"; > > + spi-max-frequency = <24000000>; > > + reg = <0>; > > + > > + partitions { > > + compatible = "fixed-partitions"; > > + #address-cells = <1>; > > + #size-cells = <1>; > > + > > + partition@0 { > > + label = "SBL1"; > > + reg = <0x00000000 0x00040000>; > > + read-only; > > + }; > > + partition@40000 { > > + label = "MIBIB"; > > + reg = <0x00040000 0x00020000>; > > + read-only; > > + }; > > + partition@60000 { > > + label = "QSEE"; > > + reg = <0x00060000 0x00060000>; > > + read-only; > > + }; > > + partition@c0000 { > > + label = "CDT"; > > + reg = <0x000c0000 0x00010000>; > > + read-only; > > + }; > > + partition@d0000 { > > + label = "DDRPARAMS"; > > + reg = <0x000d0000 0x00010000>; > > + read-only; > > + }; > > + partition@e0000 { > > + label = "APPSBLENV"; /* uboot env */ > > + reg = <0x000e0000 0x00010000>; > > + read-only; > > + }; > > + partition@f0000 { > > + label = "APPSBL"; /* uboot */ > > + reg = <0x000f0000 0x00080000>; > > + read-only; > > + }; > > + partition@170000 { > > + label = "ART"; > > + reg = <0x00170000 0x00010000>; > > + read-only; > > + }; > > + partition@180000 { > > + label = "cfg"; > > + reg = <0x00180000 0x00040000>; > > + }; > > + partition@1c0000 { > > + label = "firmware"; > > + compatible = "denx,fit"; > > + reg = <0x001c0000 0x01e40000>; > > + }; > > + }; > > + }; > > +}; > > + > > +/* Some DVK boards ship without NAND */ > > +&nand { > > + status = "okay"; > > + > > + pinctrl-0 = <&nand_pins>; > > + pinctrl-names = "default"; > > +}; > > + > > +&blsp1_uart1 { > > + status = "okay"; > > + > > + pinctrl-0 = <&serial_pins>; > > + pinctrl-names = "default"; > > +}; > > + > > +&cryptobam { > > + status = "okay"; > > +}; > > + > > +&crypto { > > + status = "okay"; > > +}; > > + > > +&mdio { > > + status = "okay"; > > + > > + pinctrl-0 = <&mdio_pins>; > > + pinctrl-names = "default"; > > +}; > > + > > +&pcie0 { > > + status = "okay"; > > + > > + perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; > > + wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; > > + > > + /* Free slot for use */ > > + bridge@0,0 { > > + reg = <0x00000000 0 0 0 0>; > > + #address-cells = <3>; > > + #size-cells = <2>; > > + ranges; > > + }; > > +}; > > + > > +&wifi0 { > > + status = "okay"; > > + > > + qcom,ath10k-calibration-variant = "8devices-Habanero"; > > +}; > > + > > +&wifi1 { > > + status = "okay"; > > + > > + qcom,ath10k-calibration-variant = "8devices-Habanero"; > > +}; > > + > > +&usb3_ss_phy { > > + status = "okay"; > > +}; > > + > > +&usb3_hs_phy { > > + status = "okay"; > > +}; > > + > > +&usb3 { > > + status = "okay"; > > +}; > > + > > +&usb2_hs_phy { > > + status = "okay"; > > +}; > > + > > +&usb2 { > > + status = "okay"; > > +}; > > -- > > 2.26.2 > > > > Hi, > Is there an issue with the patch preventing the review? > Found this in my inbox and I don't know why I never replied to you, perhaps because kernel test robot says it doesn't build... I tried to apply it now but there's no "vqmmc" so it doesn't build :/ If you're still interested in this I'd be happy to merge it if you can fix up the vqmmc - and if respinning it I would appreciate if you could sort the nodes alphabetically. Regards, Bjorn