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

ARM: dts: aspeed: Add AMD DaytonaX BMC

Add initial version of device tree for the BMC in the AMD DaytonaX
platform.

AMD DaytonaX platform is a customer reference board (CRB) with an
Aspeed ast2500 BMC manufactured by AMD.

Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20220921210950.10568-3-aladyshev22@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>

authored by

Konstantin Aladyshev and committed by
Joel Stanley
3293fca4 4fb9c148

+320
+1
arch/arm/boot/dts/Makefile
··· 1574 1574 aspeed-ast2500-evb.dtb \ 1575 1575 aspeed-ast2600-evb-a1.dtb \ 1576 1576 aspeed-ast2600-evb.dtb \ 1577 + aspeed-bmc-amd-daytonax.dtb \ 1577 1578 aspeed-bmc-amd-ethanolx.dtb \ 1578 1579 aspeed-bmc-ampere-mtjade.dtb \ 1579 1580 aspeed-bmc-ampere-mtmitchell.dtb \
+319
arch/arm/boot/dts/aspeed-bmc-amd-daytonax.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /dts-v1/; 3 + 4 + #include "aspeed-g5.dtsi" 5 + #include <dt-bindings/gpio/aspeed-gpio.h> 6 + #include <dt-bindings/interrupt-controller/irq.h> 7 + 8 + / { 9 + model = "AMD DaytonaX BMC"; 10 + compatible = "amd,daytonax-bmc", "aspeed,ast2500"; 11 + 12 + memory@80000000 { 13 + reg = <0x80000000 0x20000000>; 14 + }; 15 + 16 + reserved-memory { 17 + #address-cells = <1>; 18 + #size-cells = <1>; 19 + ranges; 20 + 21 + video_engine_memory: jpegbuffer { 22 + size = <0x02000000>; /* 32M */ 23 + alignment = <0x01000000>; 24 + compatible = "shared-dma-pool"; 25 + reusable; 26 + }; 27 + }; 28 + 29 + aliases { 30 + serial0 = &uart1; 31 + serial4 = &uart5; 32 + }; 33 + 34 + chosen { 35 + stdout-path = &uart5; 36 + bootargs = "console=ttyS4,115200"; 37 + }; 38 + 39 + leds { 40 + compatible = "gpio-leds"; 41 + 42 + led-fault { 43 + gpios = <&gpio ASPEED_GPIO(A, 2) GPIO_ACTIVE_LOW>; 44 + }; 45 + 46 + led-identify { 47 + gpios = <&gpio ASPEED_GPIO(A, 3) GPIO_ACTIVE_LOW>; 48 + }; 49 + }; 50 + 51 + iio-hwmon { 52 + compatible = "iio-hwmon"; 53 + io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>, 54 + <&adc 5>, <&adc 6>, <&adc 7>, <&adc 8>, <&adc 9>, 55 + <&adc 10>, <&adc 11>, <&adc 12>, <&adc 13>, <&adc 14>, 56 + <&adc 15>; 57 + }; 58 + }; 59 + 60 + &fmc { 61 + status = "okay"; 62 + flash@0 { 63 + status = "okay"; 64 + m25p,fast-read; 65 + label = "bmc"; 66 + #include "openbmc-flash-layout.dtsi" 67 + }; 68 + }; 69 + 70 + &mac0 { 71 + status = "okay"; 72 + pinctrl-names = "default"; 73 + pinctrl-0 = <&pinctrl_rgmii1_default &pinctrl_mdio1_default>; 74 + }; 75 + 76 + &uart1 { 77 + //Host Console 78 + status = "okay"; 79 + pinctrl-names = "default"; 80 + pinctrl-0 = <&pinctrl_txd1_default 81 + &pinctrl_rxd1_default 82 + &pinctrl_nrts1_default 83 + &pinctrl_ndtr1_default 84 + &pinctrl_ndsr1_default 85 + &pinctrl_ncts1_default 86 + &pinctrl_ndcd1_default 87 + &pinctrl_nri1_default>; 88 + }; 89 + 90 + &uart5 { 91 + //BMC Console 92 + status = "okay"; 93 + }; 94 + 95 + &vuart { 96 + status = "okay"; 97 + aspeed,lpc-io-reg = <0x3f8>; 98 + aspeed,lpc-interrupts = <4 IRQ_TYPE_LEVEL_HIGH>; 99 + }; 100 + 101 + &adc { 102 + status = "okay"; 103 + pinctrl-names = "default"; 104 + pinctrl-0 = <&pinctrl_adc0_default 105 + &pinctrl_adc1_default 106 + &pinctrl_adc2_default 107 + &pinctrl_adc3_default 108 + &pinctrl_adc4_default 109 + &pinctrl_adc5_default 110 + &pinctrl_adc6_default 111 + &pinctrl_adc7_default 112 + &pinctrl_adc8_default 113 + &pinctrl_adc9_default 114 + &pinctrl_adc10_default 115 + &pinctrl_adc11_default 116 + &pinctrl_adc12_default 117 + &pinctrl_adc13_default 118 + &pinctrl_adc14_default 119 + &pinctrl_adc15_default>; 120 + }; 121 + 122 + &gpio { 123 + status = "okay"; 124 + gpio-line-names = 125 + /*A0-A7*/ "","","led-fault","led-identify","","","","", 126 + /*B0-B7*/ "","","","","","","","", 127 + /*C0-C7*/ "id-button","","","","","","","", 128 + /*D0-D7*/ "","","ASSERT_BMC_READY","","","","","", 129 + /*E0-E7*/ "reset-button","reset-control","power-button","power-control","", 130 + "power-good","power-ok","", 131 + /*F0-F7*/ "","","","","","","BATTERY_DETECT","", 132 + /*G0-G7*/ "","","","","","","","", 133 + /*H0-H7*/ "","","","","","","","", 134 + /*I0-I7*/ "","","","","","","","", 135 + /*J0-J7*/ "","","","","","","","", 136 + /*K0-K7*/ "","","","","","","","", 137 + /*L0-L7*/ "","","","","","","","", 138 + /*M0-M7*/ "","","","","","","","", 139 + /*N0-N7*/ "","","","","","","","", 140 + /*O0-O7*/ "","","","","","","","", 141 + /*P0-P7*/ "","","","","","","","", 142 + /*Q0-Q7*/ "","","","","","","","", 143 + /*R0-R7*/ "","","","","","","","", 144 + /*S0-S7*/ "","","","","","","","", 145 + /*T0-T7*/ "","","","","","","","", 146 + /*U0-U7*/ "","","","","","","","", 147 + /*V0-V7*/ "","","","","","","","", 148 + /*W0-W7*/ "","","","","","","","", 149 + /*X0-X7*/ "","","","","","","","", 150 + /*Y0-Y7*/ "","","","","","","","", 151 + /*Z0-Z7*/ "","","","","","","","", 152 + /*AA0-AA7*/ "","","","","","","","", 153 + /*AB0-AB7*/ "FM_BMC_READ_SPD_TEMP","","","","","","","", 154 + /*AC0-AC7*/ "","","","","","","",""; 155 + }; 156 + 157 + &i2c0 { 158 + status = "okay"; 159 + }; 160 + 161 + &i2c1 { 162 + status = "okay"; 163 + }; 164 + 165 + &i2c2 { 166 + status = "okay"; 167 + }; 168 + 169 + &i2c3 { 170 + status = "okay"; 171 + }; 172 + 173 + &i2c4 { 174 + status = "okay"; 175 + }; 176 + 177 + &i2c5 { 178 + status = "okay"; 179 + }; 180 + 181 + &i2c6 { 182 + status = "okay"; 183 + }; 184 + 185 + &i2c7 { 186 + status = "okay"; 187 + }; 188 + 189 + &i2c8 { 190 + status = "okay"; 191 + }; 192 + 193 + &i2c10 { 194 + status = "okay"; 195 + }; 196 + 197 + &i2c11 { 198 + status = "okay"; 199 + }; 200 + 201 + &i2c12 { 202 + status = "okay"; 203 + }; 204 + 205 + &kcs3 { 206 + status = "okay"; 207 + aspeed,lpc-io-reg = <0xca2>; 208 + }; 209 + 210 + &lpc_snoop { 211 + status = "okay"; 212 + snoop-ports = <0x80>, <0x81>; 213 + }; 214 + 215 + &lpc_ctrl { 216 + status = "okay"; 217 + }; 218 + 219 + &pwm_tacho { 220 + status = "okay"; 221 + pinctrl-names = "default"; 222 + pinctrl-0 = <&pinctrl_pwm0_default 223 + &pinctrl_pwm1_default 224 + &pinctrl_pwm2_default 225 + &pinctrl_pwm3_default 226 + &pinctrl_pwm4_default 227 + &pinctrl_pwm5_default 228 + &pinctrl_pwm6_default 229 + &pinctrl_pwm7_default>; 230 + 231 + fan@0 { 232 + reg = <0x00>; 233 + aspeed,fan-tach-ch = /bits/ 8 <0x00>; 234 + }; 235 + 236 + fan@1 { 237 + reg = <0x00>; 238 + aspeed,fan-tach-ch = /bits/ 8 <0x01>; 239 + }; 240 + 241 + fan@2 { 242 + reg = <0x01>; 243 + aspeed,fan-tach-ch = /bits/ 8 <0x02>; 244 + }; 245 + 246 + fan@3 { 247 + reg = <0x01>; 248 + aspeed,fan-tach-ch = /bits/ 8 <0x03>; 249 + }; 250 + 251 + fan@4 { 252 + reg = <0x02>; 253 + aspeed,fan-tach-ch = /bits/ 8 <0x04>; 254 + }; 255 + 256 + fan@5 { 257 + reg = <0x02>; 258 + aspeed,fan-tach-ch = /bits/ 8 <0x05>; 259 + }; 260 + 261 + fan@6 { 262 + reg = <0x03>; 263 + aspeed,fan-tach-ch = /bits/ 8 <0x06>; 264 + }; 265 + 266 + fan@7 { 267 + reg = <0x03>; 268 + aspeed,fan-tach-ch = /bits/ 8 <0x07>; 269 + }; 270 + 271 + fan@8 { 272 + reg = <0x04>; 273 + aspeed,fan-tach-ch = /bits/ 8 <0x08>; 274 + }; 275 + 276 + fan@9 { 277 + reg = <0x04>; 278 + aspeed,fan-tach-ch = /bits/ 8 <0x09>; 279 + }; 280 + 281 + fan@10 { 282 + reg = <0x05>; 283 + aspeed,fan-tach-ch = /bits/ 8 <0x0a>; 284 + }; 285 + 286 + fan@11 { 287 + reg = <0x05>; 288 + aspeed,fan-tach-ch = /bits/ 8 <0x0b>; 289 + }; 290 + 291 + fan@12 { 292 + reg = <0x06>; 293 + aspeed,fan-tach-ch = /bits/ 8 <0x0c>; 294 + }; 295 + 296 + fan@13 { 297 + reg = <0x06>; 298 + aspeed,fan-tach-ch = /bits/ 8 <0x0d>; 299 + }; 300 + 301 + fan@14 { 302 + reg = <0x07>; 303 + aspeed,fan-tach-ch = /bits/ 8 <0x0e>; 304 + }; 305 + 306 + fan@15 { 307 + reg = <0x07>; 308 + aspeed,fan-tach-ch = /bits/ 8 <0x0f>; 309 + }; 310 + }; 311 + 312 + &video { 313 + status = "okay"; 314 + memory-region = <&video_engine_memory>; 315 + }; 316 + 317 + &vhub { 318 + status = "okay"; 319 + };