162363a8eSDamien Le Moal// SPDX-License-Identifier: GPL-2.0+ 262363a8eSDamien Le Moal/* 362363a8eSDamien Le Moal * Copyright (C) 2019-20 Sean Anderson <seanga2@gmail.com> 462363a8eSDamien Le Moal * Copyright (C) 2020 Western Digital Corporation or its affiliates. 562363a8eSDamien Le Moal */ 662363a8eSDamien Le Moal 762363a8eSDamien Le Moal/dts-v1/; 862363a8eSDamien Le Moal 962363a8eSDamien Le Moal#include "k210.dtsi" 1062363a8eSDamien Le Moal 1162363a8eSDamien Le Moal#include <dt-bindings/gpio/gpio.h> 1262363a8eSDamien Le Moal#include <dt-bindings/input/input.h> 1362363a8eSDamien Le Moal 1462363a8eSDamien Le Moal/ { 1562363a8eSDamien Le Moal model = "Kendryte KD233"; 1662363a8eSDamien Le Moal compatible = "canaan,kendryte-kd233", "canaan,kendryte-k210"; 1762363a8eSDamien Le Moal 1862363a8eSDamien Le Moal chosen { 1962363a8eSDamien Le Moal bootargs = "earlycon console=ttySIF0"; 2062363a8eSDamien Le Moal stdout-path = "serial0:115200n8"; 2162363a8eSDamien Le Moal }; 2262363a8eSDamien Le Moal 2362363a8eSDamien Le Moal gpio-leds { 2462363a8eSDamien Le Moal compatible = "gpio-leds"; 2562363a8eSDamien Le Moal 2662363a8eSDamien Le Moal led0 { 2762363a8eSDamien Le Moal gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; 2862363a8eSDamien Le Moal }; 2962363a8eSDamien Le Moal 3062363a8eSDamien Le Moal led1 { 3162363a8eSDamien Le Moal gpios = <&gpio0 9 GPIO_ACTIVE_LOW>; 3262363a8eSDamien Le Moal }; 3362363a8eSDamien Le Moal }; 3462363a8eSDamien Le Moal 3562363a8eSDamien Le Moal gpio-keys { 3662363a8eSDamien Le Moal compatible = "gpio-keys"; 3762363a8eSDamien Le Moal 3889551fddSKrzysztof Kozlowski key { 3962363a8eSDamien Le Moal label = "KEY0"; 4062363a8eSDamien Le Moal linux,code = <BTN_0>; 4162363a8eSDamien Le Moal gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; 4262363a8eSDamien Le Moal }; 4362363a8eSDamien Le Moal }; 4462363a8eSDamien Le Moal}; 4562363a8eSDamien Le Moal 4662363a8eSDamien Le Moal&fpioa { 4762363a8eSDamien Le Moal pinctrl-0 = <&jtag_pinctrl>; 4862363a8eSDamien Le Moal pinctrl-names = "default"; 4962363a8eSDamien Le Moal status = "okay"; 5062363a8eSDamien Le Moal 5162363a8eSDamien Le Moal jtag_pinctrl: jtag-pinmux { 5262363a8eSDamien Le Moal pinmux = <K210_FPIOA(0, K210_PCF_JTAG_TCLK)>, 5362363a8eSDamien Le Moal <K210_FPIOA(1, K210_PCF_JTAG_TDI)>, 5462363a8eSDamien Le Moal <K210_FPIOA(2, K210_PCF_JTAG_TMS)>, 5562363a8eSDamien Le Moal <K210_FPIOA(3, K210_PCF_JTAG_TDO)>; 5662363a8eSDamien Le Moal }; 5762363a8eSDamien Le Moal 5862363a8eSDamien Le Moal uarths_pinctrl: uarths-pinmux { 5962363a8eSDamien Le Moal pinmux = <K210_FPIOA(4, K210_PCF_UARTHS_RX)>, 6062363a8eSDamien Le Moal <K210_FPIOA(5, K210_PCF_UARTHS_TX)>; 6162363a8eSDamien Le Moal }; 6262363a8eSDamien Le Moal 6362363a8eSDamien Le Moal spi0_pinctrl: spi0-pinmux { 6462363a8eSDamien Le Moal pinmux = <K210_FPIOA(6, K210_PCF_GPIOHS20)>, /* cs */ 6562363a8eSDamien Le Moal <K210_FPIOA(7, K210_PCF_SPI0_SCLK)>, /* wr */ 6662363a8eSDamien Le Moal <K210_FPIOA(8, K210_PCF_GPIOHS21)>; /* dc */ 6762363a8eSDamien Le Moal }; 6862363a8eSDamien Le Moal 6962363a8eSDamien Le Moal dvp_pinctrl: dvp-pinmux { 7062363a8eSDamien Le Moal pinmux = <K210_FPIOA(9, K210_PCF_SCCB_SCLK)>, 7162363a8eSDamien Le Moal <K210_FPIOA(10, K210_PCF_SCCB_SDA)>, 7262363a8eSDamien Le Moal <K210_FPIOA(11, K210_PCF_DVP_RST)>, 7362363a8eSDamien Le Moal <K210_FPIOA(12, K210_PCF_DVP_VSYNC)>, 7462363a8eSDamien Le Moal <K210_FPIOA(13, K210_PCF_DVP_PWDN)>, 7562363a8eSDamien Le Moal <K210_FPIOA(14, K210_PCF_DVP_XCLK)>, 7662363a8eSDamien Le Moal <K210_FPIOA(15, K210_PCF_DVP_PCLK)>, 7762363a8eSDamien Le Moal <K210_FPIOA(17, K210_PCF_DVP_HSYNC)>; 7862363a8eSDamien Le Moal }; 7962363a8eSDamien Le Moal 8062363a8eSDamien Le Moal gpiohs_pinctrl: gpiohs-pinmux { 8162363a8eSDamien Le Moal pinmux = <K210_FPIOA(16, K210_PCF_GPIOHS0)>, 8262363a8eSDamien Le Moal <K210_FPIOA(20, K210_PCF_GPIOHS4)>, /* Rot. dip sw line 8 */ 8362363a8eSDamien Le Moal <K210_FPIOA(21, K210_PCF_GPIOHS5)>, /* Rot. dip sw line 4 */ 8462363a8eSDamien Le Moal <K210_FPIOA(22, K210_PCF_GPIOHS6)>, /* Rot. dip sw line 2 */ 8562363a8eSDamien Le Moal <K210_FPIOA(23, K210_PCF_GPIOHS7)>, /* Rot. dip sw line 1 */ 8662363a8eSDamien Le Moal <K210_FPIOA(24, K210_PCF_GPIOHS8)>, 8762363a8eSDamien Le Moal <K210_FPIOA(25, K210_PCF_GPIOHS9)>, 8862363a8eSDamien Le Moal <K210_FPIOA(26, K210_PCF_GPIOHS10)>; 8962363a8eSDamien Le Moal }; 9062363a8eSDamien Le Moal 9162363a8eSDamien Le Moal spi1_pinctrl: spi1-pinmux { 9262363a8eSDamien Le Moal pinmux = <K210_FPIOA(29, K210_PCF_SPI1_SCLK)>, 9362363a8eSDamien Le Moal <K210_FPIOA(30, K210_PCF_SPI1_D0)>, 9462363a8eSDamien Le Moal <K210_FPIOA(31, K210_PCF_SPI1_D1)>, 9562363a8eSDamien Le Moal <K210_FPIOA(32, K210_PCF_GPIOHS16)>; /* cs */ 9662363a8eSDamien Le Moal }; 9762363a8eSDamien Le Moal 9862363a8eSDamien Le Moal i2s0_pinctrl: i2s0-pinmux { 9962363a8eSDamien Le Moal pinmux = <K210_FPIOA(33, K210_PCF_I2S0_IN_D0)>, 10062363a8eSDamien Le Moal <K210_FPIOA(34, K210_PCF_I2S0_WS)>, 10162363a8eSDamien Le Moal <K210_FPIOA(35, K210_PCF_I2S0_SCLK)>; 10262363a8eSDamien Le Moal }; 10362363a8eSDamien Le Moal}; 10462363a8eSDamien Le Moal 10562363a8eSDamien Le Moal&uarths0 { 10662363a8eSDamien Le Moal pinctrl-0 = <&uarths_pinctrl>; 10762363a8eSDamien Le Moal pinctrl-names = "default"; 10862363a8eSDamien Le Moal status = "okay"; 10962363a8eSDamien Le Moal}; 11062363a8eSDamien Le Moal 11162363a8eSDamien Le Moal&gpio0 { 11262363a8eSDamien Le Moal pinctrl-0 = <&gpiohs_pinctrl>; 11362363a8eSDamien Le Moal pinctrl-names = "default"; 11462363a8eSDamien Le Moal status = "okay"; 11562363a8eSDamien Le Moal}; 11662363a8eSDamien Le Moal 11762363a8eSDamien Le Moal&i2s0 { 11862363a8eSDamien Le Moal #sound-dai-cells = <1>; 11962363a8eSDamien Le Moal pinctrl-0 = <&i2s0_pinctrl>; 12062363a8eSDamien Le Moal pinctrl-names = "default"; 12162363a8eSDamien Le Moal}; 12262363a8eSDamien Le Moal 12362363a8eSDamien Le Moal&spi0 { 12462363a8eSDamien Le Moal pinctrl-0 = <&spi0_pinctrl>; 12562363a8eSDamien Le Moal pinctrl-names = "default"; 12662363a8eSDamien Le Moal num-cs = <1>; 12762363a8eSDamien Le Moal cs-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>; 12862363a8eSDamien Le Moal 12962363a8eSDamien Le Moal panel@0 { 130*6990ea21SConor Dooley compatible = "canaan,kd233-tft", "ilitek,ili9341"; 13162363a8eSDamien Le Moal reg = <0>; 13262363a8eSDamien Le Moal dc-gpios = <&gpio0 21 GPIO_ACTIVE_HIGH>; 1333bd204cbSConor Dooley spi-max-frequency = <10000000>; 13462363a8eSDamien Le Moal status = "disabled"; 13562363a8eSDamien Le Moal }; 13662363a8eSDamien Le Moal}; 13762363a8eSDamien Le Moal 13862363a8eSDamien Le Moal&spi1 { 13962363a8eSDamien Le Moal pinctrl-0 = <&spi1_pinctrl>; 14062363a8eSDamien Le Moal pinctrl-names = "default"; 14162363a8eSDamien Le Moal num-cs = <1>; 14262363a8eSDamien Le Moal cs-gpios = <&gpio0 16 GPIO_ACTIVE_LOW>; 14362363a8eSDamien Le Moal status = "okay"; 14462363a8eSDamien Le Moal 1455f4c5824SConor Dooley mmc@0 { 14662363a8eSDamien Le Moal compatible = "mmc-spi-slot"; 14762363a8eSDamien Le Moal reg = <0>; 14862363a8eSDamien Le Moal voltage-ranges = <3300 3300>; 14962363a8eSDamien Le Moal spi-max-frequency = <25000000>; 15062363a8eSDamien Le Moal broken-cd; 15162363a8eSDamien Le Moal }; 15262363a8eSDamien Le Moal}; 153