Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame^] | 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
| 2 | /* |
| 3 | * Copyright (c) 2019 Linaro Ltd. |
| 4 | * Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> |
| 5 | */ |
| 6 | |
| 7 | /dts-v1/; |
| 8 | |
| 9 | #include "bm1880.dtsi" |
| 10 | |
| 11 | /* |
| 12 | * GPIO name legend: proper name = the GPIO line is used as GPIO |
| 13 | * NC = not connected (pin out but not routed from the chip to |
| 14 | * anything the board) |
| 15 | * "[PER]" = pin is muxed for [peripheral] (not GPIO) |
| 16 | * LSEC = Low Speed External Connector |
| 17 | * HSEC = High Speed External Connector |
| 18 | * |
| 19 | * Line names are taken from the schematic "sophon-edge-schematics" |
| 20 | * version, 1.0210. |
| 21 | * |
| 22 | * For the lines routed to the external connectors the |
| 23 | * lines are named after the 96Boards CE Specification 1.0, |
| 24 | * Appendix "Expansion Connector Signal Description". |
| 25 | * |
| 26 | * When the 96Board naming of a line and the schematic name of |
| 27 | * the same line are in conflict, the 96Board specification |
| 28 | * takes precedence. This is only for the informational |
| 29 | * lines i.e. "[FOO]", the GPIO named lines "GPIO-A" thru "GPIO-L" |
| 30 | * are the only ones actually used for GPIO. |
| 31 | */ |
| 32 | |
| 33 | / { |
| 34 | compatible = "bitmain,sophon-edge", "bitmain,bm1880"; |
| 35 | model = "Sophon Edge"; |
| 36 | |
| 37 | aliases { |
| 38 | serial0 = &uart0; |
| 39 | serial1 = &uart2; |
| 40 | serial2 = &uart1; |
| 41 | }; |
| 42 | |
| 43 | chosen { |
| 44 | stdout-path = "serial0:115200n8"; |
| 45 | }; |
| 46 | |
| 47 | memory@0 { |
| 48 | device_type = "memory"; |
| 49 | reg = <0x1 0x00000000 0x0 0x40000000>; // 1GB |
| 50 | }; |
| 51 | |
| 52 | soc { |
| 53 | gpio0: gpio@50027000 { |
| 54 | porta: gpio-controller@0 { |
| 55 | gpio-line-names = |
| 56 | "GPIO-A", /* GPIO0, LSEC pin 23 */ |
| 57 | "GPIO-C", /* GPIO1, LSEC pin 25 */ |
| 58 | "[GPIO2_PHY0_RST]", /* GPIO2 */ |
| 59 | "GPIO-E", /* GPIO3, LSEC pin 27 */ |
| 60 | "[USB_DET]", /* GPIO4 */ |
| 61 | "[EN_P5V]", /* GPIO5 */ |
| 62 | "[VDDIO_MS1_SEL]", /* GPIO6 */ |
| 63 | "GPIO-G", /* GPIO7, LSEC pin 29 */ |
| 64 | "[BM_TUSB_RST_L]", /* GPIO8 */ |
| 65 | "[EN_P5V_USBHUB]", /* GPIO9 */ |
| 66 | "NC", |
| 67 | "LED_WIFI", /* GPIO11 */ |
| 68 | "LED_BT", /* GPIO12 */ |
| 69 | "[BM_BLM8221_EN_L]", /* GPIO13 */ |
| 70 | "NC", /* GPIO14 */ |
| 71 | "NC", /* GPIO15 */ |
| 72 | "NC", /* GPIO16 */ |
| 73 | "NC", /* GPIO17 */ |
| 74 | "NC", /* GPIO18 */ |
| 75 | "NC", /* GPIO19 */ |
| 76 | "NC", /* GPIO20 */ |
| 77 | "NC", /* GPIO21 */ |
| 78 | "NC", /* GPIO22 */ |
| 79 | "NC", /* GPIO23 */ |
| 80 | "NC", /* GPIO24 */ |
| 81 | "NC", /* GPIO25 */ |
| 82 | "NC", /* GPIO26 */ |
| 83 | "NC", /* GPIO27 */ |
| 84 | "NC", /* GPIO28 */ |
| 85 | "NC", /* GPIO29 */ |
| 86 | "NC", /* GPIO30 */ |
| 87 | "NC"; /* GPIO31 */ |
| 88 | }; |
| 89 | }; |
| 90 | |
| 91 | gpio1: gpio@50027400 { |
| 92 | portb: gpio-controller@0 { |
| 93 | gpio-line-names = |
| 94 | "NC", /* GPIO32 */ |
| 95 | "NC", /* GPIO33 */ |
| 96 | "[I2C0_SDA]", /* GPIO34, LSEC pin 17 */ |
| 97 | "[I2C0_SCL]", /* GPIO35, LSEC pin 15 */ |
| 98 | "[JTAG0_TDO]", /* GPIO36 */ |
| 99 | "[JTAG0_TCK]", /* GPIO37 */ |
| 100 | "[JTAG0_TDI]", /* GPIO38 */ |
| 101 | "[JTAG0_TMS]", /* GPIO39 */ |
| 102 | "[JTAG0_TRST_X]", /* GPIO40 */ |
| 103 | "[JTAG1_TDO]", /* GPIO41 */ |
| 104 | "[JTAG1_TCK]", /* GPIO42 */ |
| 105 | "[JTAG1_TDI]", /* GPIO43 */ |
| 106 | "[CPU_TX]", /* GPIO44 */ |
| 107 | "[CPU_RX]", /* GPIO45 */ |
| 108 | "[UART1_TXD]", /* GPIO46 */ |
| 109 | "[UART1_RXD]", /* GPIO47 */ |
| 110 | "[UART0_TXD]", /* GPIO48 */ |
| 111 | "[UART0_RXD]", /* GPIO49 */ |
| 112 | "GPIO-I", /* GPIO50, LSEC pin 31 */ |
| 113 | "GPIO-K", /* GPIO51, LSEC pin 33 */ |
| 114 | "USER_LED2", /* GPIO52 */ |
| 115 | "USER_LED1", /* GPIO53 */ |
| 116 | "[UART0_RTS]", /* GPIO54 */ |
| 117 | "[UART0_CTS]", /* GPIO55 */ |
| 118 | "USER_LED4", /* GPIO56, JTAG1_TRST_X */ |
| 119 | "USER_LED3", /* GPIO57, JTAG1_TMS */ |
| 120 | "[I2S0_SCLK]", /* GPIO58 */ |
| 121 | "[I2S0_FS]", /* GPIO59 */ |
| 122 | "[I2S0_SDI]", /* GPIO60 */ |
| 123 | "[I2S0_SDO]", /* GPIO61 */ |
| 124 | "GPIO-B", /* GPIO62, LSEC pin 24 */ |
| 125 | "GPIO-F"; /* GPIO63, I2S1_SCLK, LSEC pin 28 */ |
| 126 | }; |
| 127 | }; |
| 128 | |
| 129 | gpio2: gpio@50027800 { |
| 130 | portc: gpio-controller@0 { |
| 131 | gpio-line-names = |
| 132 | "GPIO-D", /* GPIO64, I2S1_FS, LSEC pin 26 */ |
| 133 | "GPIO-J", /* GPIO65, I2S1_SDI, LSEC pin 32 */ |
| 134 | "GPIO-H", /* GPIO66, I2S1_SDO, LSEC pin 30 */ |
| 135 | "GPIO-L", /* GPIO67, LSEC pin 34 */ |
| 136 | "[SPI0_CS]", /* GPIO68, SPI1_CS, LSEC pin 12 */ |
| 137 | "[SPI0_DIN]", /* GPIO69, SPI1_SDI, LSEC pin 10 */ |
| 138 | "[SPI0_DOUT]", /* GPIO70, SPI1_SDO, LSEC pin 14 */ |
| 139 | "[SPI0_SCLK]"; /* GPIO71, SPI1_SCK, LSEC pin 8 */ |
| 140 | }; |
| 141 | }; |
| 142 | }; |
| 143 | }; |
| 144 | |
| 145 | &pinctrl { |
| 146 | pinctrl_uart0_default: pinctrl-uart0-default { |
| 147 | pinmux { |
| 148 | groups = "uart0_grp"; |
| 149 | function = "uart0"; |
| 150 | }; |
| 151 | }; |
| 152 | |
| 153 | pinctrl_uart1_default: pinctrl-uart1-default { |
| 154 | pinmux { |
| 155 | groups = "uart1_grp"; |
| 156 | function = "uart1"; |
| 157 | }; |
| 158 | }; |
| 159 | |
| 160 | pinctrl_uart2_default: pinctrl-uart2-default { |
| 161 | pinmux { |
| 162 | groups = "uart2_grp"; |
| 163 | function = "uart2"; |
| 164 | }; |
| 165 | }; |
| 166 | }; |
| 167 | |
| 168 | &uart0 { |
| 169 | status = "okay"; |
| 170 | pinctrl-names = "default"; |
| 171 | pinctrl-0 = <&pinctrl_uart0_default>; |
| 172 | }; |
| 173 | |
| 174 | &uart1 { |
| 175 | status = "okay"; |
| 176 | pinctrl-names = "default"; |
| 177 | pinctrl-0 = <&pinctrl_uart1_default>; |
| 178 | }; |
| 179 | |
| 180 | &uart2 { |
| 181 | status = "okay"; |
| 182 | pinctrl-names = "default"; |
| 183 | pinctrl-0 = <&pinctrl_uart2_default>; |
| 184 | }; |