|
| 1 | +From 9be07cbc41161d2aaeca2a6e48fd698af24f75ae Mon Sep 17 00:00:00 2001 |
| 2 | +From: Natarajan Subbiramani <natarajan.subbiramani@nokia.com> |
| 3 | +Date: Fri, 24 Apr 2026 10:44:28 -0400 |
| 4 | +Subject: [PATCH] Add device tree for Nokia BMC H6-128 platform |
| 5 | + |
| 6 | +The device tree is based on ast2700 evb board. |
| 7 | +Hardware deviations from ast2700-evb: |
| 8 | +- Removed unused reserved memory nodes |
| 9 | +- Removed PWM FAN definitions (controlled from HCPU) |
| 10 | +- Customize gpio1 pin and pinctrl definitions. |
| 11 | +- Removed I3C node definitions |
| 12 | +- Removed unused LPC definitions |
| 13 | +- eMMC 8bit bus width |
| 14 | + |
| 15 | +Signed-off-by: Natarajan Subbiramani <natarajan.subbiramani@nokia.com> |
| 16 | +--- |
| 17 | + arch/arm64/boot/dts/aspeed/Makefile | 1 + |
| 18 | + .../dts/aspeed/nokia-ast2700-h6-128-r0.dts | 329 ++++++++++++++++++ |
| 19 | + 2 files changed, 330 insertions(+) |
| 20 | + create mode 100644 arch/arm64/boot/dts/aspeed/nokia-ast2700-h6-128-r0.dts |
| 21 | + |
| 22 | +diff --git a/arch/arm64/boot/dts/aspeed/Makefile b/arch/arm64/boot/dts/aspeed/Makefile |
| 23 | +index 3e904b273f1f..5caf80a7ff69 100644 |
| 24 | +--- a/arch/arm64/boot/dts/aspeed/Makefile |
| 25 | ++++ b/arch/arm64/boot/dts/aspeed/Makefile |
| 26 | +@@ -3,6 +3,7 @@ |
| 27 | + dtb-$(CONFIG_ARCH_ASPEED) += \ |
| 28 | + ast2700-evb.dtb \ |
| 29 | + nexthop-b27-r0.dtb \ |
| 30 | ++ nokia-ast2700-h6-128-r0.dtb \ |
| 31 | + ast2700-raw.dtb \ |
| 32 | + ast2700-evb-s0.dtb \ |
| 33 | + ast2700-evb-s1.dtb \ |
| 34 | +diff --git a/arch/arm64/boot/dts/aspeed/nokia-ast2700-h6-128-r0.dts b/arch/arm64/boot/dts/aspeed/nokia-ast2700-h6-128-r0.dts |
| 35 | +new file mode 100644 |
| 36 | +index 000000000000..79b5bd7fb94a |
| 37 | +--- /dev/null |
| 38 | ++++ b/arch/arm64/boot/dts/aspeed/nokia-ast2700-h6-128-r0.dts |
| 39 | +@@ -0,0 +1,329 @@ |
| 40 | ++// SPDX-License-Identifier: GPL-2.0-or-later |
| 41 | ++// Nokia BMC H6-128 devicetreee based on ast2700-evb.dts |
| 42 | ++ |
| 43 | ++/dts-v1/; |
| 44 | ++ |
| 45 | ++#include "aspeed-g7.dtsi" |
| 46 | ++#include <dt-bindings/gpio/aspeed-gpio.h> |
| 47 | ++#include <dt-bindings/i2c/i2c.h> |
| 48 | ++ |
| 49 | ++/ { |
| 50 | ++ model = "Nokia-BMC-H6-128"; |
| 51 | ++ compatible = "aspeed,ast2700"; |
| 52 | ++ |
| 53 | ++ chosen { |
| 54 | ++ stdout-path = "serial12:115200n8"; |
| 55 | ++ }; |
| 56 | ++ |
| 57 | ++ memory@400000000 { |
| 58 | ++ device_type = "memory"; |
| 59 | ++ reg = <0x4 0x00000000 0x0 0x40000000>; |
| 60 | ++ }; |
| 61 | ++ |
| 62 | ++ reserved-memory { |
| 63 | ++ #address-cells = <2>; |
| 64 | ++ #size-cells = <2>; |
| 65 | ++ ranges; |
| 66 | ++ |
| 67 | ++ #include "ast2700-reserved-mem.dtsi" |
| 68 | ++ |
| 69 | ++#if 0 |
| 70 | ++ gfx_memory: framebuffer { |
| 71 | ++ size = <0x0 0x01000000>; |
| 72 | ++ alignment = <0x0 0x01000000>; |
| 73 | ++ compatible = "shared-dma-pool"; |
| 74 | ++ reusable; |
| 75 | ++ }; |
| 76 | ++#endif |
| 77 | ++ }; |
| 78 | ++}; |
| 79 | ++ |
| 80 | ++&uart0 { |
| 81 | ++ status = "okay"; |
| 82 | ++}; |
| 83 | ++ |
| 84 | ++&uart2 { |
| 85 | ++ status = "okay"; |
| 86 | ++}; |
| 87 | ++ |
| 88 | ++&uart12 { |
| 89 | ++ status = "okay"; |
| 90 | ++}; |
| 91 | ++ |
| 92 | ++&fmc { |
| 93 | ++ status = "okay"; |
| 94 | ++ pinctrl-0 = <&pinctrl_fwspi_quad_default>; |
| 95 | ++ pinctrl-names = "default"; |
| 96 | ++ |
| 97 | ++ flash@0 { |
| 98 | ++ status = "okay"; |
| 99 | ++ m25p,fast-read; |
| 100 | ++ label = "bmc"; |
| 101 | ++ spi-max-frequency = <12500000>; |
| 102 | ++ spi-tx-bus-width = <2>; |
| 103 | ++ spi-rx-bus-width = <2>; |
| 104 | ++ partitions { |
| 105 | ++ compatible = "fixed-partitions"; |
| 106 | ++ #address-cells = <1>; |
| 107 | ++ #size-cells = <1>; |
| 108 | ++ u-boot@0 { |
| 109 | ++ reg = <0x0 0x400000>; // 4MB |
| 110 | ++ label = "u-boot"; |
| 111 | ++ }; |
| 112 | ++ u-boot-env@400000 { |
| 113 | ++ reg = <0x400000 0x20000>; // 128KB |
| 114 | ++ label = "u-boot-env"; |
| 115 | ++ }; |
| 116 | ++ kernel@420000 { |
| 117 | ++ reg = <0x420000 0x900000>; // 9MB |
| 118 | ++ label = "kernel"; |
| 119 | ++ }; |
| 120 | ++ rofs@d20000 { |
| 121 | ++ reg = <0xd20000 0x24a0000>; // 36.625MB |
| 122 | ++ label = "rofs"; |
| 123 | ++ }; |
| 124 | ++ rwfs@31c0000 { |
| 125 | ++ reg = <0x31c0000 0xE40000>; // 14.25MB |
| 126 | ++ label = "rwfs"; |
| 127 | ++ }; |
| 128 | ++ pfm@4000000 { |
| 129 | ++ reg = <0x4000000 0x20000>; // 128KB |
| 130 | ++ label = "pfm"; |
| 131 | ++ }; |
| 132 | ++ reserved-1@4020000 { |
| 133 | ++ reg = <0x4020000 0x200000>; // 2048KB |
| 134 | ++ label = "reserved-1"; |
| 135 | ++ }; |
| 136 | ++ rc-image@4220000 { |
| 137 | ++ reg = <0x4220000 0x3de0000>; // 63360KB |
| 138 | ++ label = "rc-image"; |
| 139 | ++ }; |
| 140 | ++ image-stg@8000000 { |
| 141 | ++ reg = <0x8000000 0x3de0000>; // 63360KB |
| 142 | ++ label = "img-stg"; |
| 143 | ++ }; |
| 144 | ++ pfr-stg@bde0000 { |
| 145 | ++ reg = <0xbde0000 0x100000>; // 1024KB |
| 146 | ++ label = "pfr-stg"; |
| 147 | ++ }; |
| 148 | ++ cpld-stg@bee0000 { |
| 149 | ++ reg = <0xbee0000 0x400000>; // 4096KB |
| 150 | ++ label = "cpld-stg"; |
| 151 | ++ }; |
| 152 | ++ afm-stg@c2e0000 { |
| 153 | ++ reg = <0xc2e0000 0x20000>; // 128KB |
| 154 | ++ label = "afm-stg"; |
| 155 | ++ }; |
| 156 | ++ afm-rc@c300000 { |
| 157 | ++ reg = <0xc300000 0x20000>; // 128KB |
| 158 | ++ label = "afm-rc"; |
| 159 | ++ }; |
| 160 | ++ reserved-2@c320000 { |
| 161 | ++ reg = <0xc320000 0x3ce0000>; // 62336KB |
| 162 | ++ label = "reserved-2"; |
| 163 | ++ }; |
| 164 | ++ }; |
| 165 | ++ }; |
| 166 | ++}; |
| 167 | ++ |
| 168 | ++&spi1 { |
| 169 | ++ status = "okay"; |
| 170 | ++ pinctrl-0 = <&pinctrl_spi1_default &pinctrl_spi1_cs1_default>; |
| 171 | ++ pinctrl-names = "default"; |
| 172 | ++ |
| 173 | ++ flash@0 { |
| 174 | ++ status = "okay"; |
| 175 | ++ m25p,fast-read; |
| 176 | ++ label = "bios"; |
| 177 | ++ spi-max-frequency = <12500000>; |
| 178 | ++ spi-tx-bus-width = <2>; |
| 179 | ++ spi-rx-bus-width = <2>; |
| 180 | ++ }; |
| 181 | ++}; |
| 182 | ++ |
| 183 | ++&spi2 { |
| 184 | ++ compatible = "aspeed,ast2700-spi-txrx"; |
| 185 | ++ pinctrl-0 = <&pinctrl_spi2_default>; |
| 186 | ++ pinctrl-names = "default"; |
| 187 | ++ status = "okay"; |
| 188 | ++ |
| 189 | ++ tpm@0 { |
| 190 | ++ compatible = "tcg,tpm_tis-spi"; |
| 191 | ++ spi-max-frequency = <33000000>; |
| 192 | ++ reg = <0>; |
| 193 | ++ status = "okay"; |
| 194 | ++ }; |
| 195 | ++}; |
| 196 | ++ |
| 197 | ++&mac0 { |
| 198 | ++ status = "okay"; |
| 199 | ++ use-ncsi; |
| 200 | ++ phy-mode = "rmii"; |
| 201 | ++ |
| 202 | ++ pinctrl-names = "default"; |
| 203 | ++ pinctrl-0 = <&pinctrl_rmii1_default>; |
| 204 | ++}; |
| 205 | ++ |
| 206 | ++&mac1 { |
| 207 | ++ status = "okay"; |
| 208 | ++ use-ncsi; |
| 209 | ++ phy-mode = "rmii"; |
| 210 | ++ |
| 211 | ++ pinctrl-names = "default"; |
| 212 | ++ pinctrl-0 = <&pinctrl_rmii0_default>; |
| 213 | ++}; |
| 214 | ++ |
| 215 | ++&syscon1 { |
| 216 | ++ assigned-clocks = <&syscon1 SCU1_CLK_MACHCLK>, |
| 217 | ++ <&syscon1 SCU1_CLK_RGMII>, |
| 218 | ++ <&syscon1 SCU1_CLK_RMII>; |
| 219 | ++ assigned-clock-rates = <200000000>, <125000000>, <50000000>; |
| 220 | ++}; |
| 221 | ++ |
| 222 | ++&espi0 { |
| 223 | ++ status = "okay"; |
| 224 | ++ perif-dma-mode; |
| 225 | ++ perif-mmbi-enable; |
| 226 | ++ perif-mmbi-src-addr = <0x0 0xa8000000>; |
| 227 | ++ perif-mmbi-tgt-memory = <&espi0_mmbi_memory>; |
| 228 | ++ perif-mmbi-instance-num = <0x1>; |
| 229 | ++ perif-mcyc-enable; |
| 230 | ++ perif-mcyc-src-addr = <0x0 0x98000000>; |
| 231 | ++ perif-mcyc-size = <0x0 0x10000>; |
| 232 | ++ oob-dma-mode; |
| 233 | ++ flash-dma-mode; |
| 234 | ++}; |
| 235 | ++ |
| 236 | ++&lpc0_kcs3 { |
| 237 | ++ status = "okay"; |
| 238 | ++ kcs-io-addr = <0xca2>; |
| 239 | ++ kcs-channel = <3>; |
| 240 | ++}; |
| 241 | ++ |
| 242 | ++&lpc0_snoop { |
| 243 | ++ status = "okay"; |
| 244 | ++ snoop-ports = <0x80>, <0x81>; |
| 245 | ++}; |
| 246 | ++ |
| 247 | ++&rtc { |
| 248 | ++ status = "okay"; |
| 249 | ++}; |
| 250 | ++ |
| 251 | ++&i2c5 { |
| 252 | ++ status = "okay"; |
| 253 | ++}; |
| 254 | ++ |
| 255 | ++&i2c6 { |
| 256 | ++ status = "okay"; |
| 257 | ++}; |
| 258 | ++ |
| 259 | ++&i2c7 { |
| 260 | ++ status = "okay"; |
| 261 | ++}; |
| 262 | ++ |
| 263 | ++&i2c8 { |
| 264 | ++ status = "okay"; |
| 265 | ++}; |
| 266 | ++ |
| 267 | ++&i2c9 { |
| 268 | ++ status = "okay"; |
| 269 | ++}; |
| 270 | ++ |
| 271 | ++&i2c10 { |
| 272 | ++ status = "okay"; |
| 273 | ++}; |
| 274 | ++ |
| 275 | ++&i2c11 { |
| 276 | ++ status = "okay"; |
| 277 | ++ |
| 278 | ++ eeprom@50 { |
| 279 | ++ compatible = "atmel,24c512"; |
| 280 | ++ reg = <0x50>; |
| 281 | ++ }; |
| 282 | ++}; |
| 283 | ++ |
| 284 | ++&i2c13 { |
| 285 | ++ status = "okay"; |
| 286 | ++ |
| 287 | ++ eeprom@56 { |
| 288 | ++ compatible = "atmel,24c04"; |
| 289 | ++ reg = <0x56>; |
| 290 | ++ }; |
| 291 | ++}; |
| 292 | ++ |
| 293 | ++&i2c14 { |
| 294 | ++ status = "okay"; |
| 295 | ++}; |
| 296 | ++ |
| 297 | ++&i2c15 { |
| 298 | ++ status = "okay"; |
| 299 | ++}; |
| 300 | ++ |
| 301 | ++&vhuba0 { |
| 302 | ++ status = "okay"; |
| 303 | ++}; |
| 304 | ++ |
| 305 | ++&vhubb0 { |
| 306 | ++ status = "okay"; |
| 307 | ++}; |
| 308 | ++ |
| 309 | ++&wdt0 { |
| 310 | ++ status = "okay"; |
| 311 | ++}; |
| 312 | ++ |
| 313 | ++&wdt1 { |
| 314 | ++ status = "okay"; |
| 315 | ++}; |
| 316 | ++ |
| 317 | ++#if 0 |
| 318 | ++&otp { |
| 319 | ++ status = "okay"; |
| 320 | ++}; |
| 321 | ++#endif |
| 322 | ++ |
| 323 | ++&gpio1 { |
| 324 | ++ gpio-line-names = |
| 325 | ++ /*A0-A7*/ "","","","","","","","", |
| 326 | ++ /*B0-B7*/ "","","","","","","","", |
| 327 | ++ /*C0-C7*/ "","","","","","","","", |
| 328 | ++ /*D0-D7*/ "CPLD_UPGRADE_TDO","CPLD_UPGRADE_TMS","CPLD_UPGRADE_TCK","CPLD_UPGRADE_TDI","BMC_CPLD_UPGRADE","","","", |
| 329 | ++ /*E0-E7*/ "","","","","CPUBMC_SPIMUX_SEL","","","", |
| 330 | ++ /*F0-F7*/ "","","","","","","","", |
| 331 | ++ /*G0-G7*/ "","","","","","","","", |
| 332 | ++ /*H0-H7*/ "","","","","","","","", |
| 333 | ++ /*I0-I7*/ "","","","","","","","", |
| 334 | ++ /*J0-J7*/ "","","","","","","","", |
| 335 | ++ /*K0-K7*/ "","","","","","","","", |
| 336 | ++ /*L0-L7*/ "","","","","","","","", |
| 337 | ++ /*M0-M7*/ "","","","","","","","", |
| 338 | ++ /*N0-N7*/ "","","","","","","","", |
| 339 | ++ /*O0-O7*/ "","","","","","","","", |
| 340 | ++ /*P0-P7*/ "","","","","","","","", |
| 341 | ++ /*Q0-Q7*/ "","","BMC_MNTRST","BMC_MTCK","BMC_MTMS","BMC_MTDI","BMC_MTDO","", |
| 342 | ++ /*R0-R7*/ "","","","","","","","", |
| 343 | ++ /*S0-S7*/ "","","","","","","","", |
| 344 | ++ /*T0-T7*/ "","","","","","","","", |
| 345 | ++ /*U0-U7*/ "","","","","","","","", |
| 346 | ++ /*V0-V7*/ "","","","","","","","", |
| 347 | ++ /*W0-W7*/ "","","","","","","","", |
| 348 | ++ /*X0-X7*/ "","","","","","","","", |
| 349 | ++ /*Y0-Y7*/ "","","","","","","","", |
| 350 | ++ /*Z0-Z7*/ "","","","","","","","", |
| 351 | ++ /*AA0-AA7*/ "","","","","","","","", |
| 352 | ++ /*AB0-AB7*/ "","","","","","","","", |
| 353 | ++ /*AC0-AC7*/ "","","","","","","","", |
| 354 | ++ /*AD0-AD7*/ "","","","","","","","", |
| 355 | ++ /*AE0-AE7*/ "","","","","","","",""; |
| 356 | ++}; |
| 357 | ++ |
| 358 | ++&emmc_controller { |
| 359 | ++ status = "okay"; |
| 360 | ++}; |
| 361 | ++ |
| 362 | ++&emmc { |
| 363 | ++ status = "okay"; |
| 364 | ++ bus-width = <8>; |
| 365 | ++ pinctrl-0 = <&pinctrl_emmcg8_default>; |
| 366 | ++ non-removable; |
| 367 | ++ max-frequency = <26000000>; |
| 368 | ++}; |
| 369 | +-- |
| 370 | +2.25.1 |
| 371 | + |
0 commit comments