# Environment Setup ## Hardware Connecting AST2600-EVB `I2C5` to `I2C14`. ## Kernel ### Mctp.cfg ```cfg CONFIG_MCTP=y CONFIG_MCTP_SERIAL=y CONFIG_MCTP_TRANSPORT_I2C=y ``` ### Device Tree ```dts diff --git a/arch/arm/boot/dts/aspeed-ast2600-evb.dts b/arch/arm/boot/dts/aspeed-ast2600-evb.dts index de83c0eb1d6e..9062ddfcb7c3 100644 --- a/arch/arm/boot/dts/aspeed-ast2600-evb.dts +++ b/arch/arm/boot/dts/aspeed-ast2600-evb.dts @@ -5,6 +5,7 @@ #include "aspeed-g6.dtsi" #include <dt-bindings/gpio/aspeed-gpio.h> +#include <dt-bindings/i2c/i2c.h> / { model = "AST2600 EVB"; @@ -225,6 +226,11 @@ &i2c3 { &i2c4 { status = "okay"; + mctp-controller; + mctp@12 { + compatible = "mctp-i2c-controller"; + reg = <(0x12 | I2C_OWN_SLAVE_ADDRESS)>; + }; }; &i2c5 { @@ -269,6 +275,12 @@ &i2c12 { &i2c13 { status = "okay"; + + mctp-controller; + mctp@10 { + compatible = "mctp-i2c-controller"; + reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; + }; }; ``` ## Install to image Add to conf/local.conf ``` IMAGE_INSTALL:append = " mctp pldm libmctp webui-vue " ``` # Runtime ## Initial Setup ``` # Link up MCTP I2C13 mctp link set mctpi2c13 up # MCTP I2C13 has an EID=0x0a mctp address add 0x0a dev mctpi2c13 # EID=0x0b has a physical address 0x70 on bus mctp i2c13 mctp neigh add 0x0b dev mctpi2c13 lladdr 0x70 # Traffic to EID=0x0b will send via mctp i2c13 mctp route add 0x0b via mctpi2c13 ``` ## Communication ``` mctp addr add 10 dev mctpi2c13 busctl call xyz.openbmc_project.MCTP /xyz/openbmc_project/mctp au.com.CodeConstruct.MCTP LearnEndpoint say "mctpi2c13" 1 0x70 busctl tree xyz.openbmc_project.MCTP busctl introspect xyz.openbmc_project.MCTP /xyz/openbmc_project/mctp/1/8 ``` # Reference - [Code Construct MCTP](https://codeconstruct.com.au/docs/mctp-on-linux-introduction/) - [Kernel Devicetree Binding](https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/net/mctp-i2c-controller.yaml) - [Kernel MCTP](https://github.com/torvalds/linux/blob/master/Documentation/networking/mctp.rst)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up