[PATCH v2 linux dev-5.3 4/4] ARM: dts: aspeed: add Rainier system
Brad Bishop
bradleyb at fuzziesquirrel.com
Wed Sep 25 05:53:56 AEST 2019
at 3:25 AM, Andrew Jeffery <andrew at aj.id.au> wrote:
>
>
> On Fri, 20 Sep 2019, at 00:53, Brad Bishop wrote:
>> Rainier is a new Power system with an AST2600.
>>
>> Signed-off-by: Brad Bishop <bradleyb at fuzziesquirrel.com>
>> ---
>> v2:
>> - reordered rainier DT elements (alphabetized).
>> - added rainier rtc, lpc-ctl, reserved memory, mac devices
>> ---
>> arch/arm/boot/dts/Makefile | 3 +-
>> arch/arm/boot/dts/aspeed-bmc-opp-rainier.dts | 485 +++++++++++++++++++
>> 2 files changed, 487 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm/boot/dts/aspeed-bmc-opp-rainier.dts
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 5af075c2f819..2f81a4be50a8 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -1293,4 +1293,5 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
>> aspeed-bmc-opp-witherspoon.dtb \
>> aspeed-bmc-opp-zaius.dtb \
>> aspeed-bmc-portwell-neptune.dtb \
>> - aspeed-bmc-quanta-q71l.dtb
>> + aspeed-bmc-quanta-q71l.dtb \
>> + aspeed-bmc-opp-rainier.dtb
>
> Rainier isn't an OpenPOWER Platform so we should drop the 'opp' or
> potentially substitute it with 'ibm' ("aspeed-bmc-ibm-rainier.dtb”).
I wondered about this. Renamed to aspeed-bmc-ibm-rainier in v3.
>
>> diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-rainier.dts
>> b/arch/arm/boot/dts/aspeed-bmc-opp-rainier.dts
>> new file mode 100644
>> index 000000000000..5f45b1effe4a
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/aspeed-bmc-opp-rainier.dts
>> @@ -0,0 +1,485 @@
>> +// SPDX-License-Identifier: GPL-2.0-or-later
>> +// Copyright 2019 IBM Corp.
>> +/dts-v1/;
>> +
>> +#include "aspeed-g6.dtsi"
>> +
>> +/ {
>> + model = "Rainier";
>> + compatible = "ibm,rainier-bmc", "aspeed,ast2600";
>> +
>> + aliases {
>> + serial4 = &uart5;
>> + };
>> +
>> + chosen {
>> + stdout-path = &uart5;
>> + bootargs = "console=ttyS4,115200n8";
>> + };
>> +
>> + memory at 80000000 {
>> + device_type = "memory";
>> + reg = <0x80000000 0x80000000>;
>
> Do we have 2GiB? According to the schematic I have it should be 1GiB.
> My schematic could be out of date though.
You are correct - changed to 1GB in v3.
>
>> + };
>> +
>> + reserved-memory {
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + ranges;
>> +
>> + flash_memory: region at 98000000 {
>> + no-map;
>> + reg = <0x98000000 0x04000000>; /* 64M */
>
> That's a strange place to put it given we have much more memory :) We
> picked that address for the AST2500-based OPP systems because it's
> the lowest usable address below the VGA region. If we have more RAM
> then we should move it up.
Moved to 0xbb000000 in v3.
>
>> + };
>> + };
>> +
>> +};
>> +
>> +&emmc_controller {
>> + status = "okay";
>> +};
>> +
>> +&emmc {
>> + status = "okay";
>> +};
>> +
>> +&fsim0 {
>> + status = "okay";
>> +};
>> +
>> +&ibt {
>> + status = "okay";
>> +};
>> +
>> +&i2c0 {
>> + status = "okay";
>> +};
>> +
>> +&i2c1 {
>> + status = "okay";
>> +};
>> +
>> +&i2c2 {
>> + status = "okay";
>> +};
>> +
>> +&i2c3 {
>> + status = "okay";
>> +
>> + power-supply at 68 {
>> + compatible = "ibm,cffps2";
>> + reg = <0x68>;
>> + };
>> +
>> + power-supply at 69 {
>> + compatible = "ibm,cffps2";
>> + reg = <0x69>;
>> + };
>> +
>> + power-supply at 6a {
>> + compatible = "ibm,cffps2";
>> + reg = <0x6a>;
>> + };
>> +
>> + power-supply at 6b {
>> + compatible = "ibm,cffps2";
>> + reg = <0x6b>;
>> + };
>> +};
>> +
>> +&i2c4 {
>> + status = "okay";
>> +
>> + tmp275 at 48 {
>> + compatible = "ti,tmp275";
>> + reg = <0x48>;
>> + };
>> +
>> + tmp275 at 49 {
>> + compatible = "ti,tmp275";
>> + reg = <0x49>;
>> + };
>> +
>> + tmp275 at 4a {
>> + compatible = "ti,tmp275";
>> + reg = <0x4a>;
>> + };
>> +};
>> +
>> +&i2c5 {
>> + status = "okay";
>> +
>> + tmp275 at 48 {
>> + compatible = "ti,tmp275";
>> + reg = <0x48>;
>> + };
>> +
>> + tmp275 at 49 {
>> + compatible = "ti,tmp275";
>> + reg = <0x49>;
>> + };
>> +};
>> +
>> +&i2c6 {
>> + status = "okay";
>> +
>> + tmp275 at 48 {
>> + compatible = "ti,tmp275";
>> + reg = <0x48>;
>> + };
>> +
>> + tmp275 at 4a {
>> + compatible = "ti,tmp275";
>> + reg = <0x4a>;
>> + };
>> +
>> + tmp275 at 4b {
>> + compatible = "ti,tmp275";
>> + reg = <0x4b>;
>> + };
>> +};
>> +
>> +&i2c7 {
>> + status = "okay";
>> +
>> + si7021-a20 at 20 {
>> + compatible = "silabs,si7020";
>> + reg = <0x20>;
>> + };
>> +
>> + tmp275 at 48 {
>> + compatible = "ti,tmp275";
>> + reg = <0x48>;
>> + };
>> +
>> + max31785 at 52 {
>> + compatible = "maxim,max31785a";
>> + reg = <0x52>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + fan at 0 {
>> + compatible = "pmbus-fan";
>> + reg = <0>;
>> + tach-pulses = <2>;
>> + maxim,fan-rotor-input = "tach";
>> + maxim,fan-pwm-freq = <25000>;
>> + maxim,fan-dual-tach;
>> + maxim,fan-no-watchdog;
>> + maxim,fan-no-fault-ramp;
>> + maxim,fan-ramp = <2>;
>> + maxim,fan-fault-pin-mon;
>> + };
>> +
>> + fan at 1 {
>> + compatible = "pmbus-fan";
>> + reg = <1>;
>> + tach-pulses = <2>;
>> + maxim,fan-rotor-input = "tach";
>> + maxim,fan-pwm-freq = <25000>;
>> + maxim,fan-dual-tach;
>> + maxim,fan-no-watchdog;
>> + maxim,fan-no-fault-ramp;
>> + maxim,fan-ramp = <2>;
>> + maxim,fan-fault-pin-mon;
>> + };
>> +
>> + fan at 2 {
>> + compatible = "pmbus-fan";
>> + reg = <2>;
>> + tach-pulses = <2>;
>> + maxim,fan-rotor-input = "tach";
>> + maxim,fan-pwm-freq = <25000>;
>> + maxim,fan-dual-tach;
>> + maxim,fan-no-watchdog;
>> + maxim,fan-no-fault-ramp;
>> + maxim,fan-ramp = <2>;
>> + maxim,fan-fault-pin-mon;
>> + };
>> +
>> + fan at 3 {
>> + compatible = "pmbus-fan";
>> + reg = <3>;
>> + tach-pulses = <2>;
>> + maxim,fan-rotor-input = "tach";
>> + maxim,fan-pwm-freq = <25000>;
>> + maxim,fan-dual-tach;
>> + maxim,fan-no-watchdog;
>> + maxim,fan-no-fault-ramp;
>> + maxim,fan-ramp = <2>;
>> + maxim,fan-fault-pin-mon;
>> + };
>> + };
>> +
>> + pca0: pca9552 at 60 {
>> + compatible = "nxp,pca9552";
>> + reg = <0x60>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + gpio-controller;
>> + #gpio-cells = <2>;
>> +
>> + gpio at 0 {
>> + reg = <0>;
>> + };
>> +
>> + gpio at 1 {
>> + reg = <1>;
>> + };
>> +
>> + gpio at 2 {
>> + reg = <2>;
>> + };
>> +
>> + gpio at 3 {
>> + reg = <3>;
>> + };
>> +
>> + gpio at 4 {
>> + reg = <4>;
>> + };
>> +
>> + gpio at 5 {
>> + reg = <5>;
>> + };
>> +
>> + gpio at 6 {
>> + reg = <6>;
>> + };
>> +
>> + gpio at 7 {
>> + reg = <7>;
>> + };
>> +
>> + gpio at 8 {
>> + reg = <8>;
>> + };
>> +
>> + gpio at 9 {
>> + reg = <9>;
>> + };
>> +
>> + gpio at 10 {
>> + reg = <10>;
>> + };
>> +
>> + gpio at 11 {
>> + reg = <11>;
>> + };
>> +
>> + gpio at 12 {
>> + reg = <12>;
>> + };
>> +
>> + gpio at 13 {
>> + reg = <13>;
>> + };
>> +
>> + gpio at 14 {
>> + reg = <14>;
>> + };
>> +
>> + gpio at 15 {
>> + reg = <15>;
>> + };
>> + };
>> +
>> + dps: dps310 at 76 {
>> + compatible = "infineon,dps310";
>> + reg = <0x76>;
>> + #io-channel-cells = <0>;
>> + };
>> +};
>> +
>> +&i2c8 {
>> + status = "okay";
>> +
>> + ucd90320 at b {
>> + compatible = "ti,ucd90160";
>> + reg = <0x0b>;
>> + };
>> +
>> + ucd90320 at c {
>> + compatible = "ti,ucd90160";
>> + reg = <0x0c>;
>> + };
>> +
>> + ucd90320 at 11 {
>> + compatible = "ti,ucd90160";
>> + reg = <0x11>;
>> + };
>> +
>> + rtc at 32 {
>> + compatible = "epson,rx8900";
>> + reg = <0x32>;
>> + };
>> +
>> + tmp275 at 48 {
>> + compatible = "ti,tmp275";
>> + reg = <0x48>;
>> + };
>> +
>> + tmp275 at 4a {
>> + compatible = "ti,tmp275";
>> + reg = <0x4a>;
>> + };
>> +};
>> +
>> +&i2c9 {
>> + status = "okay";
>> +
>> + ir35221 at 42 {
>> + compatible = "infineon,ir35221";
>> + reg = <0x42>;
>> + };
>> +
>> + ir35221 at 43 {
>> + compatible = "infineon,ir35221";
>> + reg = <0x43>;
>> + };
>> +
>> + ir35221 at 44 {
>> + compatible = "infineon,ir35221";
>> + reg = <0x44>;
>> + };
>> +
>> + tmp423a at 4c {
>> + compatible = "ti,tmp423";
>> + reg = <0x4c>;
>> + };
>> +
>> + tmp423b at 4d {
>> + compatible = "ti,tmp423";
>> + reg = <0x4d>;
>> + };
>> +
>> + ir35221 at 72 {
>> + compatible = "infineon,ir35221";
>> + reg = <0x72>;
>> + };
>> +
>> + ir35221 at 73 {
>> + compatible = "infineon,ir35221";
>> + reg = <0x73>;
>> + };
>> +
>> + ir35221 at 74 {
>> + compatible = "infineon,ir35221";
>> + reg = <0x74>;
>> + };
>> +};
>> +
>> +&i2c10 {
>> + status = "okay";
>> +
>> + ir35221 at 42 {
>> + compatible = "infineon,ir35221";
>> + reg = <0x42>;
>> + };
>> +
>> + ir35221 at 43 {
>> + compatible = "infineon,ir35221";
>> + reg = <0x43>;
>> + };
>> +
>> + ir35221 at 44 {
>> + compatible = "infineon,ir35221";
>> + reg = <0x44>;
>> + };
>> +
>> + tmp423a at 4c {
>> + compatible = "ti,tmp423";
>> + reg = <0x4c>;
>> + };
>> +
>> + tmp423b at 4d {
>> + compatible = "ti,tmp423";
>> + reg = <0x4d>;
>> + };
>> +
>> + ir35221 at 72 {
>> + compatible = "infineon,ir35221";
>> + reg = <0x72>;
>> + };
>> +
>> + ir35221 at 73 {
>> + compatible = "infineon,ir35221";
>> + reg = <0x73>;
>> + };
>> +
>> + ir35221 at 74 {
>> + compatible = "infineon,ir35221";
>> + reg = <0x74>;
>> + };
>> +};
>> +
>> +&i2c11 {
>> + status = "okay";
>> +
>> + tmp275 at 48 {
>> + compatible = "ti,tmp275";
>> + reg = <0x48>;
>> + };
>> +
>> + tmp275 at 49 {
>> + compatible = "ti,tmp275";
>> + reg = <0x49>;
>> + };
>> +};
>> +
>> +&i2c12 {
>> + status = "okay";
>> +};
>> +
>> +&i2c13 {
>> + status = "okay";
>> +};
>> +
>> +&i2c14 {
>> + status = "okay";
>> +};
>> +
>> +&i2c15 {
>> + status = "okay";
>> +};
>
> It might be worth splitting out the i2c bits as the support isn't yet
> upstream.
split out in v3.
>
>> +
>> +&lpc_ctrl {
>> + status = "okay";
>> + memory-region = <&flash_memory>;
>> + flash = <&spi1>;
>
> Drop the flash property as we won't be using that.
dropped in v3.
>
>> +};
>> +
>> +&mac0 {
>> + status = "okay";
>> +};
>> +
>> +&mac1 {
>> + status = "okay";
>> +};
>> +
>> +&mac2 {
>> + status = "okay";
>> +};
>> +
>> +&mac3 {
>> + status = "okay";
>> +};
>
> Only MACs 3 and 4 are connected. Both should also have use-ncsi and request
> the RMII pinmux.
dropped 1 & 2, selected use-ncsi, and requested RMII pinmux in v3.
>
>> +
>> +&sdc {
>> + status = "okay";
>> +};
>> +
>> +&sdhci0 {
>> + status = "okay";
>> +
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_sd1_default>;
>> +};
>> +
>> +&sdhci1 {
>> + status = "okay";
>> +
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_sd2_default>;
>> +};
>
> We're only using the eMMC controller (i.e. neither of the two SD slots),
> so we shouldn't be enabling these.
dropped in v3.
>
> Andrew
More information about the openbmc
mailing list