162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2019 Linaro Ltd. 462306a36Sopenharmony_ci * Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci/dts-v1/; 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include "bm1880.dtsi" 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/* 1262306a36Sopenharmony_ci * GPIO name legend: proper name = the GPIO line is used as GPIO 1362306a36Sopenharmony_ci * NC = not connected (pin out but not routed from the chip to 1462306a36Sopenharmony_ci * anything the board) 1562306a36Sopenharmony_ci * "[PER]" = pin is muxed for [peripheral] (not GPIO) 1662306a36Sopenharmony_ci * LSEC = Low Speed External Connector 1762306a36Sopenharmony_ci * HSEC = High Speed External Connector 1862306a36Sopenharmony_ci * 1962306a36Sopenharmony_ci * Line names are taken from the schematic "sophon-edge-schematics" 2062306a36Sopenharmony_ci * version, 1.0210. 2162306a36Sopenharmony_ci * 2262306a36Sopenharmony_ci * For the lines routed to the external connectors the 2362306a36Sopenharmony_ci * lines are named after the 96Boards CE Specification 1.0, 2462306a36Sopenharmony_ci * Appendix "Expansion Connector Signal Description". 2562306a36Sopenharmony_ci * 2662306a36Sopenharmony_ci * When the 96Board naming of a line and the schematic name of 2762306a36Sopenharmony_ci * the same line are in conflict, the 96Board specification 2862306a36Sopenharmony_ci * takes precedence. This is only for the informational 2962306a36Sopenharmony_ci * lines i.e. "[FOO]", the GPIO named lines "GPIO-A" thru "GPIO-L" 3062306a36Sopenharmony_ci * are the only ones actually used for GPIO. 3162306a36Sopenharmony_ci */ 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci/ { 3462306a36Sopenharmony_ci compatible = "bitmain,sophon-edge", "bitmain,bm1880"; 3562306a36Sopenharmony_ci model = "Sophon Edge"; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci aliases { 3862306a36Sopenharmony_ci serial0 = &uart0; 3962306a36Sopenharmony_ci serial1 = &uart2; 4062306a36Sopenharmony_ci serial2 = &uart1; 4162306a36Sopenharmony_ci }; 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci chosen { 4462306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci memory@0 { 4862306a36Sopenharmony_ci device_type = "memory"; 4962306a36Sopenharmony_ci reg = <0x1 0x00000000 0x0 0x40000000>; // 1GB 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci soc { 5362306a36Sopenharmony_ci gpio0: gpio@50027000 { 5462306a36Sopenharmony_ci porta: gpio-controller@0 { 5562306a36Sopenharmony_ci gpio-line-names = 5662306a36Sopenharmony_ci "GPIO-A", /* GPIO0, LSEC pin 23 */ 5762306a36Sopenharmony_ci "GPIO-C", /* GPIO1, LSEC pin 25 */ 5862306a36Sopenharmony_ci "[GPIO2_PHY0_RST]", /* GPIO2 */ 5962306a36Sopenharmony_ci "GPIO-E", /* GPIO3, LSEC pin 27 */ 6062306a36Sopenharmony_ci "[USB_DET]", /* GPIO4 */ 6162306a36Sopenharmony_ci "[EN_P5V]", /* GPIO5 */ 6262306a36Sopenharmony_ci "[VDDIO_MS1_SEL]", /* GPIO6 */ 6362306a36Sopenharmony_ci "GPIO-G", /* GPIO7, LSEC pin 29 */ 6462306a36Sopenharmony_ci "[BM_TUSB_RST_L]", /* GPIO8 */ 6562306a36Sopenharmony_ci "[EN_P5V_USBHUB]", /* GPIO9 */ 6662306a36Sopenharmony_ci "NC", 6762306a36Sopenharmony_ci "LED_WIFI", /* GPIO11 */ 6862306a36Sopenharmony_ci "LED_BT", /* GPIO12 */ 6962306a36Sopenharmony_ci "[BM_BLM8221_EN_L]", /* GPIO13 */ 7062306a36Sopenharmony_ci "NC", /* GPIO14 */ 7162306a36Sopenharmony_ci "NC", /* GPIO15 */ 7262306a36Sopenharmony_ci "NC", /* GPIO16 */ 7362306a36Sopenharmony_ci "NC", /* GPIO17 */ 7462306a36Sopenharmony_ci "NC", /* GPIO18 */ 7562306a36Sopenharmony_ci "NC", /* GPIO19 */ 7662306a36Sopenharmony_ci "NC", /* GPIO20 */ 7762306a36Sopenharmony_ci "NC", /* GPIO21 */ 7862306a36Sopenharmony_ci "NC", /* GPIO22 */ 7962306a36Sopenharmony_ci "NC", /* GPIO23 */ 8062306a36Sopenharmony_ci "NC", /* GPIO24 */ 8162306a36Sopenharmony_ci "NC", /* GPIO25 */ 8262306a36Sopenharmony_ci "NC", /* GPIO26 */ 8362306a36Sopenharmony_ci "NC", /* GPIO27 */ 8462306a36Sopenharmony_ci "NC", /* GPIO28 */ 8562306a36Sopenharmony_ci "NC", /* GPIO29 */ 8662306a36Sopenharmony_ci "NC", /* GPIO30 */ 8762306a36Sopenharmony_ci "NC"; /* GPIO31 */ 8862306a36Sopenharmony_ci }; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci gpio1: gpio@50027400 { 9262306a36Sopenharmony_ci portb: gpio-controller@0 { 9362306a36Sopenharmony_ci gpio-line-names = 9462306a36Sopenharmony_ci "NC", /* GPIO32 */ 9562306a36Sopenharmony_ci "NC", /* GPIO33 */ 9662306a36Sopenharmony_ci "[I2C0_SDA]", /* GPIO34, LSEC pin 17 */ 9762306a36Sopenharmony_ci "[I2C0_SCL]", /* GPIO35, LSEC pin 15 */ 9862306a36Sopenharmony_ci "[JTAG0_TDO]", /* GPIO36 */ 9962306a36Sopenharmony_ci "[JTAG0_TCK]", /* GPIO37 */ 10062306a36Sopenharmony_ci "[JTAG0_TDI]", /* GPIO38 */ 10162306a36Sopenharmony_ci "[JTAG0_TMS]", /* GPIO39 */ 10262306a36Sopenharmony_ci "[JTAG0_TRST_X]", /* GPIO40 */ 10362306a36Sopenharmony_ci "[JTAG1_TDO]", /* GPIO41 */ 10462306a36Sopenharmony_ci "[JTAG1_TCK]", /* GPIO42 */ 10562306a36Sopenharmony_ci "[JTAG1_TDI]", /* GPIO43 */ 10662306a36Sopenharmony_ci "[CPU_TX]", /* GPIO44 */ 10762306a36Sopenharmony_ci "[CPU_RX]", /* GPIO45 */ 10862306a36Sopenharmony_ci "[UART1_TXD]", /* GPIO46 */ 10962306a36Sopenharmony_ci "[UART1_RXD]", /* GPIO47 */ 11062306a36Sopenharmony_ci "[UART0_TXD]", /* GPIO48 */ 11162306a36Sopenharmony_ci "[UART0_RXD]", /* GPIO49 */ 11262306a36Sopenharmony_ci "GPIO-I", /* GPIO50, LSEC pin 31 */ 11362306a36Sopenharmony_ci "GPIO-K", /* GPIO51, LSEC pin 33 */ 11462306a36Sopenharmony_ci "USER_LED2", /* GPIO52 */ 11562306a36Sopenharmony_ci "USER_LED1", /* GPIO53 */ 11662306a36Sopenharmony_ci "[UART0_RTS]", /* GPIO54 */ 11762306a36Sopenharmony_ci "[UART0_CTS]", /* GPIO55 */ 11862306a36Sopenharmony_ci "USER_LED4", /* GPIO56, JTAG1_TRST_X */ 11962306a36Sopenharmony_ci "USER_LED3", /* GPIO57, JTAG1_TMS */ 12062306a36Sopenharmony_ci "[I2S0_SCLK]", /* GPIO58 */ 12162306a36Sopenharmony_ci "[I2S0_FS]", /* GPIO59 */ 12262306a36Sopenharmony_ci "[I2S0_SDI]", /* GPIO60 */ 12362306a36Sopenharmony_ci "[I2S0_SDO]", /* GPIO61 */ 12462306a36Sopenharmony_ci "GPIO-B", /* GPIO62, LSEC pin 24 */ 12562306a36Sopenharmony_ci "GPIO-F"; /* GPIO63, I2S1_SCLK, LSEC pin 28 */ 12662306a36Sopenharmony_ci }; 12762306a36Sopenharmony_ci }; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci gpio2: gpio@50027800 { 13062306a36Sopenharmony_ci portc: gpio-controller@0 { 13162306a36Sopenharmony_ci gpio-line-names = 13262306a36Sopenharmony_ci "GPIO-D", /* GPIO64, I2S1_FS, LSEC pin 26 */ 13362306a36Sopenharmony_ci "GPIO-J", /* GPIO65, I2S1_SDI, LSEC pin 32 */ 13462306a36Sopenharmony_ci "GPIO-H", /* GPIO66, I2S1_SDO, LSEC pin 30 */ 13562306a36Sopenharmony_ci "GPIO-L", /* GPIO67, LSEC pin 34 */ 13662306a36Sopenharmony_ci "[SPI0_CS]", /* GPIO68, SPI1_CS, LSEC pin 12 */ 13762306a36Sopenharmony_ci "[SPI0_DIN]", /* GPIO69, SPI1_SDI, LSEC pin 10 */ 13862306a36Sopenharmony_ci "[SPI0_DOUT]", /* GPIO70, SPI1_SDO, LSEC pin 14 */ 13962306a36Sopenharmony_ci "[SPI0_SCLK]"; /* GPIO71, SPI1_SCK, LSEC pin 8 */ 14062306a36Sopenharmony_ci }; 14162306a36Sopenharmony_ci }; 14262306a36Sopenharmony_ci }; 14362306a36Sopenharmony_ci}; 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ci&pinctrl { 14662306a36Sopenharmony_ci pinctrl_uart0_default: pinctrl-uart0-default { 14762306a36Sopenharmony_ci pinmux { 14862306a36Sopenharmony_ci groups = "uart0_grp"; 14962306a36Sopenharmony_ci function = "uart0"; 15062306a36Sopenharmony_ci }; 15162306a36Sopenharmony_ci }; 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci pinctrl_uart1_default: pinctrl-uart1-default { 15462306a36Sopenharmony_ci pinmux { 15562306a36Sopenharmony_ci groups = "uart1_grp"; 15662306a36Sopenharmony_ci function = "uart1"; 15762306a36Sopenharmony_ci }; 15862306a36Sopenharmony_ci }; 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci pinctrl_uart2_default: pinctrl-uart2-default { 16162306a36Sopenharmony_ci pinmux { 16262306a36Sopenharmony_ci groups = "uart2_grp"; 16362306a36Sopenharmony_ci function = "uart2"; 16462306a36Sopenharmony_ci }; 16562306a36Sopenharmony_ci }; 16662306a36Sopenharmony_ci}; 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci&uart0 { 16962306a36Sopenharmony_ci status = "okay"; 17062306a36Sopenharmony_ci pinctrl-names = "default"; 17162306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_uart0_default>; 17262306a36Sopenharmony_ci}; 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci&uart1 { 17562306a36Sopenharmony_ci status = "okay"; 17662306a36Sopenharmony_ci pinctrl-names = "default"; 17762306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_uart1_default>; 17862306a36Sopenharmony_ci}; 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci&uart2 { 18162306a36Sopenharmony_ci status = "okay"; 18262306a36Sopenharmony_ci pinctrl-names = "default"; 18362306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_uart2_default>; 18462306a36Sopenharmony_ci}; 185