Linux FlexNoc PM Driver

Table of Contents

Introduction:

Linux Versal FlexNoc Driver. The following section describes the hardware as well as the software design.

Basic HW Architecture:

Xilinx FlexNoc Interconnect has counters to monitor various interfaces.

There are 2 instances of the FlexNoC one in the LPD and one in the FPD.
 

SW Architecture:

The FLexNOc driver gives the user access to the various counters to monitor the interfaces.

Device Tree: 

Example Device Tree looks as follows:

1 2 3 4 5 6 7 8 apm: performance-monitor@f0920000 { compatible = "xlnx,flexnoc-pm-2.7"; status = "disabled"; reg-names = "funnel", "baselpd", "basefpd"; reg = <0x0 0xf0920000 0x0 0x1000>, <0x0 0xf0980000 0x0 0x9000>, <0x0 0xf0b80000 0x0 0x9000>; };



Current Supported Features:

Temperature Channels:

  • FPD and LPD Monitors.

  • Counter reading

Reading a counter value:

_

1 2 3 4 5 6 root@xilinx-vc-p-a2197-00-reva-x-prc-01-reva-2019_2:/sys/bus/platform/devices/f0920000.flex# echo 0 > counteridlpd root@xilinx-vc-p-a2197-00-reva-x-prc-01-reva-2019_2:/sys/bus/platform/devices/f0920000.flex# cat counterlpd_* 201 217 224 231



Reading Temperature Value:

_input value is a processed value in Deg Celsius.

_raw will provide value in ADC RAW units

1 2 3 4 root@xilinx-vck190-2020_2_SAM_EA3:/sys/bus/iio/devices/iio:device0# cat in_temp160_max_input 35.33678 root@xilinx-vck190-2020_2_SAM_EA3:/sys/bus/iio/devices/iio:device0# cat in_temp160_min_input 34.32156



Port Selection:

The port select Options

Below are the values that are there for the various paths



RPU_clk:

              TracePortSel  0 :Datapath Link:/lpd_afifs_axi   -  0x8000_0000

               TracePortSel  1 :Datapath Link:/lpd_ocm  -  0xFFFD_0000

               TracePortSel  2 :Datapath Link:/lpd_ocmext  -  0xFE80_0000

               TracePortSel  3 :Datapath Link:/lpd_pmc_rpu_axi0  -  0x0000_0000



Lpdswitch_main_clk:

              TracePortSel  0 :Datapath Link:/lpdfpd_axi  -  0xB000_0000

               TracePortSel  1 :Datapath Link:/prot_xppu  -  0xFC00_0000



Change log

2020.2

Related Links