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
