diff --git a/lib/utils.robot b/lib/utils.robot
index 1f74ae2..e29e2de 100755
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -1155,3 +1155,21 @@
 
 
 ###############################################################################
+Read Turbo Setting Via REST
+    [Documentation]  Return turbo setting via REST.
+
+    ${resp}=  OpenBMC Get Request  ${SENSORS_URI}host/TurboAllowed
+    ${jsondata}=  To JSON  ${resp.content}
+    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
+    [Return]  ${jsondata["data"]["value"]}
+
+
+###############################################################################
+Set Turbo Setting Via REST
+    [Documentation]  Set turbo setting via REST.
+    [Arguments]  ${setting}
+    # Description of argument(s):
+    # setting  Value which needs to be set.(i.e. False or True)
+
+    ${valueDict}=  Create Dictionary  data=${setting}
+    Write Attribute  ${SENSORS_URI}host/TurboAllowed  value  data=${valueDict}
diff --git a/systest/proc_freq_check.robot b/systest/proc_freq_check.robot
new file mode 100755
index 0000000..2525e22
--- /dev/null
+++ b/systest/proc_freq_check.robot
@@ -0,0 +1,106 @@
+*** Settings ***
+
+Documentation  Compare processor speed in turbo and non-turbo modes.
+
+# Test Parameters:
+# OPENBMC_HOST   The BMC host name or IP address.
+# OS_HOST        The OS host name or IP Address.
+# OS_USERNAME    The OS login userid (usually root).
+# OS_PASSWORD    The password for the OS login.
+
+Resource        ../syslib/utils_os.robot
+Resource        ../lib/boot_utils.robot
+Library         ../syslib/utils_keywords.py
+Variables       ../data/variables.py
+Library         ../lib/bmc_ssh_utils.py
+Resource        ../lib/connection_client.robot
+Resource        ../lib/resource.txt
+Resource        ../lib/rest_client.robot
+Resource        ../lib/utils.robot
+
+
+Test Setup      Pre Test Case Execution
+Test Teardown   Post Test Case Execution
+
+
+*** Test Cases ***
+
+Turbo And Non-Turbo Processor Speed Test
+    [Documentation]  Compare processor turbo and non-turbo speeds.
+    [Tags]  Turbo_And_Non-Turbo_Processor_Speed_Test
+
+    Set Turbo Setting Via REST  True
+    ${mode}=  Read Turbo Setting Via REST
+    Should Be Equal  ${mode}  True
+    ...  msg=Issued call to set Turbo mode but it was not set.
+
+    # The OS governor determines the maximum processor speed at boot-up time.
+    REST Power On  stack_mode=skip
+    ${proc_speed_turbo}=  Get Processor Max Speed Setting
+
+    Smart Power Off
+
+    Set Turbo Setting Via REST  False
+    ${mode}=  Read Turbo Setting Via REST
+    Should Be Equal  ${mode}  False
+    ...  msg=Issued call to disable Turbo mode but it was not disabled.
+
+    REST Power On  stack_mode=skip
+    ${proc_speed_non_turbo}=  Get Processor Max Speed Setting
+
+    Rprintn
+    Rpvars  proc_speed_turbo  proc_speed_non_turbo
+
+    ${err_msg}=  Catenate  Reported turbo processor speed should be
+    ...  greater than non-turbo speed.
+    Should Be True  ${proc_speed_turbo} > ${proc_speed_non_turbo}
+    ...  msg=${err_msg}
+
+
+*** Keywords ***
+
+Get Processor Max Speed Setting
+    [Documentation]  Get processor maximum speed setting from the OS.
+    # - On the OS run: ppc64_cpu --frequency
+    # - Return the maximum frequency value reported.
+    # The command ppc64_cpu is provided in both Ubuntu and RHEL on Power.
+
+    ${command}=  Set Variable
+    ...  ppc64_cpu --frequency | grep max | cut -f 2 | cut -d ' ' -f 1
+    # The ppc64_cpu --frequency command returns min, max, and average
+    # cpu frequencies. For example,
+    # min:    2.500 GHz (cpu 143)
+    # max:    2.700 GHz (cpu 1)
+    # avg:    2.600 GHz
+    # The ${command} selects the max: line, selects only the
+    # 2.700 GHz (cpu 1) part, then selects the 2.700 number.
+
+    # Get the maximum processor frequency reported.
+    ${output}  ${stderr}  ${rc}=  OS Execute Command
+    ...  ${command}  print_out=${1}
+
+    ${frequency}=  Convert To Number  ${output}
+    [Return]  ${frequency}
+
+
+Pre Test Case Execution
+    [Documentation]  Do the pre test setup.
+    # Save the initial system turbo setting.
+    # Start (setup) console logging.
+
+    ${initial_turbo_setting}=  Read Turbo Setting Via REST
+    Set Suite Variable  ${initial_turbo_setting}  children=true
+    Start SOL Console Logging
+
+
+Post Test Case Execution
+    [Documentation]  Do the post test teardown.
+    # - Restore original turbo setting on the system.
+    # - Capture FFDC on test failure.
+    # - Power off the OS and close all open SSH connections.
+
+    Set Turbo Setting Via REST  ${initial_turbo_setting}
+
+    FFDC On Test Case Fail
+    Smart Power Off
+    Close All Connections
diff --git a/tests/test_sensors.robot b/tests/test_sensors.robot
index 27ee44e..3c6ceef 100644
--- a/tests/test_sensors.robot
+++ b/tests/test_sensors.robot
@@ -11,6 +11,7 @@
 Resource               ../lib/state_manager.robot
 Library                ../data/model.py
 Resource               ../lib/boot_utils.robot
+Resource               ../lib/utils.robot
 
 Suite Setup            Setup The Suite
 Test Setup             Open Connection And Log In
@@ -170,7 +171,7 @@
 *** Keywords ***
 
 Setup The Suite
-    [Documentation]  Do the initial suite setup.
+    [Documentation]  Initial suite setup.
 
     # Boot Host.
     REST Power On
@@ -221,23 +222,6 @@
     ${x}=       get inventory sensor   ${OPENBMC_MODEL}   ${name}
     [Return]     ${x}
 
-Read Turbo Setting Via REST
-    [Documentation]  Return turbo allowed setting.
-
-    ${resp}=  OpenBMC Get Request  ${SENSORS_URI}host/TurboAllowed
-    ${jsondata}=  To JSON  ${resp.content}
-    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
-    [Return]  ${jsondata["data"]["value"]}
-
-Set Turbo Setting Via REST
-    [Documentation]  Set turbo setting via REST.
-    [Arguments]  ${setting}
-    # Description of argument(s):
-    # setting  Value which needs to be set.(i.e. False or True)
-
-    ${valueDict}=  Create Dictionary  data=${setting}
-    Write Attribute  ${SENSORS_URI}host/TurboAllowed  value  data=${valueDict}
-
 Post Test Case Execution
     [Documentation]  Do the post test teardown.
     ...  1. Capture FFDC on test failure.
