Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: aspeed: Add YADRO Nicole BMC

Nicole is an OpenPower machine with an Aspeed 2500 BMC SoC manufactured
by YADRO.

Signed-off-by: Alexander Filippov <a.filippov@yadro.com>
Acked-by: Andrew Jeffery <andrew@aj.id.au>
Reviewed-by: Patrick Williams <patrick@stwcx.xyz>
Signed-off-by: Joel Stanley <joel@jms.id.au>

authored by

Alexander Filippov and committed by
Joel Stanley
697538bd 6456bc88

+327
+1
arch/arm/boot/dts/Makefile
··· 1347 1347 aspeed-bmc-microsoft-olympus.dtb \ 1348 1348 aspeed-bmc-opp-lanyang.dtb \ 1349 1349 aspeed-bmc-opp-mihawk.dtb \ 1350 + aspeed-bmc-opp-nicole.dtb \ 1350 1351 aspeed-bmc-opp-palmetto.dtb \ 1351 1352 aspeed-bmc-opp-romulus.dtb \ 1352 1353 aspeed-bmc-opp-swift.dtb \
+326
arch/arm/boot/dts/aspeed-bmc-opp-nicole.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 2 + // Copyright 2019 YADRO 3 + /dts-v1/; 4 + #include "aspeed-g5.dtsi" 5 + #include <dt-bindings/gpio/aspeed-gpio.h> 6 + 7 + / { 8 + model = "Nicole BMC"; 9 + compatible = "yadro,nicole-bmc", "aspeed,ast2500"; 10 + 11 + chosen { 12 + stdout-path = &uart5; 13 + bootargs = "console=ttyS4,115200 earlyprintk"; 14 + }; 15 + 16 + memory@80000000 { 17 + reg = <0x80000000 0x20000000>; 18 + }; 19 + 20 + reserved-memory { 21 + #address-cells = <1>; 22 + #size-cells = <1>; 23 + ranges; 24 + 25 + vga_memory: framebuffer@9f000000 { 26 + no-map; 27 + reg = <0x9f000000 0x01000000>; /* 16M */ 28 + }; 29 + 30 + flash_memory: region@98000000 { 31 + no-map; 32 + reg = <0x98000000 0x04000000>; /* 64M */ 33 + }; 34 + 35 + coldfire_memory: codefire_memory@9ef00000 { 36 + reg = <0x9ef00000 0x00100000>; 37 + no-map; 38 + }; 39 + 40 + gfx_memory: framebuffer { 41 + size = <0x01000000>; 42 + alignment = <0x01000000>; 43 + compatible = "shared-dma-pool"; 44 + reusable; 45 + }; 46 + 47 + video_engine_memory: jpegbuffer { 48 + size = <0x02000000>; /* 32M */ 49 + alignment = <0x01000000>; 50 + compatible = "shared-dma-pool"; 51 + reusable; 52 + }; 53 + }; 54 + 55 + leds { 56 + compatible = "gpio-leds"; 57 + 58 + power { 59 + label = "platform:green:power"; 60 + gpios = <&gpio ASPEED_GPIO(AA, 4) GPIO_ACTIVE_HIGH>; 61 + }; 62 + 63 + identify { 64 + label = "platform:blue:indicator"; 65 + gpios = <&gpio ASPEED_GPIO(AA, 7) GPIO_ACTIVE_HIGH>; 66 + }; 67 + 68 + fault { 69 + label = "platform:red:fault"; 70 + gpios = <&gpio ASPEED_GPIO(AA, 3) GPIO_ACTIVE_HIGH>; 71 + }; 72 + 73 + attention { 74 + label = "platform:yellow:alarm"; 75 + gpios = <&gpio ASPEED_GPIO(AA, 1) GPIO_ACTIVE_HIGH>; 76 + }; 77 + }; 78 + 79 + fsi: gpio-fsi { 80 + compatible = "aspeed,ast2500-cf-fsi-master", "fsi-master"; 81 + #address-cells = <2>; 82 + #size-cells = <0>; 83 + no-gpio-delays; 84 + 85 + memory-region = <&coldfire_memory>; 86 + aspeed,sram = <&sram>; 87 + aspeed,cvic = <&cvic>; 88 + 89 + clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>; 90 + data-gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_HIGH>; 91 + mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>; 92 + enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>; 93 + trans-gpios = <&gpio ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>; 94 + }; 95 + 96 + gpio-keys { 97 + compatible = "gpio-keys"; 98 + 99 + checkstop { 100 + label = "checkstop"; 101 + gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>; 102 + linux,code = <ASPEED_GPIO(J, 2)>; 103 + }; 104 + }; 105 + 106 + iio-hwmon-battery { 107 + compatible = "iio-hwmon"; 108 + io-channels = <&adc 12>; 109 + }; 110 + }; 111 + 112 + &fmc { 113 + status = "okay"; 114 + flash@0 { 115 + status = "okay"; 116 + m25p,fast-read; 117 + label = "bmc"; 118 + spi-max-frequency = <50000000>; 119 + #include "openbmc-flash-layout.dtsi" 120 + }; 121 + }; 122 + 123 + &spi1 { 124 + status = "okay"; 125 + pinctrl-names = "default"; 126 + pinctrl-0 = <&pinctrl_spi1_default>; 127 + 128 + flash@0 { 129 + status = "okay"; 130 + m25p,fast-read; 131 + label = "pnor"; 132 + spi-max-frequency = <100000000>; 133 + }; 134 + }; 135 + 136 + &lpc_ctrl { 137 + status = "okay"; 138 + memory-region = <&flash_memory>; 139 + flash = <&spi1>; 140 + }; 141 + 142 + &uart1 { 143 + /* Rear RS-232 connector */ 144 + status = "okay"; 145 + 146 + pinctrl-names = "default"; 147 + pinctrl-0 = <&pinctrl_txd1_default 148 + &pinctrl_rxd1_default 149 + &pinctrl_nrts1_default 150 + &pinctrl_ndtr1_default 151 + &pinctrl_ndsr1_default 152 + &pinctrl_ncts1_default 153 + &pinctrl_ndcd1_default 154 + &pinctrl_nri1_default>; 155 + }; 156 + 157 + &uart5 { 158 + status = "okay"; 159 + }; 160 + 161 + &mac0 { 162 + status = "okay"; 163 + 164 + use-ncsi; 165 + 166 + pinctrl-names = "default"; 167 + pinctrl-0 = <&pinctrl_rmii1_default>; 168 + clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>, 169 + <&syscon ASPEED_CLK_MAC1RCLK>; 170 + clock-names = "MACCLK", "RCLK"; 171 + }; 172 + 173 + &i2c0 { 174 + status = "okay"; 175 + 176 + eeprom@50 { 177 + compatible = "atmel,24c256"; 178 + reg = <0x50>; 179 + pagesize = <64>; 180 + }; 181 + }; 182 + 183 + &i2c2 { 184 + status = "okay"; 185 + /* CPU0 characterization connector */ 186 + }; 187 + 188 + &i2c3 { 189 + status = "okay"; 190 + /* CLK GEN SI5338 */ 191 + }; 192 + 193 + &i2c4 { 194 + status = "okay"; 195 + /* Voltage regulators for CPU0 */ 196 + }; 197 + 198 + &i2c5 { 199 + status = "okay"; 200 + /* Voltage regulators for CPU1 */ 201 + }; 202 + 203 + &i2c6 { 204 + status = "okay"; 205 + 206 + rtc@32 { 207 + compatible = "epson,rx8900"; 208 + reg = <0x32>; 209 + }; 210 + }; 211 + 212 + &i2c7 { 213 + status = "okay"; 214 + /* CPLD */ 215 + }; 216 + 217 + &gpio { 218 + gpio-line-names = 219 + /*A0-A7*/ "","cfam-reset","","","","","fsi-mux","", 220 + /*B0-B7*/ "","","","","","","","", 221 + /*C0-C7*/ "","","","","","","","", 222 + /*D0-D7*/ "fsi-enable","bmc_power_up","sys_pwrok_buf", 223 + "func_mode0","func_mode1","func_mode2","","", 224 + /*E0-E7*/ "","ncsi_cfg","","","","","","", 225 + /*F0-F7*/ "","","","","","","","", 226 + /*G0-G7*/ "","","","","","","","", 227 + /*H0-H7*/ "","","","","","","","", 228 + /*I0-I7*/ "","","","","","","","", 229 + /*J0-J7*/ "","","checkstop","","","","","", 230 + /*K0-K7*/ "","","","","","","","", 231 + /*L0-L7*/ "","","","","","","","", 232 + /*M0-M7*/ "","","","","","","","", 233 + /*N0-N7*/ "","","","","","","","", 234 + /*O0-O7*/ "","","power-button","","","","","", 235 + /*P0-P7*/ "","fsi-trans","pm_rtc_adc_en","","","","","", 236 + /*Q0-Q7*/ "","","","","","","","id-button", 237 + /*R0-R7*/ "","software_pwrgood","","","","","","", 238 + /*S0-S7*/ "","","","","","","","seq_cont", 239 + /*T0-T7*/ "","","","","","","","", 240 + /*U0-U7*/ "","","","","","","","", 241 + /*V0-V7*/ "","","","","","","","", 242 + /*W0-W7*/ "","","","","","","","", 243 + /*X0-X7*/ "","","","","","","","", 244 + /*Y0-Y7*/ "","","","","","","","", 245 + /*Z0-Z7*/ "","","","","","","","", 246 + /*AA0-AA7*/ "fsi-clock","led-attention","fsi-data","led-fault", 247 + "led-power","","","led-identify", 248 + /*AB0-AB7*/ "","","","","","","","", 249 + /*AC0-AC7*/ "","","","","","","",""; 250 + 251 + func_mode0 { 252 + gpio-hog; 253 + gpios = <ASPEED_GPIO(D, 3) GPIO_ACTIVE_HIGH>; 254 + output-low; 255 + }; 256 + func_mode1 { 257 + gpio-hog; 258 + gpios = <ASPEED_GPIO(D, 4) GPIO_ACTIVE_HIGH>; 259 + output-low; 260 + }; 261 + func_mode2 { 262 + gpio-hog; 263 + gpios = <ASPEED_GPIO(D, 5) GPIO_ACTIVE_HIGH>; 264 + output-low; 265 + }; 266 + seq_cont { 267 + gpio-hog; 268 + gpios = <ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>; 269 + output-low; 270 + }; 271 + ncsi_cfg { 272 + gpio-hog; 273 + input; 274 + gpios = <ASPEED_GPIO(E, 1) GPIO_ACTIVE_HIGH>; 275 + }; 276 + }; 277 + 278 + &vuart { 279 + status = "okay"; 280 + }; 281 + 282 + &gfx { 283 + status = "okay"; 284 + memory-region = <&gfx_memory>; 285 + }; 286 + 287 + &pinctrl { 288 + aspeed,external-nodes = <&gfx &lhc>; 289 + }; 290 + 291 + &ibt { 292 + status = "okay"; 293 + }; 294 + 295 + &vhub { 296 + status = "okay"; 297 + }; 298 + 299 + &adc { 300 + status = "okay"; 301 + 302 + pinctrl-names = "default"; 303 + pinctrl-0 = <&pinctrl_adc0_default 304 + &pinctrl_adc1_default 305 + &pinctrl_adc2_default 306 + &pinctrl_adc3_default 307 + &pinctrl_adc4_default 308 + &pinctrl_adc5_default 309 + &pinctrl_adc6_default 310 + &pinctrl_adc7_default 311 + &pinctrl_adc8_default 312 + &pinctrl_adc9_default 313 + &pinctrl_adc10_default 314 + &pinctrl_adc11_default 315 + &pinctrl_adc12_default 316 + &pinctrl_adc13_default 317 + &pinctrl_adc14_default 318 + &pinctrl_adc15_default>; 319 + }; 320 + 321 + &video { 322 + status = "okay"; 323 + memory-region = <&video_engine_memory>; 324 + }; 325 + 326 + #include "ibm-power9-dual.dtsi"