From 38e95f8d20a7e24762f8316974600d4382b56bcd Mon Sep 17 00:00:00 2001 From: fk410167 <51665572+fk410167@users.noreply.github.com> Date: Thu, 15 Oct 2020 03:28:32 +0530 Subject: [PATCH] PDDF v2.0: 1) Support for 2.0 platform APIs, 2) Support for BMC enabled platforms (#536) * PDDF v2.0: 1) Support for 2.0 platform APIs, 2) Support for BMC enabled platforms * Adding cpldmux enhancements to PDDF 2.0 HLD --- doc/platform/brcm_pdk_pddf.md | 1278 ++++++++++++----- .../platform/pddf_generic_plugin_psu_2.0.png | Bin 0 -> 154015 bytes images/platform/pddf_hld1_2.0.png | Bin 0 -> 122510 bytes 3 files changed, 944 insertions(+), 334 deletions(-) create mode 100644 images/platform/pddf_generic_plugin_psu_2.0.png create mode 100644 images/platform/pddf_hld1_2.0.png diff --git a/doc/platform/brcm_pdk_pddf.md b/doc/platform/brcm_pdk_pddf.md index f3151d3245..eaed6a32ee 100644 --- a/doc/platform/brcm_pdk_pddf.md +++ b/doc/platform/brcm_pdk_pddf.md @@ -1,5 +1,6 @@ -## Feature Name -Platform Driver Development Framework (PDDF) + +## Feature Name +**Platform Driver Development Framework (PDDF)** ## High Level Design Document **Rev 0.1** @@ -19,13 +20,13 @@ Platform Driver Development Framework (PDDF) * [Design](#design) * [Overview](#overview) * [Generic PDDF HW Device Drivers](#generic-pddf-hw-device-drivers) - * [PDDF Platform API plugins](#pddf-platform-api-plugins) + * [PDDF Platform APIs](#pddf-platform-apis) * [Generic Driver Design](#generic-driver-design) * [PDDF Device Driver Modules](#pddf-device-driver-modules) * [PDDF Device Modules](#pddf-device-modules) * [Driver Extension Framework](#driver-extension-framework) - * [Generic Plugin Design](#generic-plugin-design) - * [PDDF I2C Component Design](#pddf-i2c-component-design) + * [Generic Device Object-Class Design](#generic-device-object-class-design) + * [PDDF I2C Component Design](#pddf-i2c-component-design) * [List of Supported Components](#list-of-supported-components) * [I2C Topology Descriptor](#i2c-topology-descriptor) * [PSU Component](#psu-component) @@ -36,6 +37,17 @@ Platform Driver Development Framework (PDDF) * [System Status Registers](#system-status-registers) * [Optics Component](#optics-component) * [lm-sensors](#lm-sensors-tools) + * [PDDF BMC Component Design](#pddf-bmc-component-design) + * [PSU JSON](#psu-json) + * [FAN JSON](#fan-json) + * [Temp Sensor JSON](#temp-json) + * [IPMITOOL Outputs](#temp-json) + * [PDDF Platform APIs Design](#pddf-platform-apis-design) + * [PSU Class](#psu-class) + * [FAN Class](#fan-class) + * [LED Class](#led-class) + * [System EEPROM Class](#system-eeprom-class) + * [Optics Class](#optics-class) * [SAI](#sai) * [CLI](#cli) * [Serviceability and DEBUG](#serviceability-and-debug) @@ -51,16 +63,19 @@ Platform Driver Development Framework (PDDF) |:---:|:-----------:|:------------------:|-----------------------------------| | 0.1 | 05/27/2019 | Systems Infra Team | Initial version | | 0.2 | 06/06/2019 | Systems Infra Team | Incorporated feedback | +| 0.3 | 10/21/2019 | Systems Infra Team | GPIO JSON object support | +| 0.4 | 10/22/2019 | Systems Infra Team | Platform 2.0 API support | +| 0.5 | 10/31/2019 | Systems Infra Team | BMC Support | # About this Manual -Platform Driver Development Framework (PDDF) is part of SONiC Platform Development Kit (PDK) which optimizes the platform development. PDK consists of - - PDDF (Platform Driver Development Framework): For optimized data-driven platform driver and SONiC plugin development +Platform Driver Development Framework (PDDF) is part of SONiC Platform Development Kit (PDK), which enables rapid development of platform drivers and APIs for SONiC platforms. PDK consists of + - PDDF (Platform Driver Development Framework): For optimized data-driven platform driver and SONiC platform APIs development - PDE (Platform Development Environment): For optimized build and test of platform and SAI code -PDE details are covered in another document. This document describes Platform Driver Development Framework (PDDF) which can be used as an alternative to the existing manually-written SONiC platform driver framework. It enables platform vendors to rapidly develop the device specific custom drivers and SONiC user space python plugins, using a data-driven architecture, to manage platform devices like Fan, PSUs, LEDs, Optics, System EEPROM, etc., and validate a platform on SONiC. +PDE details are covered in another document. This document describes Platform Driver Development Framework (PDDF) which can be used as an alternative to the existing manually-written SONiC platform driver framework. It enables platform vendors to rapidly develop the device specific custom drivers and SONiC user space python device object-classes, using a data-driven architecture, to manage platform devices like Fan, PSUs, LEDs, Optics, System EEPROM, etc., and validate a platform on SONiC. # Scope -This document describes the high level design details of PDDF and its components. The PDDF consists of generic device drivers and user space platform API plugins which use the per platform specific data in the JSON descriptor files. This document describes the interaction between all the components and the tools used to support these drivers and plugins. +This document describes the high level design details of PDDF and its components. The PDDF consists of generic device drivers and user space platform APIs which use the per platform specific data in the JSON descriptor files. This document describes the interaction between all the components and the tools used to support these drivers and platform APIs. # Definition/Abbreviation @@ -73,39 +88,43 @@ This document describes the high level design details of PDDF and its components | PDE | Platform Development Environment | | PDK | Platform Development Kit | | SAI | Switch Abstraction Interface | +| GPIO | General Purpose Input Output | | PSU | Power Supply Unit | | I2C | Inter-integrated Circuit communication protocol | | SysFS | Virtual File System provided by the Linux Kernel | +| BMC | Baseboard Management Controller | ## 1 Requirements Overview -SONiC OS is portable across different network devices with supported ASIC via Switch Abstraction Interface (SAI). These devices primarily differ in the way various device specific hardware components are accessed, and thus require custom device drivers and python plugins. Each platform vendor implements these custom device drivers and plugins. The feature requirement is to support a SONiC platform driver development framework to enable rapid development of custom device drivers and plugins. +SONiC OS is portable across different network devices with supported ASIC via Switch Abstraction Interface (SAI). These devices primarily differ in the way various device specific hardware components are accessed, and thus require custom device drivers and python platform APIs. Each platform vendor implements these custom device drivers and platform APIs. The feature requirement is to support a SONiC platform driver development framework to enable rapid development of custom device drivers and APIs. ### 1.1 Functional Requirements -Define Platform driver development framework to enable platform vendors to develop custom device drivers and plugins rapidly to accelerate development and validation of platforms in SONiC environment. The following requirements need to be satisfied by the framework. - - PDDF to provide a data driven framework to access platform HW devices. - - PDDF shall support I2C based HW designs with I2C controllers on the Host CPU. +Define Platform driver development framework to enable platform vendors to develop custom device drivers and platform APIs rapidly to accelerate development and validation of platforms in SONiC environment. Hardware components can be accessed via I2C, BMC, or both. PDDF supports both I2C and BMC access methods. The following requirements need to be satisfied by the framework. + - PDDF to provide a data driven framework to access platform HW devices. + - PDDF shall support I2C based HW designs with I2C controllers on the Host CPU. + - PDDF shall support BMC based HW designs with BMC SoC on the Host motherboard. - Provide reusable generic device drivers for the following components - - FAN + - FAN - PSU (Power supply units) - System EEPROM - Optic Transceivers (SFP, QSFP) - CPLD + - CPLDMUX (a multiplexer where channel selection is controlled by external CPLD) - System Status Registers - System LED - Generic drivers would expose device attributes via SysFS interface - PDDF shall support reusing custom device driver or standard linux driver to be used along with the generic drivers. This would allow platform HW devices to be managed by PDDF generic drivers or custom/standard Linux drivers. - Custom drivers should expose device attributes via SysFS interface - - Support platform vendors to extend generic drivers with custom implementations to support initialization, exit, pre and post access for get / set of attributes - - Provide generic SONiC python plugins to access various attributes for the following devices - - FAN - - PSU (Power supply units) - - System EEPROM - - Optic Transceivers (SFP, QSFP) - - System Status Registers + - Support platform vendors to extend generic drivers with custom implementations to support initialization, exit, pre and post access for get / set of attributes + - Provide generic SONiC python based platform APIs to access various attributes for the following devices + - FAN + - PSU (Power supply units) + - System EEPROM + - Optic Transceivers (SFP, QSFP) + - System Status Registers - System LED - Support data driven framework using the descriptor files to represent the following platform specific information - - I2C HW topology representing the various devices and their interconnections + - I2C/BMC HW topology representing the various devices and their interconnections - Per platform data to enable get / set of various attributes in each device - PDDF generic drivers shall not require a reboot after installation - PDDF generic drivers shall support initialization and de-initialization @@ -114,12 +133,16 @@ Define Platform driver development framework to enable platform vendors to devel ### 1.2 Configuration and Management Requirements - There are no configuration commands - - The generic PDDF plugins use the base classes from src/sonic-platform-common for the following + - The generic PDDF platform API classes use the 2.0 platform base classes from src/sonic-platform-common for the following components: - - PSU (sonic_psu) - - Optic Transceivers (sonic_sfp) - - EEPROM (sonic_eeprom) - - LED (sonic_led) + - Platform (sonic_platform_base/platform_base.py) + - Chassis (sonic_platform_base/chassis_base.py) + - Fan (sonic_platform_base/fan_base.py) + - PSU (sonic_platform_base/psu_base.py) + - Optic Transceivers (sonic_platform_base/sfp_base.py) + - EEPROM (sonic_platform_base/sonic_eeprom) + - Thermals (sonic_platform_base/thermal_base.py) + - Current SONiC platform CLIs shall be supported ### 1.3 Scalability Requirements @@ -131,22 +154,22 @@ NA SONiC platform bring up typically involves the following steps: - Support Switching ASIC - - Vendor platform specific drivers and plugins to manage platform devices + - Vendor platform specific drivers and platform APIs to manage platform devices Generally, the SAI support for a given switching silicon is pre-validated, and the platform vendor mostly focuses on the platform devices during platform bring up. The platform components involve the following: - port_config.ini (Port / Lane mappings) - config.bcm - Platform Device drivers (FAN/PSU/Optics/Sensors/CPLD,etc.) - - SONiC platform python plugins + - SONiC platform APIs -Most of the platform bring up effort goes in developing the platform device drivers, SONiC plugins and validating them. Typically each platform vendor writes their own drivers and plugins which is very tailor made to that platform. This involves writing code, building, installing it on the target platform devices and testing. Many of the details of the platform are hard coded into these drivers, from the HW spec. They go through this cycle repetitively till everything works fine, and is validated before upstreaming the code. +Most of the platform bring up effort goes in developing the platform device drivers, APIs and validating them. Typically each platform vendor writes their own drivers and classes which is very tailor made to that platform. This involves writing code, building, installing it on the target platform devices and testing. Many of the details of the platform are hard coded into these drivers, from the HW spec. They go through this cycle repetitively till everything works fine, and is validated before upstreaming the code. -PDDF aims to make this platform driver and plugin development process much simpler by providing a data driven development framework. This is enabled by: +PDDF aims to make this platform driver and platform APIs development process much simpler by providing a data driven development framework. This is enabled by: - JSON descriptor files for platform data - Generic data-driven drivers for various devices - - Generic SONiC plugins + - Generic SONiC platform APIs - Vendor specific extensions for customization and extensibility This makes the development and testing much simpler. Any change in the platform data can be made on the target in the JSON files and validated instantly. This helps improve the productivity of the platform developers significantly. @@ -155,7 +178,7 @@ This makes the development and testing much simpler. Any change in the platform ### 3.1 Overview -![PDDF Architecture](../../images/platform/pddf_hld1.png) +![PDDF Architecture](../../images/platform/pddf_hld1_2.0.png) SONiC PDDF (Platform driver development framework) supports the following HW devices on a given platform: @@ -171,32 +194,39 @@ This makes the development and testing much simpler. Any change in the platform High level architecture of the PDDF consists of the following: - PDDF JSON Descriptor files - - Generic PDDF Python plugins for various devices implementing the Platform APIs + - Generic PDDF Python object classes for various devices implementing the Platform APIs - PDDF Tools - Generic PDDF HW device drivers in kernel space - Custom vendor driver extensions modules #### 3.1.1 JSON Descriptor files - The descriptor files are used to represent the following information for a given platform: +The descriptor files are used to represent the following information for a given platform: + +I2C based HW components: - I2C Topology descriptor - Representation of the I2C bus - I2C client devices - - Inter connection of I2C devices - - I2C Device Access attributes - - Each device exposes a set of data attributes to read/write - - Eg., PSU(psu_present), SFP/QSFP(sfp_present, lpmode) - CPLD registers/offsets/ masks, etc., - - For each device, platform specific attributes to help access the data attributes - - Reference to a standard Linux driver, if available and used, for I2C device - - pca954x, lm75, etc., - - Value Map for each device in a platform + - Inter connection of I2C devices + - I2C Device Access attributes + - Each device exposes a set of data attributes to read/write + - Eg., PSU(psu_present), SFP/QSFP(sfp_present, lpmode) - CPLD registers/offsets/ masks, etc., + - For each device, platform specific attributes to help access the data attributes + +BMC based HW components: + - BMC descriptor + - BMC client devices + - Access attributes of BMC devices + - Reference to a standard Linux driver if available and used + - pca954x, lm75, etc., + - Value Map for each device in a platform - Each device or a platform can represent values to be interpreted in a different way. - For eg., on some platforms “1” can represent “Port Side Intake”, whereas on another platform it could be “0”. This map provides how to interpret the values. #### 3.1.2 Generic PDDF HW Device Drivers -PDDF generic drivers are device drivers for the following devices: FAN/PSU/EEPROM/Optics Transceivers/ System LED/ CPLDs. These drivers in kernel space, rely on the per-platform data in JSON descriptor files to expose data via SysFS interface. They provide a generic interface to get/set of these attributes. There are two types of data, a driver works on: +For I2C based HW components, PDDF provides generic drivers for the following I2C based devices: FAN/PSU/EEPROM/Optics Transceivers/ System LED/ CPLDs/ CPLDMUX. These drivers in kernel space, rely on the per-platform data in JSON descriptor files to expose data via SysFS interface. They provide a generic interface to get/set of these attributes. There are two types of data, a driver works on: - Device data – Attributes exposed by the device itself - Platform access data – Information on how/ where to access the device attributes @@ -207,32 +237,43 @@ These generic PDDF drivers provide capabilities to: - Mix and match generic and standard drivers - Support any existing driver for a given component -#### 3.1.3 PDDF Platform API plugins -PDDF provides generic user space python plugins which implement the platform APIs defined under: - - src/sonic-platform-common/sonic_sfp (Optic transceivers) - - src/sonic-platform-common/sonic_psu (PSU Util) - - src/sonic-platform-common/sonic_led (Port LED plugin) +For BMC based HW components such as FAN/PSU/TEMP sensors, PDDF does not need to provide generic drivers to manage these components. The management is done by BMCs which are located on IPMI-compliant hardware. IPMI is an open-standard hardware management interface to monitor and manage HW components. IPMItool utility is provided for users to monitor and manage BMC based components. -These plugins use the per platform JSON descriptor files to use the appropriate SysFS attributes to get and set. + +#### 3.1.3 PDDF Platform APIs +PDDF provides generic user space python APIs which are derived from 2.0 platform base classes defined under: + - src/sonic-platform-common/sonic_platform_base/sfp_base.py (Optic transceivers) + - src/sonic-platform-common/sonic_platform_base/psu_base.py (PSU base class) + - src/sonic-platform-common/sonic_platform_base/fan_base.py (FAN base class) + - src/sonic-platform-common/sonic_platform_base/thermal_base.py (Thermal sensor base class) + - src/sonic-platform-common/sonic_platform_base/platform_base.py (Platform base class) + - src/sonic-platform-common/sonic_platform_base/chassis_base.py (Chassis base class) + - src/sonic-platform-common/sonic_platform_base/watchdog_base.py (Watchdog base class) + +The PDDF generic APIs make use of the per platform JSON descriptor files and use the appropriate attributes to get and set. The final platform APIs would be derived from these PDDF generic APIs and provide users the ability to override/re-define generic get/set implementation under PDDF. +Final component based platform APIs are placed under sonic-buildimage/platform/\/\/\/sonic_platform. #### 3.1.4 Source code organization and Packaging -PDDF source code is mainly organized into platform dependent data files(JSON descriptors), generic PDDF driver modules, generic plugins, generic utils, and start up scripts. +PDDF source code is mainly organized into platform dependent data files(JSON descriptors), generic PDDF driver modules, generic platform APIs, generic utils, and start up scripts. - - /service/sonic-buildimage/platform/pddf + - /service/sonic-buildimage/platform/pddf/i2c - modules - - init + - scripts + + - /service/sonic-buildimage/platform/pddf/platform-api-pddf-base + - sonic_platform_pddf_base (PDDF generic platform APIs based on 2.0 platform base classes) + - sonic_platform_ref (ref code for pddf derived platform APIs) - - /service/sonic-buildimage/src/sonic-platform-common/pddf - - plugins - - utils + - /service/sonic-buildimage/device/common/pddf + - plugins (1.0 platform plugins) - - JSON descriptor files should be placed in the "pddf/json" directory under the respective "/sonic-buildimage/platform/" directory path. For example: - - sonic-buildimage/platform/broadcom/sonic-platform-modules-accton/as7712-32x/pddf/json/\) + - JSON descriptor files should be placed in the "pddf" directory under the respective "/sonic-buildimage/device/\/\" directory path. For example: + - sonic-buildimage/device/accton/x86_64-accton_as7712_32x-r0/pddf/\ -From SONiC build, all the PDDF components shall be built and packaged into a common pddf Debian package. Every platform builds and packages per platform specific drivers, utilities, scripts, etc., into a platform Debian package. +From SONiC build, all the PDDF utils and kernel modules shall be built and packaged into a common pddf Debian package *sonic-platform-pddf*. Every platform builds and packages per platform specific drivers, utilities, scripts, etc.,into a platform Debian package. As for the 2.0 platform APIs, PDDF base classes are packaged into a python wheel package *sonic_platform_pddf_common* which is installed in host and PMON docker. Every platform will generate a sonic-platform python wheel package which would consist of PDDF derived classes. #### 3.1.5 Deployment details -For the Runtime environment, PDDF shall provide a init script which shall be integrated into the per platform init script. This will load the PDDF modules and plugins and will use the per platform JSON descriptor files for initializing the platform service. +For the Runtime environment, PDDF shall provide a init script pddf_util.py. Any per platform init script would be called from this script. This will load the PDDF modules and APIs and will use the per platform JSON descriptor files for initializing the platform service. ### 3.2 Generic Driver Design Vendors write platform specific component drivers and deploy them as kernel loadable modules. In PDDF, drivers are generic, with platform specific data populated in JSON descriptor files. The JSON descriptor files are provided by the PDDF developer. Usually two different kernel modules are associated with each component. One is *Device Driver Module* and other is *Device Module*. @@ -244,7 +285,7 @@ For a generic device driver, there are 2 types of data. **Device-Data Attributes:** These are the attributes exposed to the user by the driver. These attributes provide device-related information. These attributes can be read-only or read-write. These attributes are dynamically associated with the device driver using the input from data JSON file. Examples of Device-Data attributes include, *psu_present* and *psu_power_good* for PSU, and - *fan1_front_rpm* and *fan1_rear_rpm* for FAN device drivers. + *fan1_presence* and *fan1_input* for FAN device drivers. **Access-Data:** This is platform specific data used to retrieve values from hardware. This includes per-Device Data attribute device addresses, register offsets, masks, expected values and length. This access-data varies for various components. The per-platform data is read from JSON file and passed to the kernel space as driver platform_data using the access-data attributes. @@ -272,22 +313,22 @@ There are multiple JSON files which must be provided by a PDDF developer. The l - Details like number of fans, PSUs, ports etc - Device Parsing Info - I2C Topology Info - - Device Access info + - Device Access info via I2C or BMC - Value Maps Info for various device-data Attributes, etc. -### 3.3 Generic Plugin Design +### 3.3 Generic Platform API Design -![Figure2: PSU Generic Plugin](../../images/platform/pddf_generic_plugin_psu.png "PSU Generic Plugin") +![Figure2: PSU Generic Plugin](../../images/platform/pddf_generic_plugin_psu_2.0.png "PSU Generic Object Class") -Generic plugins are extended from respective base classes but do not have any platform specific data. All the platform specific data mentioned below, is retrieved from JSON files. +Generic platform APIs are extended from respective base classes but do not have any platform specific data. All the platform specific data mentioned below, is retrieved from JSON files. * Platform inventory * SysFS paths of various device attributes * Platform dependent interpretations of some of the attribute values -Important thing to note in this type of design is that the PDDF has standardized the attribute names, and it provides the ability to map it to driver supported attribute names. Since PDDF provides the drivers for most of the devices, it maintains a list of device attributes. If there is a need to use a non-PDDF custom/standard driver, user must provide the list of attributes supported (which might be used by the generic plugin) by that driver. If such driver uses different name for an attribute, then it is incumbent that the user also define the driver attribute name. -Example below shows the usage of a driver 'ym2651' for a PSU1-PMBUS device. Generic plugin has an attribute name *psu_fan_dir*. However, if the same information is denoted in the driver by *psu_fan_direction*, then user indicates this by the field *drv_attr_name*. +Important thing to note in this type of design is that the PDDF has standardized the attribute names, and it provides the ability to map it to driver supported attribute names. Since PDDF provides the drivers for most of the devices, it maintains a list of device attributes. If there is a need to use a non-PDDF custom/standard driver, user must provide the list of attributes supported (which might be used by the generic API classes) by that driver. If such driver uses different name for an attribute, then it is incumbent that the user also define the driver attribute name. +Example below shows the usage of a driver 'ym2651' for a PSU1-PMBUS device. Generic PSU and FAN API class uses an attribute name *psu_fan_dir*. However, if the same information is denoted in the driver by *psu_fan_direction*, then user indicates this by the field *drv_attr_name*. ``` "PSU1-PMBUS": { "dev_info": { @@ -318,7 +359,7 @@ Example below shows the usage of a driver 'ym2651' for a PSU1-PMBUS device. Gene } } ``` -List of supported attribute names are mentioned under each device's plugin util. Path for each attribute's SysFS is retrieved and is cached so that each time plugin util is called, it doesn't calculate the path again. +List of supported attribute names are mentioned under each device's generic platform API class. Path for each attribute's SysFS is retrieved and is cached so that each time platform API is used, it doesn't calculate the path again. ### 3.4 PDDF I2C Component Design @@ -331,8 +372,10 @@ PDDF supports I2C based HW design consisting of the following components: - Temp Sensors (LM75, LM90, TMP411, etc.,) - Optics (SFP/QSFPs, EEPROM, etc.,) - System EEPROM (at24, etc.,) - - CPLDs + - CPLDs + - CPLDMUX (a multiplexer where channel selection is controlled by external CPLD) - MUX (PCA954x,..) + - GPIO (PCA955x,..) - System LEDs managed by CPLD etc., #### 3.4.2 I2C Topology Descriptor @@ -343,16 +386,16 @@ Example, ![Figure3: PSU Topology Data](../../images/platform/pddf_topo_psu.png "PSU Topology Data") -I2C topology data consist of information such as *parent_bus*, *dev_addr* and *dev_type*. Users would describe the I2C topology data using a JSON Topology descriptor file . +I2C topology data consist of information such as *parent_bus*, *dev_addr* (for I2C devices), *dev_id* (for platform devices) and *dev_type*. Users would describe the I2C topology data using a JSON Topology descriptor file. *dev_info* object is used to represent the logical device. *i2c* and *topo_info* are used for creating the I2C client. ``` -"FAN-CPLD": +"FAN-CTRL": { "dev_info": { "device_type":"FAN", - "device_name":"FAN-CPLD", + "device_name":"FAN-CTRL", "device_parent":"MUX2" }, "i2c": @@ -368,19 +411,21 @@ I2C topology data consist of information such as *parent_bus*, *dev_addr* and *d ``` Here is a brief explanation of the fields in topology JSON -> **device_type**: This mentions the generic device type. It can be either of these, PSU, FAN, CPLD, MUX, EEPROM, SFP, etc. This is a mandatory field. +> **device_type**: This mentions the generic device type. It can be either of these, PSU, FAN, CPLD, CPLDMUX, MUX, GPIO, EEPROM, SFP, etc. This is a mandatory field. -> **device_name**: This is the name of the device in the I2C topology. There can be a number or a substring appended to uniquely identify the device. e.g. FAN-CPLD, PSU1, PSU2, PORT1, MUX2 etc. This is an optional field. +> **device_name**: This is the name of the device in the I2C topology. There can be a number or a substring appended to uniquely identify the device. e.g. FAN-CTRL, PSU1, PSU2, PORT1, MUX2, CPLDMUX2, GPIO1 etc. This is a mandatory field. > **device_parent**: This gives the name of the parent device in the topology. It is also a mandatory field. -> **i2c** object is put to differentiate with other mode of access such as PCI or BMC etc. **topo_info** gives the info to generate the I2C client. All the fields inside topo_info are mandatory. +> **i2c** object is put to differentiate with other mode of access such as PCI or BMC etc. **topo_info** gives the info to generate the I2C client/ platform device. > **parent_bus**: This denotes the bus number to which device is connected. > **dev_addr**: This denotes the I2C address in the range of <0x0-0xff>. -> **dev_type**: This denotes the name/type of device. This should match with the dev_id of the device inside the supporting driver. +> **dev_type**: This denotes the name/type of device. This should match with the device id /chip name of the device inside the supporting driver. + +> **dev_id**: This denotes the id of the device with **dev_type**. This field is used in platform drivers. If there is a MUX in path, its connected devices are mentioned under an array *channel*. Here is an example, @@ -400,17 +445,96 @@ If there is a MUX in path, its connected devices are mentioned under an array *c }, "dev_attr": {"virt_bus":"0x20"}, "channel": [ - { "chn":"0", "dev":"FAN-CPLD" }, + { "chn":"0", "dev":"FAN-CTRL" }, { "chn":"2", "dev":"CPLD1" } ] } } ``` + + If the object is a MUX, then > **virt_bus**: This is an information used internally to denote the base address for the channels of the mux. So if the virt_bus is 0x20 for a pca9548 then channel-buses are addressed as (0x20+0), (0x20+1), (0x20+2) .... , (0x20+7). > **channel**: This array gives info about the child devices for a mux. It mentions **chn** denoting the channel number, and **dev** denoting the device_name connected to this channel. + +If object is a CPLDMUX i.e. a multiplexer where channel selection is controlled by external CPLD, then +> **base_chan**: This denotes the base bus number for the cpldmux. Every channel will be allotted bus number (base_chan+chan). + +> **num_chan**: Total number of channels multiplexed by the cpldmux. + +> **cpld_name**: Object name of the cpld in the JSON which controls the cpldmux. + +> **chan_cache**: Enable caching while selecting the channels. Its value can be 1 or 0. + +> **channel**: This is an array of channels multiplxed by the cpldmux. + +> **dev**: It is an array to denote the devices connected to the a particular channel. + +> **cpld_devaddr**: I2C address of the cpld device which controls the channel selection. + +> **cpld_offset**: Register offset in the cpld which controls the channel. + +> **cpld_sel**: Value to be written in the **cpld_offset** to select a particular channel. + +> **cpld_desel**: Value to be written in the **cpld_offset** to deselect a particular channel. + +Example of a CPLDMUX JSON object +``` +"CPLDMUX1": +{ + "dev_info": { "device_type":"CPLDMUX", "device_name":"CPLDMUX1", "device_parent":"SMBUS0"}, + "i2c": + { + "topo_info": { "parent_bus":"0x0", "dev_type":"cpld_mux", "dev_id":"1" }, + "dev_attr": { "base_chan":"0x1", "num_chan":"3", "cpld_name":"CPLD-CPU", "chan_cache": "1"}, + "channel": + [ + { "chan":"0", "dev":["EEPROM1"], "cpld_devaddr":"0x31", "cpld_offset":"0x14", "cpld_sel":"0xfc"}, + { "chan":"1", "dev":["MUX1"], "cpld_devaddr":"0x31", "cpld_offset":"0x14", "cpld_sel":"0xfd"}, + { "chan":"2", "dev":["CPLD-MASTER", "CPLD-SW1","CPLD-SW2", "CPLDMUX2"], "cpld_devaddr":"0x31", "cpld_offset":"0x14", "cpld_sel":"0xff" } + ] + } +} +``` + + +If an object is a GPIO (IO expander), then +> **gpio_base**: This mentions the base number for GPIO pin. Ports/Pins would be assigned the number (gpio_base+i) where i port number within the IO expander. + +> **ports**: This represents the list of the ports IO expander. Only those ports are mentioned in this list for which some initialization setting is required. It gives the values for various SysFs attributes for initialization. +``` +"GPIO1": +{ + "dev_info": { "device_type":"GPIO", "device_name":"GPIO1", "device_parent":"MUX1"}, + "i2c": + { + "topo_info": { "parent_bus":"0x13", "dev_addr":"0x23", "dev_type":"pca9555"}, + "dev_attr": { "gpio_base":"0x10"}, + "ports": + [ + {"port_num":"5", "direction":"out", "value":"1", "edge":"", "active_low":""} + ] + } +} +``` +Some platforms require initialization settings to be performed with respect to the GPIOs. The **ports** list in the JSON object takes care of these initialization after the I2C device creation takes place. Following are the names of +GPIO's SysFs attributes created by the standard linux driver. + +> **port_num**: GPIO Port/Pin number. + +> **direction**: Either "in" or "out". Generally this value is to be written. Writing as "out" defaults to initializing the value as low. It is optional field, i.e. if GPIO pin requires initialization by setting th + provided here. + +> **value**: Either "0" or "1". This value must be written if the GPIO is configured as output. + +> **edge**: Either "none", "rising", "falling" or "both". Mentions the signal edge where the **value** is polled. + +> **active_low**: Either "0" or "1". + + + If the object is PSU, then > **psu_idx**: This is used internally to denote the PSU number. It is also a mandatory field. @@ -456,16 +580,19 @@ PDDF PSU driver is used for both the interfaces and SysFS attributes are divided Currently supported PSU SysFS Attributes are: ``` -psu_present -psu_model_name -psu_power_good -psu_mfr_id -psu_serial_num -psu_fan_dir -psu_v_out -psu_i_out -psu_p_out +psu_present +psu_model_name +psu_power_good +psu_mfr_id +psu_serial_num +psu_fan_dir +psu_v_in +psu_v_out +psu_i_in +psu_i_out +psu_p_out psu_fan1_speed_rpm +psu_temp1_input ``` ##### 3.4.3.2 PSU JSON Design PSU JSON is structured to include the access-data for all the supported SysFS attributes. @@ -515,47 +642,34 @@ Description of the fields inside *attr_list* }, ``` - -##### 3.4.3.3 PSU Plugin Design -PsuBase is the base PSU plugin class, which defines various APIs to get/set information from the PSU devices. PDDF PSU generic plugin shall extend from PsuBase and implement the platform specific APIs, using the platform specific information in the JSON descriptor files - -Example, -``` -def get_num_psus(self): - """ - Retrieves the number of PSUs supported on the device - :return: An integer, the number of PSUs supported on the device - """ - return 0 -``` - #### 3.4.4 FAN Component Fan has a PDDF device module and a PDDF device driver module. ##### 3.4.4.1 FAN Driver Modules PDDF fan module is used to * Create the access data attributes to transfer the access data from user space to kernel. - * Populates the access data into PSU client's *platform_data* + * Populates the access data into FAN client's *platform_data* * Create the fan I2C client There could be one or multiple client for fan controller. If any other controller is used, such as EMC2305 or EMC2302 etc, then there might be multiple fan controller clients . PDDF fan driver is used for all the fan clients and SysFS attributes are divided. Fan driver module has the following functionalities, - * Create the SysFS attributes + * Create the SysFS attributes * Get/Set SysFS attribute's value from/to Fan controller devices Supported Fan SysFS attributes are: ``` -fan_present -fan_direction -fan_front_rpm -fan_rear_rpm -fan_pwm -fan_duty_cycle -fan_fault -where idx represents the Fan index [1..8] +fan_present +fan_direction +fan_input # denoting fan speed +fan_pwm +fan_fault +where idx represents the Fan index [1..32] ``` + +Since PDDF has been changed to support platform 2.0 APIs, general design considers all the FANs inside a fantray as seperate FANs. If a fantray consist of two fans, front and rear, JSON object for FAN not only provides the access details for the front fan but also for the rear fan. + ##### 3.4.4.2 FAN JSON Design FAN JSON is structured to include the access-data for all the supported SysFS attributes. *attr_list* is an array object which stores the array of access-data for multiple attributes. If some of the field in the attribute object is not applicable to some particular attribute, it can be left out. @@ -570,13 +684,15 @@ Description of the objects inside *attr_list* which are very specific to Fan com ``` -"FAN-CPLD": { +"FAN-CTRL": { "i2c": { "dev_attr": { "num_fan":"6"}, "attr_list": [ { "attr_name":"fan1_present", - "attr_devtype":"FAN-CPLD", + "attr_devtype":"cpld", + "attr_devaddr":"0x60", + "attr_devname":"CPLD1", "attr_offset":"0x0F", "attr_mask":"0x1", "attr_cmpval":"0x0", @@ -585,7 +701,9 @@ Description of the objects inside *attr_list* which are very specific to Fan com ... { "attr_name":"fan1_direction", - "attr_devtype":"FAN-CPLD", + "attr_devtype":"cpld", + "attr_devaddr":"0x60", + "attr_devname":"CPLD1", "attr_offset":"0x10", "attr_mask":"0x1", "attr_cmpval":"0x1", @@ -593,8 +711,10 @@ Description of the objects inside *attr_list* which are very specific to Fan com }, ... { - "attr_name":"fan1_front_rpm", - "attr_devtype":"FAN-CPLD", + "attr_name":"fan1_input", + "attr_devtype":"cpld", + "attr_devaddr":"0x60", + "attr_devname":"CPLD1", "attr_offset":"0x12", "attr_mask":"0xFF", "attr_len":"1", @@ -607,47 +727,25 @@ Description of the objects inside *attr_list* which are very specific to Fan com ``` -##### 3.4.4.3 FAN Plugin Design -FanBase is the base FAN plugin class, which defines various APIs to get/set information from the Fan devices. PDDF Fan generic plugin shall extend from FanBase and implement the platform specific APIs, using the platform specific information in the JSON descriptor files. FanBase is part of the new platform API framework in SONiC. - -Example, -``` - def get_direction(self): - """ - Retrieves the direction of fan - Returns: - A string, either FAN_DIRECTION_INTAKE or FAN_DIRECTION_EXHAUST - depending on fan direction - """ - - def get_speed(self): - """ - Retrieves the speed of fan in rpms - Returns: - An integer, denoting the rpm (revolutions per minute) speed - """ - -``` - #### 3.4.5 LED Component -Network switches have a variety of LED lights, system LEDs, Fan Tray LEDs, and port LEDs, used to act as indicators of switch status and network port status. The system LEDs are used to indicate the status of power and the system. The fan tray LEDs indicate each fan status. The port LEDs are used to indicate the state of the links such as link up, Tx/RX activity and speed. The Port LEDs are in general managed by the LED controller provided by switch vendors. The scope of this LED section is for system LEDs and fan tray LEDs. +Network switches have a variety of LED lights, system LEDs, Fan Tray LEDs, and port LEDs, used to act as indicators of switch status and network port status. The system LEDs are used to indicate the status of power and the system. The fan tray LEDs indicate each fan status. The port LEDs are used to indicate the state of the links such as link up, Tx/RX activity and speed. The Port LEDs are in general managed by the LED controller provided by switch vendors. The scope of this LED section is for system LEDs and fan tray LED. ##### 3.4.5.1 LED Driver Design -LEDs are controlled via CPLDs. LEDs status can be read and set via I2C interfaces. A platform-independent driver is designed to access CPLDs via I2c interfaces. CPLD/register address data is stored in platform-specific JSON file. User can run plugins to trigger drivers to read/write LED statuses via SysFS. This generic LED driver is implemented to control System LED and Fan Tray LED. +LEDs are controlled via CPLDs. LEDs status can be read and set via I2C interfaces. A platform-independent driver is designed to access CPLDs via I2c interfaces. CPLD/register address data is stored in platform-specific JSON file. User python platform APIs trigger drivers to read/write LED statuses via SysFS. This generic LED driver is implemented to control System LED and Fan Tray LED. -##### 3.4.5.2 JSON Design - This section provides examples of configuring platform, System LED and Fantray LED. They are consisted of key/value pairs. Each pair has a unique name. The table describes the naming convention for each unique key. +##### 3.4.5.2 JSON Design + This section provides examples of configuring platform, System LED and Fantray LED. They consist of key/value pairs. Each pair has a unique name. The table describes the naming convention for each unique key. -| **Key** | **Description** | -|--------------------------|-------------------------------------| -| PLATFORM | Numbers of power supply LED, fan tray LED | -| SYS_LED | System LED indicates System | -| PSU_LED |Power Supply Status LED X is an integer starting with 1 Example: PSU1_LED, PSU2_LED | -| LOC_LED | Flashing by remote management command. Assists the technician in finding the right device for service in the rack | -| FAN_LED | Fan Status LED for all fans | -| DIAG_LED | System self-diagnostic test status LED | -| FANTRAY_LED | Status LED for individual fan. X is an integer starting with 1 Example: FANTRAY1_LED, FANTRAY2_LED | +| **Key** | **Description** | +|--------------------------|-----------------------------------------| +| PLATFORM | Numbers of power supply LED, fan tray LED | +| SYS_LED | System LED indicates System | +| PSU\_LED |Power Supply Status LED X is an integer starting with 1 Example: PSU1_LED, PSU2_LED | +| LOC_LED | Flashing by remote management command. Assists the technician in finding the right device for service in the rack | +| FAN_LED | Fan Status LED for all fans | +| DIAG_LED | System self-diagnostic test status LED | +| FANTRAY\_LED | Status LED for individual fan. X is an integer starting with 1 Example: FANTRAY1_LED, FANTRAY2_LED | Samples: @@ -659,48 +757,9 @@ Samples: {"attr_name":"on", "bits" : "6:5", "color" : "Green", "value" : "0x1", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x66"}, {"attr_name":"faulty", "bits" : "6:5", "color" : "Amber", "value" : "0x2", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x66"}, {"attr_name":"off", "bits" : "6:5", "color" : "Off", "value" : "0x3", "swpld_addr" : "0x60", "swpld_addr_offset" : "0x66"} - ] - } - } - - -##### 3.4.5.3 LED Plugin Design -A generic user space Python plugin is designed to access LEDs via SysFS interface. The plugin reads SysFS path information from platform-specific JSON File. The PddfLedUtil class provides set/get APIs to set LED color and retrieve LED color. - - - class PddfLedUtil: - # Possible status LED colors - GREEN = “on” - RED= “faulty” - OFF=”off” - def set_status_led(self, device_name, index, color, color_state): - Args: - device_name: A string representing device: FAN, LOC, DIAG, SYS, PSU and FANTRAY - index: An integer, 1-based index to query status - color: A string representing the color with which to set the status LED: GREEN, RED, OFF - color_state: A string representing the color state: SOLD, BLINK - Returns: - Boolean: True is status LED state is set successfully, False if not. - - def get_status_led(self, device_name, index): - Args: - device_name: A string representing device: FAN, LOC, DIAG, SYS and PSU - index: An integer, 1-based index of the PSU of which to query status - Returns: - Color and color state information - SysFS Path Example: - /sys/kernel/pal/led/cur_state/ - color - color_state - Examples: - #./ledutil.py –set - #./ledutil.py –set PSU 1 GREEN SOLID - #./ledutil.py –get - #./ledutil.py –get PSU 1 - PSU1_LED : Green - Color State: Solid - - + ] + } + } #### 3.4.6 Sensors @@ -709,56 +768,61 @@ A generic user space Python plugin is designed to access LEDs via SysFS interfac The Linux driver supports LM75/LM90 compatible temperature sensors. It is used to support communication through the I2C bus and interfaces with the hardware monitoring sub-system. A SysFS interface is added to let the user provides the temperature sensors information to the kernel to instantiate I2C devices. ##### 3.4.6.2 JSON Design -Platform specific temperature sensor configuration file is designed to instantiate I2c devices and provides access information for plugin. These data are grouped into three sections: PLATFORM, I2C Topology and TEMP Data. PLATFORM section provides the number of temperature sensors. I2C Topology section and TEMP Data are used for instantiating I2C devices and accessing temperature sensors vis SysFS attributes. -They are consisted of key/value sections. Each section has a unique name. The table describes the naming convention for each unique key. +Platform specific temperature sensor configuration file is designed to instantiate I2c devices and provides access information for platform APIs. These data are grouped into three sections: PLATFORM, I2C Topology and TEMP Data. PLATFORM section provides the number of temperature sensors. I2C Topology section and TEMP Data are used for instantiating I2C devices and accessing temperature sensors vis SysFS attributes. +They consist of key/value sections. Each section has a unique name. The table describes the naming convention for each unique key. | **Key** | **Description** | |--------------------------|-------------------------------------| | PLATFORM | Numbers of temperature sensors | -| TEMP | Temperature sensor. x is an integer starting with 1 | -| MUX | This section is part of I2C topology configuration | +| TEMP\ | Temperature sensor. x is an integer starting with 1 | +| MUX\ | This section is part of I2C topology configuration | Samples: "PLATFORM" : { "num_temp_sensors":"3"} - "TEMP1" : { "dev_info": { "device_type":"TEMP_SENSOR", "device_name":"TEMP1", "display_name" : "CPU Temp Sensor" }, - "dev_attr": { "index":"0"}, - "i2c": { + "TEMP1" : { "dev_info": {"device_type":"TEMP_SENSOR", "device_name":"TEMP1"}, + "dev_attr": {"display_name": "TEMP_CPU"}, + "i2c": { "topo_info": { "parent_bus":"0x21", "dev_addr":"0x48", "dev_type":"lm75"}, "attr_list": [ - { "attr_name": "temp1_max"}, - { "attr_name": "temp1_max_hyst"}, + { "attr_name": "temp1_high_threshold", "drv_attr_name":"temp1_max"}, { "attr_name": "temp1_input"} - ] - } - } -##### 3.4.6.3 Plugin Design -A generic user space Python plugin is designed to access temperature sensors via SysFS interface. The plugin gets SysFS path information from platform-specific JSON File, pal-device.json. The PddfThermailUtil class provides two APIs to retrieve the number of temp sensors and to show temperature sensor readings. - - Class PddfThermalUtil: - def get_num_thermals(self): - Retrieves the number of temp sensors supported on the device - Return: An integer, the number of temperature sensors on the device - def show_temp_values(self): - Prints out readings from all temp sensors on the device - Return: Boolean, True if reading successfully, False if not + ] + } + } +##### 3.4.6.3 Thermal Object Class Design +A generic user space python API class **Thermal** is designed to access temperature sensors via SysFS interface. It gets SysFS path information from platform-specific JSON File, pal-device.json. It also uses the ThermalBase class. It provides various APIs to retrieve the number of temp sensors, temperature sensor readings and get high&low threshold temperatures etc. +``` +Class Thermal(ThermalBase): + def get_temperature(self): + """ + Retrieves current temperature reading from thermal + Returns: + A float number of current temperature in Celsius up to nearest thousandth + of one degree Celsius, e.g. 30.125 + """ + raise NotImplementedError + + def set_low_threshold(self, temperature): + """ + Sets the low threshold temperature of thermal + Args : + temperature: A float number up to nearest thousandth of one degree Celsius, + e.g. 30.125 + Returns: + A boolean, True if threshold is set successfully, False if not + """ + raise NotImplementedError +``` - Example: - Reading Display: - #./thermalutil.py - lm75-i2c-33-48 - CPU Temp Sensor +25.5 C (high = +80.0 C, hyst = +75.0 C) - lm75-i2c-33-49 - CPU Temp Sensor +23.0 C (high = +80.0 C, hyst = +75.0 C) - lm75-i2c-33-4a - CPU Temp Sensor +28.0 C (high = +80.0 C, hyst = +75.0 C) +SysFS Path Example: - SysFS Path Example: - /sys/bus/i2c/devices/i2c-0/i2c-16/i2c-33/33-0048/hwmon/hwmon0/temp1_max - /sys/bus/i2c/devices/i2c-0/i2c-16/i2c-33/33-0048/hwmon/hwmon0/temp1_max_hyst - /sys/bus/i2c/devices/i2c-0/i2c-16/i2c-33/33-0048/hwmon/hwmon0/temp1_input +> /sys/bus/i2c/devices/i2c-1/i2c-17/17-0048/hwmon/hwmon2/temp1_max +> /sys/bus/i2c/devices/i2c-1/i2c-17/17-0048/hwmon/hwmon2/temp1_max_hyst + +> /sys/bus/i2c/devices/i2c-1/i2c-17/17-0048/hwmon/hwmon2/temp1_input #### 3.4.7 System EEPROM Component @@ -787,32 +851,10 @@ For SYS EEPROM, the client creation information is present in I2C Topology JSON }, ``` -##### 3.4.7.3 Plugin Design -A generic user space plugin is written for EEPROM. Internally it leverages eeprom_base and eeprom_tlvinfo base classes. The SysFS path for driver supported attribute is retrieved from the user provided JSON file. An example of the API definition form eeprom_base is shown below, -``` -def check_status(self): - if self.u != '': - F = open(self.u, "r") - d = F.readline().rstrip() - F.close() - return d - else: - return 'ok' -def set_cache_name(self, name): - # before accessing the eeprom we acquire an exclusive lock on the eeprom file. - # this will prevent a race condition where multiple instances of this app - # could try to update the cache at the same time - self.cache_name = name - self.lock_file = open(self.p, 'r') - fcntl.flock(self.lock_file, fcntl.LOCK_EX) -``` -Generic plugin may provide further initialization steps and definitions for new APIs. - - #### 3.4.8 System Status Registers ##### 3.4.8.1 Driver Design -System Status information is present in CPLD registers. These information can be retrieved from CPLD using I2C interface to the CPLDs. Access-data to retrieve *system status* information is provided by the user in a JSON file. A generic driver is written in PDDF to store all the access-data in kernel space, and use it to read information from CPLDs. User space plugin would trigger the retrieval of *system status* data using generic module. The system status data attributes are created under `/sys/kernel/pal/devices/sysstatus/data/`. +System Status information is present in CPLD registers. These information can be retrieved from CPLD using I2C interface to the CPLDs. Access-data to retrieve *system status* information is provided by the user in a JSON file. A generic driver is written in PDDF to store all the access-data in kernel space, and use it to read information from CPLDs. The system status data attributes are created under `/sys/kernel/pal/devices/sysstatus/data/`. ##### 3.4.8.2 JSON Design An example of object from system status JSON file is shown below, @@ -834,16 +876,8 @@ An example of object from system status JSON file is shown below, ] }, ``` -##### 3.4.8.3 Plugin Design -A generic user-space plugin is added to read the system status information. The SysFS path of the info-data attribute is retrieved from the user provided JSON file. Example of the API definition is given below, -``` -def get_system_reset_info(self, str): - Args: - str: Name of the system status data attribute. - Returns: - Integer: Value of the system status data attribute. +This SYSTATUS JSON object can be used to get miscellaneous info from various CPLDs/devices based on the platform. Currently there is no generic class/plugin defined for system status registers. -``` #### 3.4.9 Optics Component ##### 3.4.9.1 Driver design @@ -890,7 +924,7 @@ Driver module has the following functionalities, * Create the SysFS attributes and link it to Optic_Pal client's kernel object * Retrieve the SysFS attribute's value from HW and update the *driver_data* - ##### 3.4.9.2 JSON Design +##### 3.4.9.2 JSON Design Optic JSON is structured to include the access-data for all the supported SysFS attributes. *attr_list* is an array object which stores the array of access-datas for multiple attributes. Some of these values can be left empty if they are not applicable. @@ -951,19 +985,6 @@ Optic JSON is structured to include the access-data for all the supported SysFS ``` -##### 3.4.9.3 Plugin design - -SfpUtilBase is the base Optic plugin class, which defines various APIs to get/set information from the optic transceivers. PDDF generic plugin shall extend from SfpUtilBase and implement the platform specific APIs, using the platform specific information in the JSON descriptor files. - -Example, -``` -def get_presence(self, portNum): - """ - - """ - return 0 -``` - #### 3.4.10 lm-sensors Tools lm-sensors package (Linux monitoring sensors) provides tools and drivers for monitoring temperatures, voltages, and fan speeds via command line. It can monitoring hardware such the LM75 and LM78. These tools are described below. These tools would continue to work with PDDF framework too. @@ -1004,6 +1025,415 @@ fancontrol is a shell script for use with lm_sensors. It reads its configuration The SysFS paths should be given as per the PDDF I2C topology description and the attributes. +### 3.5 PDDF BMC Component Design + +This section covers the JSON design for BMC based hardware components. PDDF utilizes ipmitool to monitor components. +PDDF supports BMC based HW design consisting of the following components: + + - PSUs + - Fan Controller + - Temp Sensors + +``` +BMC Component JSON Template: + : { + "bmc" : { + "dev_attr" : { "display_name" : ""}, + "ipmitool" : { + "attr_list": + [ + {"attr_name: , "bmc_cmd": , "field_name":, "delimiter": , "field_index": , "mult": , "raw"="0" }, + {"attr_name: , "bmc_cmd": , "raw"="1", "type":"ascii"}, + {"attr_name: , "bmc_cmd": , "raw"="1", "type":"raw"}, + {"attr_name: , "bmc_cmd": , "raw"="1", "type":"mask", "mask":"hex_num"} + ] + }, + "ipmiapi" : { + } + + } + +} +``` + +> **display_name**: +If this field exists, the device name is displayed using this field. Otherwise, the device_name content is shown. + +> **ipmitool, ipmiapi**: +ipmitool and ipmiapi are two methods of getting ipmi data. ipmitool uses ipmitool command to get data from BMC while ipmiapi will use kernel ipmi interfaces to retrieve the data. ipmiapi will be implemented in the future. + +> **attr_name**: +The PDDF BMC JSON design has the pre-defined list of the attribute names which is platform independent. IPMI is an standardized interface specification, but the naming convention of ipmitool output is vendor specific. The pre-defined attribue name list provides the ability to use generic PDDF generic platform APIs to retrieve information for all platforms. + +> **bmc_cmd**: +There are two types of cmds: raw ipmi request and non raw ipmi request. The list of available ipmitool commands can be found by + #ipmitool help + +> **raw**: +This indicates if bmc_cmd is a RAW IPMI request or not. 1: raw ipmi request and 0: non-raw ipmi request. + +> **field_name**: +This is the first field of an ipmitool command output. Each vendor has different naming conventions. Please check vendor specific documents. + +> **delimiter**: +For a non-raw ipmi request, delimiter is used for deciding the **field_pos**. + +> **field_pos**: +For a non-raw ipmi request, this field is used to select a specific field position. + +> **mult**: +For a non-raw ipmi request, this field is used to specify multiplication factor for the attribute value. It is an optional field only to be defined for numeric attribute values. + + +> **type**: +This field indicates the output presentation. It is a pre-defined list, "ascii", "raw", and "mask". + >- "ascii": the output is converted from hex string to ascii. + >- "raw": the output is not required further conversion. + >- "mask": the output needs to be masked with the value of "mask" field. + +> **mask**: +This is a hex number to mask the output + + + +| Name |non-raw ipmi request |raw ipmi request | +|------------|------------------------|---------------------| +| attr_name | mandatory | mandatory | +| bmc_cmd | mandatory | mandatory | +| raw | mandatory | mandatory | +| field_name | mandatory | not required | +| field_pos | mandatory | not required | +| mult | optional | not required | +| type | not required | mandatory | +| mask | not required | mandatory: "mask" type; not required: "ascii" and "raw" types | + + Example: + non-raw ipmi request: + + { "attr_name":"psu_power_good", "bmc_cmd":"ipmitool sdr", "field_name":"PSU1_POWER_IN", "field_index":"3"}, + # ipmitool sdr | grep PSU1_POWER_IN + PSU1_POWER_IN | 135 Watts | ok + + The output of PSU1_POWER_IN is "ok" because the field_index is 3. + + raw ipmi request: + { "attr_name":"psu_model_name", "bmc_cmd":"ipmitool raw 0x36 0xBB 0x4C 0x1C 0x00 0x9a 0x01", "raw":"1"} + # ipmitool raw 0x36 0xBB 0x4C 0x1C 0x00 0x9a 0x01 + 37 30 30 2d 30 31 33 36 38 34 2d 30 31 30 30 + The field of type is "ascii", so the output is converted from hex to string. The ascii format is 700-013684-0100. + + { "attr_name":"psu_present", "bmc_cmd":"ipmitool raw 0x36 0xB9 0x4C 0x1C 0x00 0x02", "raw":"1", "type": "mask", "mask": "0x01"}, + # ipmitool raw 0x36 0xB9 0x4C 0x1C 0x00 0x02 + c2 + The field of type is "mask". For example, bit value of 1:absent and bit value of 0:present. PSU1 is present. + + { "attr_name":"fan1_direction", "bmc_cmd":"ipmitool raw 0x0a 0x11 0x00 0x19 0x00 0x01", "raw": "1", "type":"raw"}, + # ipmitool raw 0x0a 0x11 0x00 0x19 0x00 0x01 + The field of type is "raw". The output does not need further conversion. + + +#### 3.5.1 PSU JSON + +> **Device Name**: PSU\ + index: denote the PSU number starting with 1 + +> **Predefined attribute names**: + + >- psu_power_good: the powergood status of PSU + >- psu_present: the present status of PSU + >- psu_model_name: the model name of PSU + >- psu_serial_num: the serial number of PSU + >- psu_mfr_id: the manufacture id of PSU + >- psu_power: present energy supplied by PSU + >- psu_voltage: present PSU voltage output + >- psu_current: present electric current supplied by PSU + + + "PSU1": + { + + "bmc": { + "ipmitool" : { + "attr_list": + [ + { "attr_name":"psu_power_good", "bmc_cmd":"ipmitool sdr", "raw": "0", "field_name":"PSU1_POWER_IN", "field_pos":"3"}, + { "attr_name":"psu_present", "bmc_cmd":"ipmitool raw 0x36 0xB9 0x4C 0x1C 0x00 0x02", "raw": "1", "type":"mask", "mask":"0x01"}, + { "attr_name":"psu_model_name", "bmc_cmd":"ipmitool raw 0x36 0xBB 0x4C 0x1C 0x00 0x9a 0x01", "raw":"1", "type":"ascii"}, + { "attr_name":"psu_serial_num", "bmc_cmd":"ipmitool raw 0x36 0xBB 0x4C 0x1C 0x00 0x9e 0x01", "raw":"1", "type":"ascii"}, + { "attr_name":"psu_mfr_id", "bmc_cmd":"ipmitool raw 0x36 0xBB 0x4C 0x1C 0x00 0x99 0x01", "raw":"1", "type":"ascii"}, + { "attr_name":"psu_power", "bmc_cmd":"ipmitool sdr", "raw": "0", "field_name":"PSU1_POWER_IN", "field_pos":"2"}, + { "attr_name":"psu_voltage", "bmc_cmd":"ipmitool sdr", "raw":"0", "field_name" : "PSU1_VOLTAGE_OUT", "field_pos":"2"}, + { "attr_name":"psu_current", "bmc_cmd":"ipmitool sdr", "raw":"0", "field_name" : "PSU1_CURRENT_OUT", "field_pos":"2"} + ] + } + } + } + +#### 3.5.2 FAN JSON + +> **Device Name**: FAN-CTRL + +> **Predefined attribute names**: +index: Fan index starting with 1 + >- fan\_present: present status of FAN + >- fan\_input: rpm speed of front FAN + >- fan\_pwm: puls-width modulation of FAN + >- fan\_direction: direction of FAN + + + "FAN-CTRL": + { + + "bmc": { + "ipmitool" : { + "attr_list": + [ + { "attr_name":"fan1_present", "bmc_cmd":"ipmitool raw 0x36 0xB9 0x4C 0x1C 0x00 0x02", "raw": "1", "type":"mask", "mask":"0x01"}, + { "attr_name":"fan1_direction", "bmc_cmd":"ipmitool raw 0x0a 0x11 0x00 0x19 0x00 0x01", "raw": "1", "type":"raw"}, + { "attr_name":"fan1_input", "bmc_cmd":"ipmitool sensor", "raw":"0", "field_name" : "Fan_SYS_1_1", "field_pos":"2"}, + { "attr_name":"fan1_pwm", "bmc_cmd":"ipmitool raw 0x30 0xd6 0x00 0x00", "raw": "1", "type":"raw"} + ] + } + } + } + +> NOTE: Rear fans and front fans are considered separate fans. In above output, 1_1: front fan of fan1 and 1_2: rear fan of fan1 + +#### 3.5.3 TEMP Sensors JSON + +> **Device Name**: TEMP\ + index: denote the TEMP number starting with 1 + +> **Predefined attribute names**: + >- temp1_high_threshold: Upper non-critical (high) threshold temperature setting + >- temp1_high_crit_threshold: Upper critical threshold temperature setting + >- temp1_low_threshold: Lower non-critical threshold temperature setting + >- temp1_low_crit_threshold: Lower critical threshold temperature setting + >- temp1_input: current temperature reading from theraml + +"TEMP1": +{ + + "dev_attr" : {"display_name":"Temp_Ambient_1"}, + "bmc": { + "ipmitool" : { + "attr_list": + [ + { "attr_name":"temp1_high_threshold", "bmc_cmd":"ipmitool sensor", "raw":"0", "field_name":"Temp_Ambient_1", "field_pos":"10"}, + { "attr_name":"temp1_input", "bmc_cmd":"ipmitool sensor", "raw":"0", "field_name" : "Temp_Ambient_1", "field_pos":"2"} + + ] + } + } +} + +#### 3.5.4 IPMITOOL OUTPUTS + +This section shows examples of ipmitool outputs. + + # ipmitool sdr | grep PSU1_POWER_IN + PSU1_POWER_IN | 135 Watts | ok + + # ipmitool sdr | grep PSU1_VOLTAGE_OUT + PSU1_VOLTAGE_OUT | 12.18 Volts | ok + + # ipmitool sdr | grep PSU1_CURRENT_OUT + PSU1_CURRENT_OUT | 9.10 Amps | ok + + # ipmitool sensor | grep Fan_SYS_1_1 + Fan_SYS_1_1 | 7840.000 | RPM | ok | na | 480.000 | 960.000 | 30560.000 | 30720.000 | na + + # ipmitool sensor | grep Fan_SYS_1_2 + Fan_SYS_1_2 | 6720.000 | RPM | ok | na | 480.000 | 960.000 | 30560.000 | 30720.000 | na + + # ipmitool sensor | grep Fan_SYS_2_1 + Fan_SYS_2_1 | na | RPM | na | na | 480.000 | 960.000 | 30560.000 | 30720.000 | na + + # ipmitool sensor | grep Fan_SYS_2_2 + Fan_SYS_2_2 | na | RPM | na | na | 480.000 | 960.000 | 30560.000 | 30720.000 | na + + # ipmitool sensor | grep Temp_Ambient_1 + Temp_Ambient_1 | 37.000 | degrees C | ok | na | na | na | 55.000 | 62.000 | 65.000 + + + +### 3.6 PDDF Platform APIs Design +As mentioned in the section 3.3, platform devices/components are provided with a python platform API class which interacts with the SysFs interface to get the HW information. Below are the component specific examples for such class. + +#### 3.6.1 PSU Class +PsuBase is the base PSU class, which declares various APIs to get/set information from the PSU devices. PDDF PSU generic platform API class **PddfPsu** shall extend from PsuBase and implement the platform specific APIs, using the platform specific information in the JSON descriptor files + +Example, +``` +def get_voltage(self): + """ + Retrieves current PSU voltage output + + Returns: + A float number, the output voltage in volts, + e.g. 12.1 + """ + # Implementation to get PSU output voltage using the JSON descriptor files +``` + +#### 3.6.2 FAN Class +FanBase is the base FAN class, which declares various APIs to get/set information from the Fan devices. PDDF Fan generic platform API class **PddfFan** shall extend from FanBase and implement the platform specific APIs, using the platform specific information in the JSON descriptor files. FanBase is part of the new platform API framework in SONiC. + +Example, +``` + def get_direction(self): + """ + Retrieves the direction of fan + Returns: + A string, either FAN_DIRECTION_INTAKE or FAN_DIRECTION_EXHAUST + depending on fan direction + """ + # Implementation using JSON descriptor files + + def get_speed(self): + """ + Retrieves the speed of fan as a percentage of full speed + + Returns: + An integer, the percentage of full fan speed, in the range 0 (off) + to 100 (full speed) + """ + # Implementation using JSON descriptor files + +``` + + +#### 3.6.3 LED Class +There is no generic LED API class defined in PDDF. LED APIs related to a component has been made part of thats component's platform API class. System LED APIs are made part of PddfChassis class. +``` +class PddfChassis(ChassisBase): + def set_system_led(self, device_name, color): + """ + Sets the state of one system status + Args: + color: A string representing the color with which to set the + system status LED + Returns: + bool: True if status LED state is set successfully, False if not + """ + raise NotImplementedError + + def get_system_led(self, device_name): + """ + Gets the state of the system status LED + Returns: + A string, one of the predefined STATUS_LED_COLOR_* strings + """ + raise NotImplementedError +``` + +PDDF PSU class provides get/set method to access PSU system LED +``` +class PddfPsu(PsuBase): + def set_status_led(self, color): + """ + Sets the state of the PSU status LED + Args: + color: A string representing the color with which to set the + PSU status LED + Returns: + bool: True if status LED state is set successfully, False if not + """ + raise NotImplementedError + + def get_status_led(self): + """ + Gets the state of the PSU status LED + Returns: + A string, one of the predefined STATUS_LED_COLOR_* strings + """ + raise NotImplementedError +``` + + +PDDF FAN class provides get/set method to access Fantray LED +``` +class PddfFan(FanBase): + def set_status_led(self, color): + """ + Sets the state of the fan module status LED + Args: + color: A string representing the color with which to set the + fan module status LED + Returns: + bool: True if status LED state is set successfully, False if not + """ + raise NotImplementedError + + def get_status_led(self): + """ + Gets the state of the fan status LED + Returns: + A string, one of the predefined STATUS_LED_COLOR_* strings + """ + raise NotImplementedError + +``` + + +#### 3.6.4 System EEPROM Class +A generic user space platform API class **PddfEeprom** is written for EEPROM. Internally it leverages eeprom_base and eeprom_tlvinfo base classes. The SysFS path for driver supported attribute is retrieved from the user provided JSON file. An example of the API definition form eeprom_base is shown below, +``` +def check_status(self): + if self.u != '': + F = open(self.u, "r") + d = F.readline().rstrip() + F.close() + return d + else: + return 'ok' + +def set_cache_name(self, name): + # before accessing the eeprom we acquire an exclusive lock on the eeprom file. + # this will prevent a race condition where multiple instances of this app + # could try to update the cache at the same time + self.cache_name = name + self.lock_file = open(self.p, 'r') + fcntl.flock(self.lock_file, fcntl.LOCK_EX) +``` +Generic API class may provide further initialization steps and definitions for new APIs. + +#### 3.5.5 Optics Class +SfpBase is the base Optic class, which declares various APIs to get/set information from the optic transceivers. PDDF generic platform API class **PddfSfp** shall extend from SfpBase and implement the platform specific APIs, using the platform specific information in the JSON descriptor files. + +Example, +``` + def get_transceiver_info(self): + """ + Retrieves transceiver info of this SFP + + Returns: + A dict which contains following keys/values : + ======================================================================== + keys |Value Format |Information + ---------------------------|---------------|---------------------------- + type |1*255VCHAR |type of SFP + hardwarerev |1*255VCHAR |hardware version of SFP + serialnum |1*255VCHAR |serial number of the SFP + manufacturename |1*255VCHAR |SFP vendor name + modelname |1*255VCHAR |SFP model name + Connector |1*255VCHAR |connector information + encoding |1*255VCHAR |encoding information + ext_identifier |1*255VCHAR |extend identifier + ext_rateselect_compliance |1*255VCHAR |extended rateSelect compliance + cable_length |INT |cable length in m + mominal_bit_rate |INT |nominal bit rate by 100Mbs + specification_compliance |1*255VCHAR |specification compliance + vendor_date |1*255VCHAR |vendor date + vendor_oui |1*255VCHAR |vendor OUI + ======================================================================== + """ + # Implementation using the JSON descriptor file +``` + + + + ## 4 SAI Not applicable @@ -1025,7 +1455,7 @@ In addition, the following CLI utils will also be added. ### 5.1 PDDF_PSUUTIL ``` -root@sonic:/home/admin# pddf_psuutil +root@sonic:/home/admin# pddf_psuutil --help Usage: pddf_psuutil [OPTIONS] COMMAND [ARGS]... pddf_psuutil - Command line utility for providing PSU status @@ -1034,26 +1464,43 @@ Options: --help Show this message and exit. Commands: + debug pddf_psuutil debug commands + mfrinfo Display PSU manufacturer info numpsus Display number of supported PSUs on device + seninfo Display PSU sensor info status Display PSU status version Display version info - info Display PSU manufacture and running info root@sonic:/home/admin# ``` Example output of the above commands, ``` root@sonic:/home/admin# pddf_psuutil numpsus -Total number of PSUs: 2 +2 +root@sonic:/home/admin# pddf_psuutil status +PSU Status +----- -------- +PSU1 OK +PSU2 NOT OK + +root@sonic:/home/admin# pddf_psuutil mfrinfo +PSU1 is OK +Manufacture Id: 3Y POWER +Model: YM-2651 +Serial Number: SA290N091739133083 +Fan Direction: Intake + +PSU2 is Not OK + root@sonic:/home/admin# -root@sonic:/home/admin# pddf_psuutil info -PSU1: Power Not OK +root@sonic:/home/admin# pddf_psuutil seninfo +PSU1 is OK +Output Voltage: 11984.0 mv +Output Current: 11265.0 ma +Output Power: 136000.0 mw +Fan1 Speed: 5000 rpm +PSU2 is Not OK -PSU2: Power OK -Manufacture Id: 3Y POWER -Model: YM-2851F -Serial Number: SA070U461826011272 -Fan Direction: FAN_DIRECTION_INTAKE root@sonic:/home/admin# ``` ### 5.2 PDDF_FANUTIL @@ -1061,78 +1508,243 @@ root@sonic:/home/admin# root@sonic:/home/admin# pddf_fanutil Usage: pddf_fanutil [OPTIONS] COMMAND [ARGS]... - pddf_fanutil- Command line utility for providing FAN info + pddf_fanutil - Command line utility for providing FAN information Options: --help Show this message and exit. Commands: - numfans Display number of supported FANs on device - direction Display FAN status - getspeed Display FAN speeds - setspeed Set FAN speed + debug pddf_fanutil debug commands + direction Display FAN airflow direction + getspeed Display FAN speed in RPM + numfans Display number of FANs installed on device + setspeed Set FAN speed in percentage + status Display FAN status + version Display version info root@sonic:/home/admin# ``` Example output of the above commands, ``` +root@sonic:/home/admin# pddf_fanutil numfans +12 +root@sonic:/home/admin# pddf_fanutil status +FAN Status +------ -------- +Fantray1_1 OK +Fantray1_2 OK +Fantray2_1 OK +Fantray2_2 OK +Fantray3_1 OK +Fantray3_2 OK +Fantray4_1 OK +Fantray4_2 OK +Fantray5_1 OK +Fantray5_2 OK +Fantray6_1 OK +Fantray6_2 OK root@sonic:/home/admin# pddf_fanutil direction -FAN-1 direction is FAN_DIRECTION_INTAKE -FAN-2 direction is FAN_DIRECTION_INTAKE -FAN-3 direction is FAN_DIRECTION_INTAKE -FAN-4 direction is FAN_DIRECTION_INTAKE -FAN-5 direction is FAN_DIRECTION_INTAKE -FAN-6 direction is FAN_DIRECTION_INTAKE +FAN Direction +------ ----------- +Fantray1_1 Intake +Fantray1_2 Intake +Fantray2_1 Intake +Fantray2_2 Intake +Fantray3_1 Intake +Fantray3_2 Intake +Fantray4_1 Intake +Fantray4_2 Intake +Fantray5_1 Intake +Fantray5_2 Intake +Fantray6_1 Intake +Fantray6_2 Intake root@sonic:/home/admin# root@sonic:/home/admin# pddf_fanutil getspeed - -FAN_INDEX FRONT_RPM REAR_RPM -FAN-1 12200 10200 -FAN-2 12400 10400 -FAN-3 12200 10300 -FAN-4 12300 10400 -FAN-5 12400 10500 -FAN-6 12600 10500 +FAN SPEED (RPM) +------ ----------- +Fantray1_1 8800 +Fantray1_2 7500 +Fantray2_1 8600 +Fantray2_2 7300 +Fantray3_1 8800 +Fantray3_2 7500 +Fantray4_1 8800 +Fantray4_2 7500 +Fantray5_1 8600 +Fantray5_2 7300 +Fantray6_1 8600 +Fantray6_2 7300 root@sonic:/home/admin# root@sonic:/home/admin# pddf_fanutil setspeed 100 -New Fan Speed: 100% - -FAN_INDEX FRONT_RPM REAR_RPM -FAN-1 21100 17200 -FAN-2 21100 18000 -FAN-3 20700 17800 -FAN-4 20800 18200 -FAN-5 20300 18100 -FAN-6 20600 18100 +Successful root@sonic:/home/admin# ``` + + + +> NOTE: Above output differs from the ouput in PDDF v1.0. This is because of the fact that FAN numbering scheme changed due to introduction of 2.0 platform APIs. Rear fans are now considered separate fans. In above output, +> Fantray1_1: Front fan of frantray1 +> Fantray1_2: Rear fan of fantray1 + ### 5.3 PDDF_LEDUTIL ``` -#./pddf_ledutil.py –set -#./pddf_ledutil.py –set PSU 1 GREEN SOLID -#./pddf_ledutil.py –get -#./pddf_ledutil.py –get PSU 1 - PSU1_LED : Green - Color State: Solid +# pddf_ledutil +Usage: pddf_ledutil [OPTIONS] COMMAND [ARGS]... + + pddf_ledutil - Command line utility for providing System LED information + +Options: + --help Show this message and exit. + +Commands: + getstatusled + setstatusled + version Display version info + +# pddf_ledutil version +PDDF ledutil version 2.0 + +# pddf_ledutil setstatusled \ \ + device_name: configured in the JSON configuration file such as LOC_LED and DIAG_LED + color: STATUS_LED_COLOR_GREEN, STATUS_LED_COLOR_RED, STATUS_LED_COLOR_OFF + STATUS_LED_COLOR_GREEN maps to LED at normal state + STATUS_LED_COLOR_RED maps to LED at faulty state + STATUS_LED_COLOR_OFF maps to LED at off state + +# pddf_ledutil setstatusled LOC_LED STATUS_LED_COLOR_GREEN +True + +# pddf_ledutil getstatusled LOC_LED +Blue ``` ### 5.4 PDDF_Thermalutil - Example: - Reading Display: - #./thermalutil.py - lm75-i2c-33-48 - CPU Temp Sensor +25.5 C (high = +80.0 C, hyst = +75.0 C) - lm75-i2c-33-49 - CPU Temp Sensor +23.0 C (high = +80.0 C, hyst = +75.0 C) - lm75-i2c-33-4a - CPU Temp Sensor +28.0 C (high = +80.0 C, hyst = +75.0 C) +``` +# pddf_thermalutil +Usage: pddf_thermalutil [OPTIONS] COMMAND [ARGS]... + + pddf_thermalutil - Command line utility for providing Temp Sensors + information + +Options: + --help Show this message and exit. + +# pddf_thermalutil version +PDDF thermalutil version 2.0 + +# example of i2c based thermals +# pddf_thermalutil gettemp + +# pddf_thermalutil gettemp +Temp Sensor Label Value +------------- -------------- ------------------------------- +Temp_1 lm75-i2c-17-48 temp1 +28.5 C (high = +80.0 C) +Temp_2 lm75-i2c-17-49 temp1 +25.5 C (high = +80.0 C) +Temp_3 lm75-i2c-17-4a temp1 +26.0 C (high = +80.0 C) +Temp_CPU lm75-i2c-17-4b temp1 +24.0 C (high = +80.0 C) + +# +#example of bmc based thermals +# pddf_thermalutil gettemp +Temp Sensor Value +-------------- ----------------------------------------------- +Temp_Ambient_0 temp1 +38.0 C (high = +68.0 C, crit = +65.0 C) +Temp_Ambient_1 temp1 +34.0 C (high = +65.0 C, crit = +62.0 C) +Temp_Ambient_2 temp1 +28.0 C (high = +59.0 C, crit = +56.0 C) +Temp_Ambient_3 temp1 +27.0 C (high = +63.0 C, crit = +60.0 C) +Temp_Ambient_4 temp1 +33.0 C (high = +67.0 C, crit = +64.0 C) +Temp_Ambient_5 temp1 +33.0 C (high = +69.0 C, crit = +66.0 C) +Temp_Ambient_6 temp1 +29.0 C (high = +66.0 C, crit = +63.0 C) +Temp_CPU temp1 +34.0 C (crit = +98.0 C) + + +# pddf_thermalutil numthermals +4 +``` +### 5.5 SHOW PLATFORM PSUSUMMARY +``` +root@sonic:/home/admin# show platform psusum --help +Usage: show platform psusum [OPTIONS] + + Show PSU summary information + +Options: + -i, --index INTEGER the index of PSU + --verbose Enable verbose output + -?, -h, --help Show this message and exit. +root@sonic:/home/admin# +``` +Examples of the above commands, +``` +root@sonic:/home/admin# show platform psusummary +PSU 1: OK +Manufacturer Id: 3Y POWER +Model: YM-2651 +Serial Number: SA290N091739133083 +Output Voltage (mV): 12109.0 +Output Current (mA): 11171.0 +Output Power (mW): 135000.0 +Fan Direction: Intake +Fan Speed (RPM): 4896 + +PSU 2: NOT OK +root@sonic:/home/admin# +root@sonic:/home/admin# +root@sonic:/home/admin# show platform psusummary -i 1 +PSU 1: OK +Manufacturer Id: 3Y POWER +Model: YM-2651 +Serial Number: SA290N091739133083 +Output Voltage (mV): 12046.0 +Output Current (mA): 11265.0 +Output Power (mW): 135000.0 +Fan Direction: Intake +Fan Speed (RPM): 4896 +root@sonic:/home/admin# +``` + +### 5.6 SHOW PLATFORM FANSTATUS +``` +root@sonic:/home/admin# show platform fanstatus --help +Usage: show platform fanstatus [OPTIONS] + + Show fan status information + +Options: + -i, --index INTEGER the index of fan + --verbose Enable verbose output + -?, -h, --help Show this message and exit. +root@sonic:/home/admin# +``` +Example output of the above commands, +``` +root@sonic:/home/admin# +root@sonic:/home/admin# show platform fanstatus -i 3 +FAN Status Speed (RPM) Direction +------ -------- ------------- ----------- +Fantray2_1 OK 8600 Intake +root@sonic:/home/admin# +root@sonic:/home/admin# show platform fanstatus +FAN Status Speed (RPM) Direction +------ -------- ------------- ----------- +Fantray1_1 OK 8700 Intake +Fantray1_2 OK 7500 Intake +Fantray2_1 OK 8600 Intake +Fantray2_2 OK 7300 Intake +Fantray3_1 OK 8800 Intake +Fantray3_2 OK 7500 Intake +Fantray4_1 OK 8800 Intake +Fantray4_2 OK 7500 Intake +Fantray5_1 OK 8500 Intake +Fantray5_2 OK 7300 Intake +Fantray6_1 OK 8600 Intake +Fantray6_2 OK 7300 Intake +root@sonic:/home/admin# +``` +> NOTE: This utility is not yet migrated to platform 2.0 APIs. There should only be one coloumn mentioning speed of a fan as the rear fans are considered as separate fans in platform 2.0 APIs. ## 6 Serviceability and DEBUG ### Debug Utils - - pal-parse --create - - Create I2C topology script to verify - - pal-parse --load - - Create led population information to verify platform data population - lsmod | grep -i pddf - Check if all pddf modules are loaded correctly - systemctl | grep -i pddf @@ -1140,15 +1752,13 @@ root@sonic:/home/admin# - pddf_fanutil debug dump_sysfs - Dump all Fan related SysFS path and attributes - pddf_psuutil debug dump_sysfs - - Dump all PSU related SysFS path and attributes + - Dump all PSU related SysFS path and attributes - pddf_ledutil debug dump_sysfs - Dump all LED related SysFS path and attributes - pddf_sfputil debug dump_sysfs - Dump all Optics related SysFS path and attributes - pddf_eepromutil debug dump_sysfs - Dump all EEPROM related SysFS path and attributes - - sysutil debug dump_sysfs - - Dump all System Status register related SysFS path and attributes ### Debug logs All the logs can be found under /var/log/pddf. @@ -1167,4 +1777,4 @@ Generic unit tests are listed below. These should be extended to all the compone 5. Provide wrong data in descriptor files and check if the errors are handled properly. 6. Test to check for kernel memory leak. 7. Remove the driver and ensure that all the device artifacts, memory etc are cleaned up. -8. Stop and start of the platform service. +8. Stop and start the platform service. diff --git a/images/platform/pddf_generic_plugin_psu_2.0.png b/images/platform/pddf_generic_plugin_psu_2.0.png new file mode 100644 index 0000000000000000000000000000000000000000..b20806763505d2a5dfa4e882b413d519c930ace8 GIT binary patch literal 154015 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

o~sA}{>O?~>ZAM#rpdp^65IjXf)KU&+9`iSaH` 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∾?0*BRd{v{E zxq%BW8AHtl-~BY736BR6L-AWLP_ak3S7FgzFdMyT@2;l;1W_PjKT7yw1(L9-O z$DClgxKupVc8Q+wQxjuOG$_e2R4j!NmfKGa2TA4gWhbb2_H{r5IH(r- zZ7(JA6~qL_ys}h_v$>+4Xk|1*L}6GlZFR~=y-`=~!v^mHYGRgxz!m9RrY}vOPCsxm(0fd-jk?-ljR4?&-i2Ga<%_0#fpCn zceSHr)gWFJp%5AaKeE(F0SIrSfyQ7vCqF+%U?H%M$6q? z;cj5&cc$Q5LWij>$by2fVWGCkz7eJO3+*3SSz2@8(Nac(@sZ4}k5SqMLhYFrd>Ba= zvE)YtSL=1}*f(OVdf=#{mVGofatA>G5|A1cte5(QBS@v5Q;R5Q!N2bh^;J5N>~xXF zk8!N0Be`)pB|W8F<8XVA99C;xvhC-tD<|#`&@|Md#_7ef?77LTtV4A&B zQ?x!5RAYgQicgQsrOM7!TxpTdC&g1O&oX9ho?5Pc8>YDXM5U{2DWb!#s6 za$DA&U#^d;svme;H?DJ~oa={rQRryXP!Hdx-&%A^?XF+LtUK{*B!GQAG~b%% zn1cWYV9F8ulL$j83=<9_Q;vKZWx7Ut6wr_qP5oI4mQ}f6A>F_4XYI)LmIqtb{+-qG z({q{eXGZwMS&15KA%eqCRvD}M0IL)Z7OE@Hu`6*rMRlhY6m&>5*)9qtpdmZ1a7g{lOA&vraAGa5P+0&XvML9QZKcuTW~i zSx`LoX65&pavL^l@vS#?anxjDVq&&~vy|D`CaxB}=^+(p>RM?;bajhr^r7}Pi_yhU zi8Z7jizd9=O_QFsKoCn13#)l3dyhdeNmIX4Q;zC4eIe@O^q9Eo#!>fH=?`M5ozRq~ zNRjLxk=0``qXnI@ajzKT6aHVOn=2Az$J;yV5mH>S5}Mus!chB$Cem|$8ea1%;3GKi zZ(ny4U921HyO*wYFgpys*I39iPeMJdIHrF^{WB&qbudumG8VlNGS#l#$0x|`9o`jn z?IcLGUDL{{jfyvN6iz16TCD}}9?jePq}~CNd^VtR2|Yc`u4~+Mjz9HoA9Y+YTg9m< z2;S{>hg(XYKA;hoV!~6w8{L)xQop|4g+;bOL8u-Zf$G4PON=;tM{Q21#?DKgw&@ba z64RVgCbuQO1)r>=Zb zY?0k~b#NcGaS$Ef>4d}eA71X!!(ymQc3jtPrYiD=in8n;rPNmNasS2Yazl6%8(!j#|DC$Ag^_jbd1q8q>I6m2M;XP0Kd^N=u zlTTAlIJ@rMeb(T4gyfH_8x1{1?2~wtJuffa$oNn1cX!y!uJEw)Doa?mg`TosX?A$4 zN82d7CXjQbOg8s+re^!LV)5(#ijccO6?x(?-dcUp>GAl)j*i!DADV64!u>G`MQ9?t z5uc#CXY;;Vfg~n%2-c)q*Un8h{#iv8`T>;2))cZkee(lVHA1bdD=rfCmg~RaWlVBS zNmgYBO3YdeS6uHDeDmS)F6v3uHiOBg#VjW8VuO?DwLQxb@5(ESnN4>bVxRRnuob1> z`0RTJyS}*dku052EFsGs!9#lU`C|>78x6^Ndv@+I!!+!%#2C!^_Y7%AhMc2FRs|Iv dL&^aw2=GNRgc9p>k1azEZ%@BNB?nI>{SO`&OPv4! literal 0 HcmV?d00001 diff --git a/images/platform/pddf_hld1_2.0.png b/images/platform/pddf_hld1_2.0.png new file mode 100644 index 0000000000000000000000000000000000000000..22d848ea6142305b314566ffb99a9fb967b263d8 GIT binary patch literal 122510 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¬kk3HE)-M{uE@Y2;|oO-k;AL^Is%<#h!#a16k( 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�=urPVwUy_eI#Lj&s2aZvJzfq~lx5f~` zk9qzwgmAyF*(}u4!xKx_QG^}>nKU?9{Esr$2r5iA4hsu|V*FKgpN?oHk+z}9>*90m zUi7{gDB74}7T=Ni!@tMjNS=Y4QRTs$3-@TN8Pis)f+A8_%cY~G%v|9{)IOiYVLW#< zF;(o3C#vhZOJ7Drd0L2Tu-(elWSgZCKr72wO?#*G_MFL zq6=e!EX<805vmmrBwmYeIE~%y7_wOFW+T?+)PFr(sFGu2TBv!%%^$Q%^)iNoHK?_I zMI{rb|_Tr-()!COsuH0E$rAQ@Yx)qQ23&#=)Z zi$(;|B~-54TZQPX|K2mHJAGeswuaPQpGRopDZ4t2Du!>DsJo!CK6TM2ac}wr1fk;} z(%rko(qq~l4o}Cg4JE6`vWKA7J_bHg5Se{ATCMHQgObH#%R#~VCJpZQtn7u+mwMX> z+JKFIX^KHHE2-UY&-Vrqcc#AUojzvbF}DoDpj>-I88{&2ul;$BhXnFrqij~U=sT^E z=}O)C*VXd%!vmtJnL60{G2h`_d5!zp7YnFU`0sBQCLa$7r2Qn+yj@M%`=NVDr6)#% z`d0obM;Af`dV|bwV))p?Px{{P6%C!fy6zKy$5-{b2~!}qdMWDdTEf8_vpRNp{kuki z>blB@9?(-CQp9ka>E*`C(k{RA@vytyp75YpPYJF?(3(cAS?|Tv#Mybkf}7%K`G%g!r*sSd480a({?rf6&z*yO4$MX^7BSX3O6hz=e9{ zh8KX0+ew8!NDzHSgKv&rg`PgQlm6VMjjVWB6rJLd{um8MKx37#i$QVV*m!t88!^S3 z`zbs12}L=TdLFB+l$ohFi^iAJ)gxhs7*jI>eX*|BYbsJ37H{|2+@8INeCA}tIm9crxV7BW$-1>TsSr=V$(-_v^ zdo;hHT`B}RDQtCh&ko+0E6>TsQ|TLKO$S&8U%BNOwwo%*Zo`W$Q>zwOeKUIB|2p0? zOPpdW$vOD+fMhLS!%%3`){8F7tKEo|8nMxi*T~BQ?pWkrJ((v{#_n!ssmee27wj0} zj=d|qnZ^Qi61$s<;?>)S?vqCo$Y_}3fIPvA) zN<=#2XWZ;0+8uJ`twT&}j|;Om*v6Yeuyh82M^fnNufbw`bLI_Qmp#qM*W1EWzQC3z?P@?l=?)-K>?7jAd(U9+2{0X?FX9aR|?)*5n zm7`n+6>Te+8T{7K-~2Xn4tt2C2S6k}y)6>eDDmO@Yqji-qxl1oAhQh+t+alT3$t54 zqVATfmbCFze>5PB7zua$0l>L(Ln~2sgI4_@a;l?PAnG#xu!7;E``{b%4Onpvf!4Ix zjr(H*m8PwFEdUiQsaymKxmtjjm*|z~R92<}nzIoAP5^>?T4|L?iGE~J5hR_uo5fzE zndba$znjm*f2+`CE~K5V9e|`Jqd-4}Am_eW*WU{xne;`HGetdr1KS_jm%Jk?$h?sDbhcaklbLx$w z%v_9L3Z%8EoENc3vE(VFg?s|o6DM)6?Pr%zI6wY{8Qdq{HrJ0;dUX8h(yP(o6b!7e zJMBRg`m4o2ecsj0c0vW8wHr5Fxn#@Gx3|E@v=5IiORiQ z+b}oH9=U2SIq3RVB-p?d;F}u)npkG!nALEjX)IV0Dl{Jen^LHY$9@h4`mAM075pG^8?KOQhh?FdqI`m-S_UP zYn8s#FhiQ_>il{QAIEC(-YqqA+b1XiYv91M9C@{nkjHITdS&_=K>*%+KZNRnF9hVr z&@006Ou$4AZ?>cZrDq15jzRKyo7)`c$+0;h&JI9N&9`S8&g3x|aYJ2!`3+@f46UCe z;}y-n!*KBpB{3s5Xvfr1 zwL*q1o+YTJNt8#bROqV<0Ahfl3r0nNo*U&* zEd(YO{ueiatp%!9;s9g`*-}+h{5?id;~Yq)V5y;S^Wxo)@W{tc_uqzTnV4jwaE*@> zzK*E&=S>NM{8M20^SnVoamk!9R{3P`I3x@lEO_x$<6^j5lqEYXUPd5!$jDG4I#7Bt z1iYGh^I)sqqwfK!;2=uu3PR;lP*zVvhgSeC2P9LWV37Cb+4sRD2Zo^O_m5RuV=hDW z(>q5_K=B3XB5SL^woN>pWU@E;YzQDkJOi{E%IYT8#yDiU*GCW?bE13163D9~EkB@J zOyMUu3&P44A<+N1++n^Hc%cLT+@SD+M70VMzgXwhrXCCR9gh`U-?6U+M(6f^0*v^CM)0{cW5^H=^{1UZwuB@QJrQz))69$H~ih4LqnbFDPc|Cb~1^%{J=+_%jr4 zztrYeYd3kXt25K5K*481LIH-_U(h&c>uzbS`Y~fY?Hx?^*SW7%M$DZur6PF%H z$Qq+m!VTHEP5u+YkV%w=AINYG8}1s(N3M`|dd7enD)z2BdtMW>p<)7do%0Xq4( zCnR^`ht$Q7ciWQabA6zDXm|R{eBpRmZ?it^juBwUSY(X3@Q#M)xBA(?Al3=``ugw` z+gA<<7}?mA+|av5(B83t8|8@7R$O_r3Q(Zx=AHDurx|&=i`Yc8-XkX##Negx8@@j> zNklKj*+K0nWA$im3XbLCPZ{xNd7WXM4c$VQV;56q9?kv#$KYH(<@&J?_-1)^Xz>1w^iUZxyhptA3KHA+F@dyMei*CgI)>a zZ;!4Bo2y%W_9_wPmQrlp#czU38?W%V&|lSBPHWtPa5jf9z#fqiaX=m_j0S2?{f7FagV&aBJ!_PbLWJxgf=kHR@V_7SDdpFkk@e=kP(b9W#UZO8C z1`*B%p#M7CKML9G0?h8>JdAtFged!wwY4>SEaPXHB!bN}0&F$3aTh!1s*k5eg|ZQM zA7bDrdUn>z01x{I5*a?X#Zk(UzGOuY-eM(*CBhNR+*wD0sSO4Ot6yAXF1)dGMMDVp zch8pHcfW{3Tz=Jmfd zC6wN9ygf6#{8QZ=js>%E2lSe_G?#Is=PVBT9U|ISarZiR_~<~LDj6@3isN>Z2p-RN zI(DfRz=AhVki9+F?+$ryg$X1A&&7M9`bLP2u2r@!*Yp}CjXZ;06l`gXU9j@^cn?!0 zxkDlam7zodcl&S4D^HwPE5?$>{v690iQ*A*XhqSKSPGrPJYzfv9X`si24sL14q>w% z>y7Z(Z&$sv-{HRJ&!$`54dbDQbJ5nCkNV?j5_H+F=o!4pVL$E0r+r@%F#8^vQ7ii) zB=%ccXAJnzIhfLOa5LAR6R=i5mfAM%5vfxibcy35_O{?VL_8mxZC9zng$K(gL;RTQ zxK@(iUcjC?$`Wl%^XEiuMx49*q%Mz%6ZLM86o zEGP~4d`#IDW_T~0)|Uxn>%xhTf8;JI6uD|rVo#%s^Z}OPzJNTZ2$lzSL+9O2k}(ea~y-+8If!u;YJ(`gblMDTwe# z-bH;CH6uH|l}bk02A@;ak~MZ_=z!*qv75=b#ZSCzeJI)3thnO5U;H5&SEsP=uANIFfc%jKtSw?Qs;0Po9l;xFsmONI3JIXaL;)SaNa=EyU~(- z+Ol8_OoY`Tb} zM$Gc>A8;R4yB{k}T~t4RVOL*tw&HO1^170%l9?8L(0B;7?pDI5(X+%KX8ab#yGLq2 z;#Yoh)P%(1m5D?0s?Qu~!Y`qm<;P-C`~*m^Hn#3=S5S5D0LKXB!HM6$v6W(*J+`}D zUgt*NgQRxHsjquTbn{MhoYygOB=o%1MhycQKxQar7yWbdyc@GSOT@(EdGi3T2>Cl9 z|3`Z9Use=u@dzW}X@*!H66!ShIbGkNUv}0JbFDtE)?+qf!`J%^Xce4v@O`O2;-Qo& zVP7Fwgx}ylFxjWk=DCx7kAD10TL|wxr(t%BiSG>=E=9~~5=6Y60dXFoi zZ;h1O3Y=e|magvRR8Pw66(wFgn&K#5KOQDY_330-+HYqOhR1+dx6SN!v|gPqNIR8r zrf; zMT9E~WO0lZ+qlJ&kaYevE|?qDiQQg(^_R{VmS3C1-qpc;;rJ#*v#`dIYPzFS>UpWQ z-*S1iI0U|3{b6+Qs0q9nen`FVmZFSt-fou~|1U>~!DlzXWTG0;%a#q=p_p~Bu#(#f zdH&7J8%WVbs>2QH2hXHQ3Y(7!x{*z?9jM#0bk0P4ksn$p{aD z1Zf@Uj{`4P9u{}<%M!f{+Meuw6Ol7aCN$f4QR#{9^>15eIHpwk1Dz+~wql&E#ITB} zqfm7BE7wuA<1dB%LD*XswD2?ZZvpjk&xVrO9rEy?J=(#K`DAAUOKN7AL#un`NtyBy z@EAfOF|G;AWP*3X-Zmw?&b_fX?}BIHC+>XPVfbV=_X$>&&^D=fAgGpY{_`%Gh#MFK zrie)Ek;^Y!30ljz2oa*eHu8~Ap-p?kND7{?iMK`?Ax8^%J7T?IcsBi%pZIU3-;#4I z7|k5*Z`(BtoVi58RFgvOFUJNO;e_I>xc;B#v+hfdfrbvRExutGjW(HIb*5GRG;5G zw=OE^0pvGfZ1E`!>MTjqX|Y9-4!6{#9pb%Zx6GS^c63#Nen80_RkTdC z&tLX&BQw6M1%E1ipEE=z8cpk?T@1N{mp|`>vjWXLUTj`m*wYujUUT|v56vIX&tE^? zUF*a;u*ui&&+s!ut}DB;!F@|H&q%p=Glpx6MCj$Of5%=XkUM}bco()aOg6O93Mr*o z9bTj%e!~SNj^v3Dd>sKxquV6j!-ISgdE;nuixO=TNQ(3hDm$$@ye3`=L z>3Q0TW%ynjRhda{zMbb4n4ojxbH|VOTWs;trHkjYrFhq`9EPUL*!;Yooak{nr;J;q z+X!(mmK&V~aEI2B`{Klym$K+ zb$&F_-1&hbchH8BIFuvYJUK#a-=GCMEM;CzEcfK0jCM%IeT<^pT{^dlLVU^dq$G)S zi=$Gpy{s}s9c9|S%H~VCoTLJ7Jwl)S25sNHVl<5}2;I2}C!6$0jc@*shNPNGR*dif z$jP6cOX6QxG(E3Ymxg%l-q2xB8Mm^ohG3DhzDnpOz-9y{$kDn^dAVB>27GK7@0$Dz zC~X)~#?8aGL0>G z)$Q60^p#BMp^E@9+AhR;-bOBy4-2b8niHtY!h89N=1m|-4Nl*xDtxDtb{C;BA+rZ3 z_|L!|UYh1hI03E84>#?*Vpz=dN2!ckTeNM>Hg>$9t6}8dOL(ngG+Jm{ZJBiN#$7^S z)cIwMP>~xYvH=%=YIO2^J}RMj&MUlxF1NS3HYAcXEU7v(L<>tIfUk~?)W6))Ro?xk(6xon~{qVE|tBgzAqJ8>8%Ig%#bF%W)w^xev4lI2gJ7(%BvkB zgm9DE?S6GvU>Y7J6}2?ftt_Vgx!&!QV^^G=+j`(Na*gGV$HsohDH#>bNRPl9pLDb} zBi>uz!^q9vAlt^+Kg&DD5dC7CKr4eeK3z~^w@FP%BPDTILUizIdnj6+6XZBu*AYtjC=5;{ ztUUfF#hfUUXTU7TZ!-TwOnn1K z8CV1>1@f`F8vN7A z=TOL~8(r8Xfz(4fWWZ6~qqNwHbINSX{5?u$C5dcHi<_!;pDqisi?RrJgXABLT@SI3 zA{yQ?d3-=z{3YF7m1E#Gq3ZVjhh8P4#SmF?FAhB4QaU{PGFiLq#xPT+^`gXpeY9Hm z3yX)1Mj975TRz$2hhktAHSW8j$==a@F@lakEtugyMBGS>;N6fBx0UsWWZUdD%nz4) zQ{i^q?b_y}=zdF1^PGlt!W%O!T`4B-Bc+u&Pfu8oM`t#yl|P{`kU-OR!Zn9HSO(Tj zP$7inQYL?Yf6`w1@~6NC+ovmI0sf|lKgF5E+*t2x2-5_*{@&qwSahYM1{%SoJS?3kHdMT zDrw^)%O$B7e{)bkOY$Dl2l(8_i|JB?%Jhd$M3xahtzI#PZ-~gi8~no+G5|{Tq?-Ye zyp6U)Ri|CHZXssTI02tO&Q zR~`n2Y`fhC_SUhNNYRmr21T}uO%`7`5&E~7RTz|>bC8mAVjI5FCF4%C90)=f42XYs=`8)=F=q|aS^L}#-i>VoC{S_jj z4h@-gN6C|LNe#xSGDXu{EU&dWso(W*RJFaOIb9KHd)M=os6J?dtlLp)mNfRe_C1!F ziu1ui_QSO@*J1psHkP~MQ?Xt&HBxq&$!cD2T#ZT;nN%t)N0LU}GLBpBB*)WJio)gD zoI|tX-=?QvNszqPD|t;d!pAm&d|u|kOG~sXE%?*z{!6c4e3X5}{us^0pv&8sFj;n> zmw}QdtQ*rm4_yszLHNud`RCHd1uH&Z99T34O)KAbR$_A3xZWfZydo?qXd+ zpNJ)~UJvW*2a#lwl)h%(iK za&4-EIYbdyp=TBV9I%2KY6n?;{xtr(m82D<#~>AF$+LkXxJmu?DP|b$ld>mik+GQw z5(lrRmaix}LLt8FGmfJakIp%hurOHAZrT2hUj{yQegN@3Q5U>HVs4O@238A)V5*Fm zR)JiD+E1tj_t6ZEL9&cNA0GY^M(%AyL-WT%uIPR|1p6x6VCEAVraB?2hO{rD%VxpX z<)MS}GI=)Z&`1~whqbP1bQMqSg^_ZF&QqPCCs5fkLu+1KnV#3LjSTZ5D)c{OYbm7h zWO0^QtE!j;hEBUqO%+S1ligtH=#(j^v~WFKK*0!J{*#a;5+?kqZVJ5D#F%I>WqKo9kgAeub5f>OV_EZgu$lb9oV{j6&iHXR8zT-F5Sz6h5;Q9bl>*vd z=N|jyCeCSl^9R+1=AJvBkJrku=8YoWNxZO@l?j3w^@cgieqjlgtpKd|m zjKBL%{BF| z%Vwa3z2et-x<7`l`)_j;i=-On0ga)96c7hj44+##;7FudW#Xk?PD8QtH+pGI%5^*J zCf`czOko@V4`24Yk!Wizhw&Y9Y;%kJ8f>MuE2+Q*>(BGV;UuKpa!YZcQ`9Zo1t~mS zbCej{vDe~MLq5p*J(d`@AIqf`WoAyvfw5h{(Q=@?(k&{C;4_6nBSHFGe`8K&;1=-nHXhOKQ0qax+ zVr)Ka(isBZg+F62L^3;!0pu;p9%mLB?17dEH-ZM>b!f7-7}<@4$D}b~z521v;sZK^ zO9R`E6^-_HoG#7@UJ8;cRD8Vnc2s}ijo{;rL`n;~KqmK*XBC^LCE0Va?Fm1V?)Y*d zB&<{i-o;CmUU9%OxWXTLZND$9hbg`)VfhW?vR79MvFGRXuhugFmXR4)VGim2f}T38 zP#(c^UmIV%rR^!d6))pkFNS9Q@LaQyNmTkI%x1wZG!rU*tRqr>LzJVUPklKJbtfRq zET5=zk%vu!@^2saS(_S{j=xMQ-gspZ+(RsewMOVM0wd5CDm8wx-!))!`ck)BT<$v{ zmkVD;DnQHKF$h@*HbeVkJ&2;*fe-+LtElrx5~Qd&aL<5(`zNNpU%S4s`l?0N5!qQ= zXcENYr=E4vu+y$skkY+&ZC=HpEo^N5bs*dMntlS(SzZpf#>3z1@nwg3xP3of6oeNX z#i6TFVy3r8zTPb6W1j3Ps2b>gnBz^hJuZ|dp6qsGMnbW7dGhWk(jR|n8rVnfdsxtrSCsHX3bJ-jS>2J~;A)KZo4ctz?I_|ZrD7pt9{^ePuk;(m@p7Aj%KX88Gb%z_QP zOg%C7AYk2dZ^<-+spp7KA}145@h4;6b{csQ0Tr6$3-S%UDl^k-GoXg&=jf3zYi-c? zx^eqfba(SMy3JO5qoVPUkdcNc583ePA+H(X z*X{LZ9v)e{Yi{3kCE_d?2zHE=){ykOB2l03l(H)&5<94+9gZ5ex4R4#&ZLGH=(ulx zdhC%H(H{R{{GDPfNjfXYGl_B7$2dcIJ^EH^_VZmaBEvg0{gW3n5aKedBYo zW8u)9VMObEHJ`$mkCwsT+R5qLc2o6@+q&0{k$3B?38&q*IR&|Ay|fu$ff;FBgW?RS`xxeOKb(Yc1T!w^y@l=9BN;n8eh`DP?o{g`+vN?1Ypm|B$M$>D&ak1<6$p zyo^1ca5*~u*4Y;k6wV&+rJ5ts*MxfvzNNZ%fOPe#%=D&u|8~YN_C$lZM4MZ|K~Gai z|M5$a>|`^?r%oaLtHD(bKi?DN?&m-5MPvPS;0A%vL+;+aJ9No6@{)1dGDCy_F4r9X zCLCn!%8h13uEfCkpSOXK6;)USQ3No+J@By2_Q10HWsw=UzaneBv0fonFlTK^-(~zY zjx6HbSpvUBoMu$GRQCz*9lj36K40R?XNygp=?isT+A&XG9IKS@Ir#?fSO@Tx#JT4^$_X!m6h8%0ZYGW~{E#TrSRw0BI79n$hq1 zp~;T%ln4%y;S60i>+|EuTIUlJD~2wMqFu+k>J+LNeGhvn>QiUamY&&tRV`&_-Ondh z{_Q-klkxCHLpBgurD|R3H&*5{_4N`fKOP~yhoQovrlw}KL104qJW}RzVE4Mf(jj`h z;%ke?o3=|K8r~d%a#8Z(=(|?0Hsyb@%mi{zjECiFr<#o#mHk^QK39<o_t03whvEHs<8k)7o^T*fV z3ZJhx(qLIiZx=nDZPyvxA1757&H123F6cp!98t*b&X8kC_va1^`N0GiN^qt9q97&M zhUn4tFXq@wBkhL{Pxf4X|8{;}JUO@XW9xSP1A`=*VJSu#-GGc$<&kB#Csp3=-|ZSv zn$h{=t1Q7C3FTVouhcp*+bgc;e^PGMGo9U#Zf9y$5i94* ztB2{~EdAvQJI{vNp12?XemQ{AHTwVq*wT{G)9Mc#+dtkhz4&!~SeD`RQT2#H{bMm@f(0B3?VgoIDn$P^!A_2hP(zEoO)M9-u|@fx3&=&jAh0OpgCLJeZkXuQ5`Bf&||FQ3Ui$Y@gG|7CW*55e$N>1){}P)I{V zl*=l2N9Eg*cIsjKemU(Q_MT)V&-tju{=@_oShQ@CkVyJp_6Z;oK&1*<_*;JA{QDaI z+p>caPcMUDlap9d-T#(ugJ-?LUT9u}E}Yb{{RrY#A7{x@_}ef8mbZU>D@4LmHDXv; zUINKBP+#Fq48F=yz#$X=$MW&7e`F@k#nQAXD2u$KrFLXm%{A5bVaW5@FZGbJp#N25 zekY{I!=|)!SkMvC3Nt=fi@|=dq}%E()y>-2PYI9Zags!#&4{_#r-#K;Ua{zL@#ArZ$IgL*w0+Tm4I+g#nnY`koPYe044+#7!jBcmjRm47cM8Q<(eWigX5G$QtUe}S_ z;Wm9WEM^2^+