18194f08bSDamien Le Moal// SPDX-License-Identifier: GPL-2.0+ 28194f08bSDamien Le Moal/* 38194f08bSDamien Le Moal * Copyright (C) 2019-20 Sean Anderson <seanga2@gmail.com> 48194f08bSDamien Le Moal * Copyright (C) 2020 Western Digital Corporation or its affiliates. 58194f08bSDamien Le Moal */ 68194f08bSDamien Le Moal 78194f08bSDamien Le Moal/dts-v1/; 88194f08bSDamien Le Moal 98194f08bSDamien Le Moal#include "k210.dtsi" 108194f08bSDamien Le Moal 118194f08bSDamien Le Moal#include <dt-bindings/gpio/gpio.h> 128194f08bSDamien Le Moal#include <dt-bindings/input/input.h> 138194f08bSDamien Le Moal#include <dt-bindings/leds/common.h> 148194f08bSDamien Le Moal 158194f08bSDamien Le Moal/ { 168194f08bSDamien Le Moal model = "SiPeed MAIX GO"; 178194f08bSDamien Le Moal compatible = "sipeed,maix-go", "canaan,kendryte-k210"; 188194f08bSDamien Le Moal 198194f08bSDamien Le Moal chosen { 208194f08bSDamien Le Moal bootargs = "earlycon console=ttySIF0"; 218194f08bSDamien Le Moal stdout-path = "serial0:115200n8"; 228194f08bSDamien Le Moal }; 238194f08bSDamien Le Moal 248194f08bSDamien Le Moal gpio-leds { 258194f08bSDamien Le Moal compatible = "gpio-leds"; 268194f08bSDamien Le Moal 278194f08bSDamien Le Moal led0 { 288194f08bSDamien Le Moal color = <LED_COLOR_ID_GREEN>; 298194f08bSDamien Le Moal label = "green"; 308194f08bSDamien Le Moal gpios = <&gpio1_0 4 GPIO_ACTIVE_LOW>; 318194f08bSDamien Le Moal }; 328194f08bSDamien Le Moal 338194f08bSDamien Le Moal led1 { 348194f08bSDamien Le Moal color = <LED_COLOR_ID_RED>; 358194f08bSDamien Le Moal label = "red"; 368194f08bSDamien Le Moal gpios = <&gpio1_0 5 GPIO_ACTIVE_LOW>; 378194f08bSDamien Le Moal }; 388194f08bSDamien Le Moal 398194f08bSDamien Le Moal led2 { 408194f08bSDamien Le Moal color = <LED_COLOR_ID_BLUE>; 418194f08bSDamien Le Moal label = "blue"; 428194f08bSDamien Le Moal gpios = <&gpio1_0 6 GPIO_ACTIVE_LOW>; 438194f08bSDamien Le Moal }; 448194f08bSDamien Le Moal }; 458194f08bSDamien Le Moal 468194f08bSDamien Le Moal gpio-keys { 478194f08bSDamien Le Moal compatible = "gpio-keys"; 488194f08bSDamien Le Moal 4989551fddSKrzysztof Kozlowski key-up { 508194f08bSDamien Le Moal label = "UP"; 518194f08bSDamien Le Moal linux,code = <BTN_1>; 528194f08bSDamien Le Moal gpios = <&gpio1_0 7 GPIO_ACTIVE_LOW>; 538194f08bSDamien Le Moal }; 548194f08bSDamien Le Moal 5589551fddSKrzysztof Kozlowski key-press { 568194f08bSDamien Le Moal label = "PRESS"; 578194f08bSDamien Le Moal linux,code = <BTN_0>; 588194f08bSDamien Le Moal gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; 598194f08bSDamien Le Moal }; 608194f08bSDamien Le Moal 6189551fddSKrzysztof Kozlowski key-down { 628194f08bSDamien Le Moal label = "DOWN"; 638194f08bSDamien Le Moal linux,code = <BTN_2>; 648194f08bSDamien Le Moal gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; 658194f08bSDamien Le Moal }; 668194f08bSDamien Le Moal }; 678194f08bSDamien Le Moal}; 688194f08bSDamien Le Moal 698194f08bSDamien Le Moal&fpioa { 708194f08bSDamien Le Moal pinctrl-0 = <&jtag_pinctrl>; 718194f08bSDamien Le Moal pinctrl-names = "default"; 728194f08bSDamien Le Moal status = "okay"; 738194f08bSDamien Le Moal 748194f08bSDamien Le Moal jtag_pinctrl: jtag-pinmux { 758194f08bSDamien Le Moal pinmux = <K210_FPIOA(0, K210_PCF_JTAG_TCLK)>, 768194f08bSDamien Le Moal <K210_FPIOA(1, K210_PCF_JTAG_TDI)>, 778194f08bSDamien Le Moal <K210_FPIOA(2, K210_PCF_JTAG_TMS)>, 788194f08bSDamien Le Moal <K210_FPIOA(3, K210_PCF_JTAG_TDO)>; 798194f08bSDamien Le Moal }; 808194f08bSDamien Le Moal 818194f08bSDamien Le Moal uarths_pinctrl: uarths-pinmux { 828194f08bSDamien Le Moal pinmux = <K210_FPIOA(4, K210_PCF_UARTHS_RX)>, 838194f08bSDamien Le Moal <K210_FPIOA(5, K210_PCF_UARTHS_TX)>; 848194f08bSDamien Le Moal }; 858194f08bSDamien Le Moal 868194f08bSDamien Le Moal gpio_pinctrl: gpio-pinmux { 878194f08bSDamien Le Moal pinmux = <K210_FPIOA(8, K210_PCF_GPIO0)>, 888194f08bSDamien Le Moal <K210_FPIOA(9, K210_PCF_GPIO1)>, 898194f08bSDamien Le Moal <K210_FPIOA(10, K210_PCF_GPIO2)>, 908194f08bSDamien Le Moal <K210_FPIOA(11, K210_PCF_GPIO3)>, 918194f08bSDamien Le Moal <K210_FPIOA(12, K210_PCF_GPIO4)>, 928194f08bSDamien Le Moal <K210_FPIOA(13, K210_PCF_GPIO5)>, 938194f08bSDamien Le Moal <K210_FPIOA(14, K210_PCF_GPIO6)>, 948194f08bSDamien Le Moal <K210_FPIOA(15, K210_PCF_GPIO7)>; 958194f08bSDamien Le Moal }; 968194f08bSDamien Le Moal 978194f08bSDamien Le Moal gpiohs_pinctrl: gpiohs-pinmux { 988194f08bSDamien Le Moal pinmux = <K210_FPIOA(16, K210_PCF_GPIOHS0)>, 998194f08bSDamien Le Moal <K210_FPIOA(17, K210_PCF_GPIOHS1)>, 1008194f08bSDamien Le Moal <K210_FPIOA(21, K210_PCF_GPIOHS5)>, 1018194f08bSDamien Le Moal <K210_FPIOA(22, K210_PCF_GPIOHS6)>, 1028194f08bSDamien Le Moal <K210_FPIOA(23, K210_PCF_GPIOHS7)>, 1038194f08bSDamien Le Moal <K210_FPIOA(24, K210_PCF_GPIOHS8)>, 1048194f08bSDamien Le Moal <K210_FPIOA(25, K210_PCF_GPIOHS9)>, 1058194f08bSDamien Le Moal <K210_FPIOA(32, K210_PCF_GPIOHS16)>, 1068194f08bSDamien Le Moal <K210_FPIOA(33, K210_PCF_GPIOHS17)>, 1078194f08bSDamien Le Moal <K210_FPIOA(34, K210_PCF_GPIOHS18)>, 1088194f08bSDamien Le Moal <K210_FPIOA(35, K210_PCF_GPIOHS19)>; 1098194f08bSDamien Le Moal }; 1108194f08bSDamien Le Moal 1118194f08bSDamien Le Moal i2s0_pinctrl: i2s0-pinmux { 1128194f08bSDamien Le Moal pinmux = <K210_FPIOA(18, K210_PCF_I2S0_SCLK)>, 1138194f08bSDamien Le Moal <K210_FPIOA(19, K210_PCF_I2S0_WS)>, 1148194f08bSDamien Le Moal <K210_FPIOA(20, K210_PCF_I2S0_IN_D0)>; 1158194f08bSDamien Le Moal }; 1168194f08bSDamien Le Moal 1178194f08bSDamien Le Moal dvp_pinctrl: dvp-pinmux { 1188194f08bSDamien Le Moal pinmux = <K210_FPIOA(40, K210_PCF_SCCB_SDA)>, 1198194f08bSDamien Le Moal <K210_FPIOA(41, K210_PCF_SCCB_SCLK)>, 1208194f08bSDamien Le Moal <K210_FPIOA(42, K210_PCF_DVP_RST)>, 1218194f08bSDamien Le Moal <K210_FPIOA(43, K210_PCF_DVP_VSYNC)>, 1228194f08bSDamien Le Moal <K210_FPIOA(44, K210_PCF_DVP_PWDN)>, 1238194f08bSDamien Le Moal <K210_FPIOA(45, K210_PCF_DVP_HSYNC)>, 1248194f08bSDamien Le Moal <K210_FPIOA(46, K210_PCF_DVP_XCLK)>, 1258194f08bSDamien Le Moal <K210_FPIOA(47, K210_PCF_DVP_PCLK)>; 1268194f08bSDamien Le Moal }; 1278194f08bSDamien Le Moal 1288194f08bSDamien Le Moal spi0_pinctrl: spi0-pinmux { 1298194f08bSDamien Le Moal pinmux = <K210_FPIOA(36, K210_PCF_GPIOHS20)>, /* cs */ 1308194f08bSDamien Le Moal <K210_FPIOA(37, K210_PCF_GPIOHS21)>, /* rst */ 1318194f08bSDamien Le Moal <K210_FPIOA(38, K210_PCF_GPIOHS22)>, /* dc */ 1328194f08bSDamien Le Moal <K210_FPIOA(39, K210_PCF_SPI0_SCLK)>; /* wr */ 1338194f08bSDamien Le Moal }; 1348194f08bSDamien Le Moal 1358194f08bSDamien Le Moal spi1_pinctrl: spi1-pinmux { 1368194f08bSDamien Le Moal pinmux = <K210_FPIOA(26, K210_PCF_SPI1_D1)>, 1378194f08bSDamien Le Moal <K210_FPIOA(27, K210_PCF_SPI1_SCLK)>, 1388194f08bSDamien Le Moal <K210_FPIOA(28, K210_PCF_SPI1_D0)>, 1398194f08bSDamien Le Moal <K210_FPIOA(29, K210_PCF_GPIOHS13)>; /* cs */ 1408194f08bSDamien Le Moal }; 1418194f08bSDamien Le Moal 1428194f08bSDamien Le Moal i2c1_pinctrl: i2c1-pinmux { 1438194f08bSDamien Le Moal pinmux = <K210_FPIOA(30, K210_PCF_I2C1_SCLK)>, 1448194f08bSDamien Le Moal <K210_FPIOA(31, K210_PCF_I2C1_SDA)>; 1458194f08bSDamien Le Moal }; 1468194f08bSDamien Le Moal}; 1478194f08bSDamien Le Moal 1488194f08bSDamien Le Moal&uarths0 { 1498194f08bSDamien Le Moal pinctrl-0 = <&uarths_pinctrl>; 1508194f08bSDamien Le Moal pinctrl-names = "default"; 1518194f08bSDamien Le Moal status = "okay"; 1528194f08bSDamien Le Moal}; 1538194f08bSDamien Le Moal 1548194f08bSDamien Le Moal&gpio0 { 1558194f08bSDamien Le Moal pinctrl-0 = <&gpiohs_pinctrl>; 1568194f08bSDamien Le Moal pinctrl-names = "default"; 1578194f08bSDamien Le Moal status = "okay"; 1588194f08bSDamien Le Moal}; 1598194f08bSDamien Le Moal 1608194f08bSDamien Le Moal&gpio1 { 1618194f08bSDamien Le Moal pinctrl-0 = <&gpio_pinctrl>; 1628194f08bSDamien Le Moal pinctrl-names = "default"; 1638194f08bSDamien Le Moal status = "okay"; 1648194f08bSDamien Le Moal}; 1658194f08bSDamien Le Moal 1668194f08bSDamien Le Moal&i2s0 { 1678194f08bSDamien Le Moal #sound-dai-cells = <1>; 1688194f08bSDamien Le Moal pinctrl-0 = <&i2s0_pinctrl>; 1698194f08bSDamien Le Moal pinctrl-names = "default"; 1708194f08bSDamien Le Moal}; 1718194f08bSDamien Le Moal 1728194f08bSDamien Le Moal&i2c1 { 1738194f08bSDamien Le Moal pinctrl-0 = <&i2c1_pinctrl>; 1748194f08bSDamien Le Moal pinctrl-names = "default"; 1758194f08bSDamien Le Moal clock-frequency = <400000>; 1768194f08bSDamien Le Moal status = "okay"; 1778194f08bSDamien Le Moal}; 1788194f08bSDamien Le Moal 1798194f08bSDamien Le Moal&spi0 { 1808194f08bSDamien Le Moal pinctrl-0 = <&spi0_pinctrl>; 1818194f08bSDamien Le Moal pinctrl-names = "default"; 1828194f08bSDamien Le Moal num-cs = <1>; 1838194f08bSDamien Le Moal cs-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>; 1848194f08bSDamien Le Moal 1858194f08bSDamien Le Moal panel@0 { 1868194f08bSDamien Le Moal compatible = "sitronix,st7789v"; 1878194f08bSDamien Le Moal reg = <0>; 1888194f08bSDamien Le Moal reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>; 1898194f08bSDamien Le Moal dc-gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>; 1908194f08bSDamien Le Moal spi-max-frequency = <15000000>; 1918194f08bSDamien Le Moal status = "disabled"; 1928194f08bSDamien Le Moal }; 1938194f08bSDamien Le Moal}; 1948194f08bSDamien Le Moal 1958194f08bSDamien Le Moal&spi1 { 1968194f08bSDamien Le Moal pinctrl-0 = <&spi1_pinctrl>; 1978194f08bSDamien Le Moal pinctrl-names = "default"; 1988194f08bSDamien Le Moal num-cs = <1>; 1998194f08bSDamien Le Moal cs-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; 2008194f08bSDamien Le Moal status = "okay"; 2018194f08bSDamien Le Moal 202*5f4c5824SConor Dooley mmc@0 { 2038194f08bSDamien Le Moal compatible = "mmc-spi-slot"; 2048194f08bSDamien Le Moal reg = <0>; 2058194f08bSDamien Le Moal voltage-ranges = <3300 3300>; 2068194f08bSDamien Le Moal spi-max-frequency = <25000000>; 2078194f08bSDamien Le Moal broken-cd; 2088194f08bSDamien Le Moal }; 2098194f08bSDamien Le Moal}; 2108194f08bSDamien Le Moal 2118194f08bSDamien Le Moal&spi3 { 212fe38b4d6SGeert Uytterhoeven flash@0 { 2138194f08bSDamien Le Moal compatible = "jedec,spi-nor"; 2148194f08bSDamien Le Moal reg = <0>; 2158194f08bSDamien Le Moal spi-max-frequency = <50000000>; 2166846d656SNiklas Cassel spi-tx-bus-width = <4>; 2176846d656SNiklas Cassel spi-rx-bus-width = <4>; 2188194f08bSDamien Le Moal m25p,fast-read; 2198194f08bSDamien Le Moal broken-flash-reset; 2208194f08bSDamien Le Moal }; 2218194f08bSDamien Le Moal}; 222