Create new platform for arm system

Lei YU mine260309 at gmail.com
Fri Nov 10 14:00:37 AEDT 2017


Hi Ken,

It's good to know OpenBMC will be working on an ARM system.

To submit patches, I would suggest follow how other machines enters OpenBMC.
E.g. meta-openbmc-machines/meta-x86/meta-quanta.

You can use `git log` command to get the commit log, and see how the machine
is added into OpenBMC project.
E.g.
```
git log --oneline meta-openbmc-machines/meta-x86/meta-quanta
...
a1bc1d2 Add basic quanta-q7l1 obmc image recipe.
bfe9b60 Add sensor and some FRU definitions for ipmi.
b36c004 quanta-q71l package for controlling the SPI master.
5327795 quanta-q71l: add phosphor-hwmon configs
b7975ed quanta-q71l: initial machine support
```

You can try to split your commit into separated smaller commits as quanta-q71l,
and then submit your changes.

Thanks!

--
BRs,
Lei YU

On Thu, Nov 9, 2017 at 1:53 PM, Chen.KenYY 陳永營 TAO
<Chen.KenYY at inventec.com> wrote:
> Hi all,
>
>
>
> I have a platform which is arm system.
>
> My customer want to update the platform code to openBMC.
>
> For now, the code structure as below.
>
> meta-arm/
>
> ├── common
>
> │   └── recipes-phosphor
>
> │       ├── dbus
>
> │       │   ├── openpower-dbus-interfaces.bb
>
> │       │   ├── openpower-dbus-interfaces-mapper-config-native.bb
>
> │       │   └── phosphor-mapper-config-native%.bbappend
>
> │       ├── debug
>
> │       │   ├── openpower-debug-collector
>
> │       │   │   ├── openpower-debug-collector-checkstop at .service
>
> │       │   │   └── openpower-debug-collector-watchdog at .service
>
> │       │   ├── openpower-debug-collector.bb
>
> │       │   ├── openpower-debug-collector-error-native.bb
>
> │       │   ├── openpower-debug-collector.inc
>
> │       │   └── phosphor-logging-error-logs-native.bbappend
>
> │       ├── ipmi
>
> │       │   ├── hostboot-inventory-config
>
> │       │   │   └── config.yaml
>
> │       │   ├── hostboot-inventory-config-native.bb
>
> │       │   ├── openpower-ipmi-oem.bb
>
> │       │   ├── openpower-ipmi-oem-whitelist
>
> │       │   │   └── openpower-ipmi-oem-whitelist-native.conf
>
> │       │   └── openpower-ipmi-oem-whitelist-native.bb
>
> │       └── packagegroups
>
> │           ├── packagegroup-obmc-apps.bbappend
>
> │           ├── packagegroup-obmc-ipmid-providers.bbappend
>
> │           ├── packagegroup-obmc-phosphor-debugtools.bbappend
>
> │           └── packagegroup-op-apps.bb
>
> ├── conf
>
> │   ├── layer.conf
>
> │   └── machine
>
> │       └── include
>
> │           └── arm.inc
>
> ├── COPYING.apache-2.0
>
> ├── COPYING.MIT
>
> ├── LICENSE
>
> └── meta-qualcomm
>
>     ├── conf
>
>     │   ├── layer.conf
>
>     │   └── machine
>
>     │       └── include
>
>     │           └── qualcomm.inc
>
>     ├── meta-2400-rep
>
>     │   ├── conf
>
>     │   │   ├── bblayers.conf.sample
>
>     │   │   ├── conf-notes.txt
>
>     │   │   ├── layer.conf
>
>     │   │   ├── local.conf.sample
>
>     │   │   └── machine
>
>     │   │       └── 2400-rep.conf
>
>     │   ├── recipes-bsp
>
>     │   │   └── u-boot
>
>     │   │       ├── u-boot
>
>     │   │       │   └──
> 0001-Centriq2400-REP-platform-board-initial-Ethernet-Phy-reset.patch
>
>     │   │       └── u-boot_%.bbappend
>
>     │   ├── recipes-kernel
>
>     │   │   └── linux
>
>     │   │       ├── linux-obmc
>
>     │   │       │   ├──
> 0001-2400REP-Add-GPIOC7-config-for-host-spi-rom-init.patch
>
>     │   │       │   ├── 0001-Add-driver-for-PCA9641-Arbitration.patch
>
>     │   │       │   ├── 0001-Driver-Add-DS1100-driver-for-PMBUS.patch
>
>    │   │       │   ├── 0001-driver-add-IR38613-driver.patch
>
>     │   │       │   ├── 0001-Driver-Modify-fan-driver.patch
>
>     │   │       │   ├──
> 0001-Enabling-temp-monitoring-by-default-on-adm1278.patch
>
>     │   │       │   ├──
> 0001-Migrate-the-JTAG-driver-from-the-BSP-from-Aspeed.patch
>
>     │   │       │   ├── 0001-PMBUS-modify-pmbus.patch
>
>     │   │       │   ├── 0001-spi-add-aspeed-spi-generic-driver.patch
>
>     │   │       │   ├── 0001-spi-Add-centriq-2400-spi-hwmon-driver.patch
>
>     │   │       │   ├── 0002-driver-add-PXM1310-driver.patch
>
>     │   │       │   ├── 0002-PMBUS-modify-pmbus.patch
>
>     │   │       │   ├── 0003-thermal-sensor-NVT210.patch
>
>     │   │       │   ├── 2400rep.cfg
>
>     │   │       │   ├── aspeed-bmc-arm-2400-rep.dts
>
>     │   │       │   └── v3-0001-Add-SSIF-driver-for-I2C-slave-device.patch
>
>     │   │       └── linux-obmc_%.bbappend
>
>     │   ├── recipes-phosphor
>
>     │   │   ├── bootmodeutil
>
>     │   │   │   ├── bootmodeutil.bb
>
>     │   │   │   └── files
>
>     │   │   │       ├── BOOTMODEFILE
>
>     │   │   │       └── bootmodeutil.c
>
>     │   │   ├── chassis
>
>     │   │   │   ├── ir38163-workaround
>
>     │   │   │   │   ├── ir38163_workaround.sh
>
>     │   │   │   │   ├── ir-add at .service
>
>     │   │   │   │   └── ir-remove at .service
>
>     │   │   │   └── ir38163-workaround.bb
>
>     │   │   ├── console
>
>     │   │   │   ├── obmc-console
>
>     │   │   │   │   └── obmc-console.conf
>
>     │   │   │   └── obmc-console.bbappend
>
>     │   │   ├── cpld
>
>     │   │   │   ├── cpld-fwupdate
>
>     │   │   │   │   ├── ast-jtag.c
>
>     │   │   │   │   ├── ast-jtag.h
>
>     │   │   │   │   ├── lattice.c
>
>     │   │   │   │   ├── lattice.h
>
>     │   │   │   │   └── main.c
>
>     │   │   │   ├── cpld-fwupdate.bb
>
>     │   │   │   ├── cpld-version
>
>     │   │   │   │   ├── cpld-version.service
>
>     │   │   │   │   └── cpld_version.sh
>
>     │   │   │   └── cpld-version.bb
>
>     │   │   ├── gpioinit
>
>     │   │   │   ├── files
>
>     │   │   │   │   ├── gpioinit.c
>
>     │   │   │   │   └── gpioinit.service
>
>     │   │   │   └── gpioinit.bb
>
>     │   │   ├── ipmi
>
>     │   │   │   ├── 2400-rep-ipmi-inventory-map
>
>     │   │   │   │   └── config.yaml
>
>     │   │   │   ├── 2400-rep-ipmi-inventory-map-native.bb
>
>     │   │   │   ├── openpower-ipmi-oem
>
>     │   │   │   │   ├── 0001-Add-detection-of-broad-and-node-command.patch
>
>     │   │   │   │   ├── 0001-Add-Get-BMC-Vendor-ID-command.patch
>
>     │   │   │   │   ├── 0001-Add-Get-pcie-slot-status-command.patch
>
>     │   │   │   │   └── 0001-Add-Send-Soc-MAC-from-host.patch
>
>     │   │   │   ├── openpower-ipmi-oem.bbappend
>
>     │   │   │   ├── phosphor-ipmi-bt
>
>     │   │   │   │   ├── 0001-btbrigde-to-ssif-slave.patch
>
>     │   │   │   │   └── 0001-Modify-btbridged-device-link.patch
>
>     │   │   │   ├── phosphor-ipmi-bt.bbappend
>
>     │   │   │   ├── phosphor-ipmi-fru-properties%
>
>     │   │   │   │   └── extra-properties.yaml
>
>     │   │   │   ├── phosphor-ipmi-fru-properties%.bbappend
>
>     │   │   │   ├── phosphor-ipmi-sensor-inventory%
>
>     │   │   │   │   └── config.yaml
>
>     │   │   │   └── phosphor-ipmi-sensor-inventory%.bbappend
>
>     │   │   ├── leds
>
>     │   │   │   ├── 2400-rep-led-manager-config
>
>     │   │   │   │   └── led.yaml
>
>     │   │   │   └── 2400-rep-led-manager-config-native.bb
>
>     │   │   ├── macsetup
>
>     │   │   │   ├── files
>
>     │   │   │   │   ├── macsetup.c
>
>     │   │   │   │   └── macsetup.service
>
>     │   │   │   └── macsetup.bb
>
>     │   │   ├── qspitest
>
>     │   │   │   ├── files
>
>     │   │   │   │   ├── qspi_test.c
>
>     │   │   │   │   └── qspi_test.h
>
>     │   │   │   └── qspitest.bb
>
>     │   │   ├── sensors
>
>     │   │   │   ├── phosphor-hwmon%
>
>     │   │   │   │   ├──
> 0001-phosphor-hwmon-fixed-open-system-file-timeout.patch
>
>     │   │   │   │   └── obmc
>
>     │   │   │   │       └── hwmon
>
>     │   │   │   │           └── ahb
>
>     │   │   │   │               ├── 1e631000.flash-controller
>
>     │   │   │   │               │   └── spi2 at 0
>
>     │   │   │   │               │       └── centriq2400-spi-hwmon at 0.conf
>
>     │   │   │   │               └── apb
>
>     │   │   │   │                   └── i2c at 1e78a000
>
>     │   │   │   │                       ├── i2c-bus at 180
>
>     │   │   │   │                       │   ├── ir38163 at 12.conf
>
>     │   │   │   │                       │   ├── ir38163 at 42.conf
>
>     │   │   │   │                       │   ├── ir38163 at 44.conf
>
>     │   │   │   │                       │   ├── ir38163 at 46.conf
>
>     │   │   │   │                       │   ├── ir38163 at 48.conf
>
>     │   │   │   │                       │   ├── pxm1310 at 02.conf
>
>     │   │   │   │                       │   └── pxm1310 at 04.conf
>
>     │   │   │   │                       ├── i2c-bus at 1c0
>
>     │   │   │   │                       │   ├── nvt210 at 4c.conf
>
>     │   │   │   │                       │   ├── tmp421 at 1d.conf
>
>     │   │   │   │                       │   ├── tmp421 at 1f.conf
>
>     │   │   │   │                       │   ├── tmp421 at 4d.conf
>
>     │   │   │   │                       │   └── tmp421 at 4f.conf
>
>     │   │   │   │                       ├── i2c-bus at 300
>
>     │   │   │   │                       │   ├── adm1278 at 10.conf
>
>     │   │   │   │                       │   └── adm1278 at 11.conf
>
>     │   │   │   │                       ├── i2c-bus at 340
>
>     │   │   │   │                       │   └── pca9641 at 70
>
>     │   │   │   │                       │       └── i2c-arb
>
>     │   │   │   │                       │           ├── adm1278 at 12.conf
>
>     │   │   │   │                       │           ├── ds1100 at 58.conf
>
>     │   │   │   │                       │           ├── max31790 at 20.conf
>
>     │   │   │   │                       │           ├── max31790 at 23.conf
>
>     │   │   │   │                       │           └── tmp421 at 1d.conf
>
>     │   │   │   │                       └── i2c-bus at 80
>
>     │   │   │   │                           ├── tmp421 at 1c.conf
>
>     │   │   │   │                           ├── tmp421 at 1e.conf
>
>     │   │   │   │                           ├── tmp421 at 2a.conf
>
>     │   │   │   │                           └── tmp421 at 4e.conf
>
>     │   │   │   └── phosphor-hwmon%.bbappend
>
>     │   │   ├── settings
>
>     │   │   │   ├── phosphor-settings
>
>     │   │   │   │   ├── powerpolicy-default-ALWAYS_POWER_ON.override.yml
>
>     │   │   │   │   └── timeowner-default-BOTH.override.yml
>
>     │   │   │   └── phosphor-settings.bbappend
>
>     │   │   ├── spitest
>
>     │   │   │   ├── files
>
>     │   │   │   │   └── spitest.c
>
>     │   │   │   └── spitest.bb
>
>     │   │   ├── thermalutil
>
>     │   │   │   ├── files
>
>     │   │   │   │   ├── thermal_control.sh
>
>     │   │   │   │   ├── thermal-start at .service
>
>     │   │   │   │   ├── thermal-stop at .service
>
>     │   │   │   │   └── thermalutil.c
>
>     │   │   │   └── thermalutil.bb
>
>     │   │   └── workbook
>
>     │   │       ├── 2400-rep-config
>
>     │   │       │   └── 2400-rep.py
>
>     │   │       └── 2400-rep-config.bb
>
>     │   └── recipes.txt
>
>     └── skeleton
>
>         └── skeleton.tar.gz
>
>
>
> Could anyone help to review this structure and tell me how to separate this
> code will be good to reviewer?
>
> As I know, the kernel patch should not in machine file.
>
>
>
> If any other question, please feel free to me. Thanks.
>
>
>
> Best Regards,
>
> Ken
>
>
>
>


More information about the openbmc mailing list