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

ARM: dts: aspeed: greatlakes: Add Facebook greatlakes (AST2600) BMC

Add linux device tree entry related to
greatlakes specific devices connected to BMC SoC.

Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@Wiwynn.com>
Link: https://lore.kernel.org/r/20221111034828.2377-3-Delphine_CC_Chiu@Wiwynn.com
Signed-off-by: Joel Stanley <joel@jms.id.au>

authored by

Delphine CC Chiu and committed by
Joel Stanley
c3769d87 abe38831

+242
+1
arch/arm/boot/dts/Makefile
··· 1605 1605 aspeed-bmc-facebook-elbert.dtb \ 1606 1606 aspeed-bmc-facebook-fuji.dtb \ 1607 1607 aspeed-bmc-facebook-galaxy100.dtb \ 1608 + aspeed-bmc-facebook-greatlakes.dtb \ 1608 1609 aspeed-bmc-facebook-minipack.dtb \ 1609 1610 aspeed-bmc-facebook-tiogapass.dtb \ 1610 1611 aspeed-bmc-facebook-wedge40.dtb \
+241
arch/arm/boot/dts/aspeed-bmc-facebook-greatlakes.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later 2 + // Copyright 2022 Facebook Inc. 3 + 4 + /dts-v1/; 5 + #include "aspeed-g6.dtsi" 6 + #include <dt-bindings/gpio/aspeed-gpio.h> 7 + #include <dt-bindings/leds/leds-pca955x.h> 8 + #include <dt-bindings/i2c/i2c.h> 9 + 10 + / { 11 + model = "Facebook Greatlakes BMC"; 12 + compatible = "facebook,greatlakes-bmc", "aspeed,ast2600"; 13 + 14 + aliases { 15 + serial4 = &uart5; 16 + }; 17 + 18 + memory@80000000 { 19 + device_type = "memory"; 20 + reg = <0x80000000 0x80000000>; 21 + }; 22 + 23 + iio-hwmon { 24 + compatible = "iio-hwmon"; 25 + io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>, 26 + <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>, 27 + <&adc1 0>, <&adc1 2>, <&adc1 3>, <&adc1 4>, 28 + <&adc1 5>, <&adc1 6>; 29 + }; 30 + }; 31 + 32 + &uart1 { 33 + status = "okay"; 34 + }; 35 + 36 + &uart2 { 37 + status = "okay"; 38 + }; 39 + 40 + &uart3 { 41 + status = "okay"; 42 + }; 43 + 44 + &uart4 { 45 + status = "okay"; 46 + }; 47 + 48 + &uart5 { 49 + status = "okay"; 50 + }; 51 + 52 + &wdt1 { 53 + status = "okay"; 54 + pinctrl-names = "default"; 55 + pinctrl-0 = <&pinctrl_wdtrst1_default>; 56 + aspeed,reset-type = "soc"; 57 + aspeed,external-signal; 58 + aspeed,ext-push-pull; 59 + aspeed,ext-active-high; 60 + aspeed,ext-pulse-duration = <256>; 61 + }; 62 + 63 + &mac3 { 64 + status = "okay"; 65 + pinctrl-names = "default"; 66 + pinctrl-0 = <&pinctrl_rmii4_default>; 67 + no-hw-checksum; 68 + use-ncsi; 69 + mlx,multi-host; 70 + ncsi-ctrl,start-redo-probe; 71 + ncsi-ctrl,no-channel-monitor; 72 + ncsi-package = <1>; 73 + ncsi-channel = <1>; 74 + ncsi-rexmit = <1>; 75 + ncsi-timeout = <2>; 76 + }; 77 + 78 + &rtc { 79 + status = "okay"; 80 + }; 81 + 82 + &fmc { 83 + status = "okay"; 84 + flash@0 { 85 + status = "okay"; 86 + m25p,fast-read; 87 + label = "bmc"; 88 + spi-rx-bus-width = <4>; 89 + spi-max-frequency = <50000000>; 90 + #include "openbmc-flash-layout-64.dtsi" 91 + }; 92 + flash@1 { 93 + status = "okay"; 94 + m25p,fast-read; 95 + label = "bmc2"; 96 + spi-rx-bus-width = <4>; 97 + spi-max-frequency = <50000000>; 98 + }; 99 + }; 100 + 101 + &i2c0 { 102 + status = "okay"; 103 + multi-master; 104 + ipmb@10 { 105 + compatible = "ipmb-dev"; 106 + reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 107 + i2c-protocol; 108 + }; 109 + }; 110 + 111 + &i2c1 { 112 + status = "okay"; 113 + multi-master; 114 + ipmb@10 { 115 + compatible = "ipmb-dev"; 116 + reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 117 + i2c-protocol; 118 + }; 119 + }; 120 + 121 + &i2c2 { 122 + status = "okay"; 123 + multi-master; 124 + ipmb@10 { 125 + compatible = "ipmb-dev"; 126 + reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 127 + i2c-protocol; 128 + }; 129 + }; 130 + 131 + &i2c3 { 132 + status = "okay"; 133 + multi-master; 134 + ipmb@10 { 135 + compatible = "ipmb-dev"; 136 + reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 137 + i2c-protocol; 138 + }; 139 + }; 140 + 141 + &i2c4 { 142 + status = "okay"; 143 + }; 144 + 145 + &i2c5 { 146 + status = "okay"; 147 + }; 148 + 149 + &i2c6 { 150 + status = "okay"; 151 + }; 152 + 153 + &i2c7 { 154 + status = "okay"; 155 + }; 156 + 157 + &i2c8 { 158 + status = "okay"; 159 + temperature-sensor@1f { 160 + compatible = "ti,tmp421"; 161 + reg = <0x1f>; 162 + }; 163 + // NIC EEPROM 164 + eeprom@50 { 165 + compatible = "st,24c32"; 166 + reg = <0x50>; 167 + }; 168 + }; 169 + 170 + &i2c9 { 171 + status = "okay"; 172 + multi-master; 173 + ipmb@10 { 174 + compatible = "ipmb-dev"; 175 + reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 176 + i2c-protocol; 177 + }; 178 + }; 179 + 180 + &i2c10 { 181 + status = "okay"; 182 + }; 183 + 184 + &i2c11 { 185 + status = "okay"; 186 + eeprom@51 { 187 + compatible = "atmel,24c128"; 188 + reg = <0x51>; 189 + }; 190 + eeprom@54 { 191 + compatible = "atmel,24c128"; 192 + reg = <0x54>; 193 + }; 194 + }; 195 + 196 + &i2c12 { 197 + status = "okay"; 198 + temperature-sensor@4f { 199 + compatible = "lm75"; 200 + reg = <0x4f>; 201 + }; 202 + }; 203 + 204 + &i2c13 { 205 + status = "okay"; 206 + }; 207 + 208 + &adc0 { 209 + ref_voltage = <2500>; 210 + status = "okay"; 211 + pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default 212 + &pinctrl_adc2_default &pinctrl_adc3_default 213 + &pinctrl_adc4_default &pinctrl_adc5_default 214 + &pinctrl_adc6_default &pinctrl_adc7_default>; 215 + }; 216 + 217 + &adc1 { 218 + ref_voltage = <2500>; 219 + status = "okay"; 220 + pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc10_default 221 + &pinctrl_adc11_default &pinctrl_adc12_default 222 + &pinctrl_adc13_default &pinctrl_adc14_default>; 223 + }; 224 + 225 + 226 + &ehci0 { 227 + status = "okay"; 228 + }; 229 + 230 + &ehci1 { 231 + status = "okay"; 232 + }; 233 + 234 + &uhci { 235 + status = "okay"; 236 + }; 237 + 238 + &gpio0 { 239 + pinctrl-names = "default"; 240 + pinctrl-0 = <&pinctrl_gpiu1_default &pinctrl_gpiu7_default>; 241 + };