#! /bin/sh
#
# Copyright (c) 2011-2014, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above
#       copyright notice, this list of conditions and the following
#       disclaimer in the documentation and/or other materials provided
#       with the distribution.
#     * Neither the name of The Linux Foundation nor the names of its
#       contributors may be used to endorse or promote products derived
#       from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Changes from Qualcomm Innovation Center are provided under the following license:
#
# Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
# SPDX-License-Identifier: BSD-3-Clause-Clear
#

# PM Configuration

enable_lemur_ftrace_event_tracing()
{
    echo "++++ $0 -> ENABLE-FTRACE START" > /dev/kmsg
    #Enable FTRACE_ENABLE on SDXLEMUR
    #bail out if its perf config
    if [ ! -d /sys/module/msm_rtb ]
    then
        return
    fi

    #bail out if coresight isn't present
    if [ ! -d /sys/bus/coresight ]
    then
        return
    fi

    #coresight
    #echo sg > /sys/bus/coresight/devices/coresight-tmc-etr/mem_type

    echo 0 > /sys/kernel/debug/tracing/events/enable
    echo mem > /sys/bus/coresight/devices/coresight-tmc-etr/out_mode
    echo 1 > /sys/bus/coresight/devices/coresight-tmc-etr/enable_sink
    echo 1 > /sys/bus/coresight/devices/coresight-stm/enable_source
    echo 1 > /sys/kernel/debug/tracing/tracing_on

    #SoftIRQs
    echo 1 > /sys/kernel/debug/tracing/events/irq/enable
    echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_entry/enable
    echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_exit/enable
    echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_raise/enable
    #IRQs
    echo 1 > /sys/kernel/debug/tracing/events/irq/enable
    echo 1 > /sys/kernel/debug/tracing/events/irq/irq_handler_entry/enable
    echo 1 > /sys/kernel/debug/tracing/events/irq/irq_handler_exit/enable
    echo 1 > /sys/kernel/debug/tracing/events/workqueue/enable
    echo 1 > /sys/kernel/debug/tracing/events/timer/timer_expire_entry/enable
    echo 1 > /sys/kernel/debug/tracing/events/timer/timer_expire_exit/enable
    echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_cancel/enable
    echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_expire_entry/enable
    echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_expire_exit/enable
    echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_init/enable
    echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_start/enable

    echo 1 > /sys/kernel/debug/tracing/events/sched/sched_switch/enable

    echo 1 > /sys/kernel/debug/tracing/events/clk/enable
    echo 1 > /sys/kernel/debug/tracing/events/regulator/enable
    echo 1 > /sys/kernel/debug/tracing/events/rpmh/enable
    echo 1 > /sys/kernel/debug/tracing/events/power/suspend_resume/enable
    echo 1 > /sys/kernel/debug/tracing/tracing_on
    echo "++++ $0 -> ENABLE-FTRACE END" > /dev/kmsg
}


config_cinder_dcc_thermal()
{
    #Tsense
    echo 0xc222004 > $DCC_PATH/config
    echo 0xc263014 > $DCC_PATH/config
    echo 0xc2630e0 > $DCC_PATH/config
    echo 0xc2630ec > $DCC_PATH/config
    echo 0xc2630a0 16 > $DCC_PATH/config
    echo 0xc2630e8 > $DCC_PATH/config
    echo 0xc26313c > $DCC_PATH/config
}

config_cinder_dcc_core()
{
    # CORE_HANG_THRESHOLD
    echo 0x17800058 > $DCC_PATH/config
    echo 0x17810058 > $DCC_PATH/config
    echo 0x17820058 > $DCC_PATH/config
    echo 0x17830058 > $DCC_PATH/config
    # CORE_HANG_VALUE
    echo 0x1780005c > $DCC_PATH/config
    echo 0x1781005c > $DCC_PATH/config
    echo 0x1782005c > $DCC_PATH/config
    echo 0x1783005c > $DCC_PATH/config
    #first core hang
    echo 0x1740003c > $DCC_PATH/config
    # CORE_HANG_CONFIG
    echo 0x17800060 > $DCC_PATH/config
    echo 0x17810060 > $DCC_PATH/config
    echo 0x17820060 > $DCC_PATH/config
    echo 0x17830060 > $DCC_PATH/config
    #CORE_HANG_DBG_STS
    echo 0x17800064 > $DCC_PATH/config
    echo 0x17810064 > $DCC_PATH/config
    echo 0x17820064 > $DCC_PATH/config
    echo 0x17830064 > $DCC_PATH/config

    #MIBU Debug registers
    echo 0x17600238 > $DCC_PATH/config

    #GNOC Hang counters
    echo 0x17600404 > $DCC_PATH/config
    echo 0x1760041c 2 > $DCC_PATH/config
    echo 0x17600434 > $DCC_PATH/config
    echo 0x1760043c 2 > $DCC_PATH/config

    #CPRh

    # pll status for all banks and all domains
    # silver PLL
    echo 0x17a80000 0x8007 > $DCC_PATH/config_write
    echo 0x17a80000 > $DCC_PATH/config
    echo 0x17a80024 0x0 > $DCC_PATH/config_write
    echo 0x17a80024 > $DCC_PATH/config
    echo 0x17a80020 0x0 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x40 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x80 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0xc0 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x100 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x140 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x180 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x1c0 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x200 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x240 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x280 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x2c0 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x300 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x340 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x380 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x3c0 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x4000 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80020 0x0 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80020 0x0 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80020 0x0 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config
    echo 0x17a80020 0x40 > $DCC_PATH/config_write
    echo 0x17a80020 > $DCC_PATH/config
    echo 0x17a80038 > $DCC_PATH/config

    # L3 pll
    echo 0x17a84000 0x8007 > $DCC_PATH/config_write
    echo 0x17a84000 > $DCC_PATH/config
    echo 0x17a84024 0x0 > $DCC_PATH/config_write
    echo 0x17a84024 > $DCC_PATH/config
    echo 0x17a84020 0x0 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x40 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x80 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0xc0 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x100 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x140 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x180 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x1c0 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x200 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x240 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x280 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x2c0 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x300 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x340 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x380 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x3c0 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84024 0x4000 > $DCC_PATH/config_write
    echo 0x17a84024 > $DCC_PATH/config
    echo 0x17a84020 0x0 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a84020 0x0 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a84020 0x0 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config
    echo 0x17a84020 0x40 > $DCC_PATH/config_write
    echo 0x17a84020 > $DCC_PATH/config
    echo 0x17a8400c > $DCC_PATH/config

    #rpmh
    echo 0xc201244 > $DCC_PATH/config
    echo 0xc202244 > $DCC_PATH/config

    #L3-ACD

    #SILVER-ACD


    #APM
    echo 0x17b00000 70 > $DCC_PATH/config
}

config_cinder_dcc_lpm_pcu()
{
    #PCU -DCC for LPM path
    echo 0x17B00000 > $DCC_PATH/config
    #  Read only registers
    # core#0
    echo 0x17800010 > $DCC_PATH/config
    echo 0x17800024 > $DCC_PATH/config
    echo 0x17800038 6 > $DCC_PATH/config
    echo 0x1780006c > $DCC_PATH/config
    echo 0x178000f0 2 > $DCC_PATH/config
    # core#1
    echo 0x17810010 > $DCC_PATH/config
    echo 0x17810024 > $DCC_PATH/config
    echo 0x17810038 6 > $DCC_PATH/config
    echo 0x1781006c > $DCC_PATH/config
    echo 0x178100f0 2 > $DCC_PATH/config
    # core#2
    echo 0x17820010 > $DCC_PATH/config
    echo 0x17820024 > $DCC_PATH/config
    echo 0x17820038 6 > $DCC_PATH/config
    echo 0x1782006c > $DCC_PATH/config
    echo 0x178200f0 2 > $DCC_PATH/config
    # core#3
    echo 0x17830010 > $DCC_PATH/config
    echo 0x17830024 > $DCC_PATH/config
    echo 0x17830038 6 > $DCC_PATH/config
    echo 0x1783006c > $DCC_PATH/config
    echo 0x178300f0 2 > $DCC_PATH/config
    # L3
    echo 0x17880010 > $DCC_PATH/config
    echo 0x17880024 > $DCC_PATH/config
    echo 0x17880038 > $DCC_PATH/config
    echo 0x17880040 > $DCC_PATH/config
    #APPS CL
    echo 0x17880044 3 > $DCC_PATH/config
    echo 0x1788006c 5 > $DCC_PATH/config
    # APSS_BOOTFSM_STS
    echo 0x17880084 > $DCC_PATH/config
    # APSS_SILVER_PLL
    echo 0x178800f4 5 > $DCC_PATH/config
    # APSS_ITM_SILVER
    echo 0x17880134 2 > $DCC_PATH/config
    # APSS_SILVER_PWR_CTL_STS
    echo 0x178801b4 > $DCC_PATH/config
    # APSS_CL_PCU_PWR_CTL_STS
    echo 0x178801bc 2 > $DCC_PATH/config
    echo 0x178801c8 > $DCC_PATH/config
}

config_cinder_dcc_rpmh()
{
    echo 0xb241024 > $DCC_PATH/config
    echo 0xbde1034 > $DCC_PATH/config

    #RPMH_PDC_APSS
    echo 0xb201020 2 > $DCC_PATH/config
    echo 0xb211020 2 > $DCC_PATH/config
    echo 0xb221020 2 > $DCC_PATH/config
    echo 0xb204520 > $DCC_PATH/config

    echo 0xb200010 4 > $DCC_PATH/config
    echo 0xb200900 4 > $DCC_PATH/config
    echo 0xb201030 > $DCC_PATH/config
    echo 0xb201204 2 > $DCC_PATH/config
    echo 0xb201218 2 > $DCC_PATH/config
    echo 0xb20122c 2 > $DCC_PATH/config
    echo 0xb201240 2 > $DCC_PATH/config
    echo 0xb201254 2 > $DCC_PATH/config
    echo 0xb204510 2 > $DCC_PATH/config
    echo 0xb220010 4 > $DCC_PATH/config
    echo 0xb220900 4 > $DCC_PATH/config
}

config_cinder_dcc_apss_rscc()
{
    #APSS_RSCC_RSC register
    echo 0x17a00010 > $DCC_PATH/config
    echo 0x17a10010 > $DCC_PATH/config
    echo 0x17a20010 > $DCC_PATH/config
    echo 0x17a00030 > $DCC_PATH/config
    echo 0x17a10030 > $DCC_PATH/config
    echo 0x17a20030 > $DCC_PATH/config
    echo 0x17a00038 > $DCC_PATH/config
    echo 0x17a10038 > $DCC_PATH/config
    echo 0x17a20038 > $DCC_PATH/config
    echo 0x17a00040 > $DCC_PATH/config
    echo 0x17a10040 > $DCC_PATH/config
    echo 0x17a20040 > $DCC_PATH/config
    echo 0x17a00048 > $DCC_PATH/config
    echo 0x17a00400 3 > $DCC_PATH/config
    echo 0x17a10400 3 > $DCC_PATH/config
    echo 0x17a20400 3 > $DCC_PATH/config
}

config_cinder_dcc_epss()
{
    echo 0x17d80100 144 > $DCC_PATH/config
    # EPSSSLOW_CLKDOM0
    echo 0x17d9001c > $DCC_PATH/config
    echo 0x17d900dc > $DCC_PATH/config
    echo 0x17d900e8 > $DCC_PATH/config
    echo 0x17d90320 > $DCC_PATH/config
    echo 0x17d90020 > $DCC_PATH/config
    echo 0x17d9034c > $DCC_PATH/config
    echo 0x17d90300 > $DCC_PATH/config
    # EPSSSLOW_CLKDOM1
    echo 0x17d9101c > $DCC_PATH/config
    echo 0x17d910dc > $DCC_PATH/config
    echo 0x17d910e8 > $DCC_PATH/config
    echo 0x17d91320 > $DCC_PATH/config
    echo 0x17d91020 > $DCC_PATH/config
    echo 0x17d9134c > $DCC_PATH/config
    echo 0x17d91300 > $DCC_PATH/config

    echo 0x12822000 2 > $DCC_PATH/config
    echo 0x12824c00 > $DCC_PATH/config
    echo 0x12824d04 2 > $DCC_PATH/config
    echo 0x17d98014 4 > $DCC_PATH/config
    echo 0x17d900e0 > $DCC_PATH/config
    echo 0x17d90410 > $DCC_PATH/config
    echo 0x17d90074 > $DCC_PATH/config
    echo 0x17d90064 > $DCC_PATH/config
    echo 0x17d91074 > $DCC_PATH/config
    echo 0x17d910e0 > $DCC_PATH/config
    echo 0x17d91410 > $DCC_PATH/config

}

config_cinder_dcc_misc()
{
    # WDOG_BITE_INT0_CONFIG
    echo 0x17400038 > $DCC_PATH/config
    # EPSSTOP_MUC_HANG_DET_CTRL
    echo 0x17d98010 > $DCC_PATH/config
    # SOC_HW_VERSION
    echo 0x1fc8000 > $DCC_PATH/config
}

config_cinder_dcc_ddr()
{
    #Pimem
    echo 0x610110 5 > $DCC_PATH/config

    # SHRM CSR
    echo 0x1908e008 > $DCC_PATH/config
    # MCCC
    echo 0x190ba280 > $DCC_PATH/config
    echo 0x192e0610 > $DCC_PATH/config
    echo 0x190ba288 8 > $DCC_PATH/config
    echo 0x192e0614 3 > $DCC_PATH/config
    # LLCC/CABO
    echo 0x1a200000 2 > $DCC_PATH/config

    echo 0x19238100 > $DCC_PATH/config
    echo 0x192420b0 > $DCC_PATH/config
    echo 0x19242044 4 > $DCC_PATH/config
    echo 0x19250020 > $DCC_PATH/config
    echo 0x1926005c 5 > $DCC_PATH/config

    echo 0x19338100 > $DCC_PATH/config
    echo 0x193420b0 > $DCC_PATH/config
    echo 0x19342044 4 > $DCC_PATH/config
    echo 0x19350020 > $DCC_PATH/config
    echo 0x1936005c 5 > $DCC_PATH/config

    echo 0x19638100 > $DCC_PATH/config
    echo 0x196420b0 > $DCC_PATH/config
    echo 0x19642044 4 > $DCC_PATH/config
    echo 0x19650020 > $DCC_PATH/config
    echo 0x1966005c 5 > $DCC_PATH/config

    echo 0x19738100 > $DCC_PATH/config
    echo 0x197420b0 > $DCC_PATH/config
    echo 0x19742044 4 > $DCC_PATH/config
    echo 0x19750020 > $DCC_PATH/config
    echo 0x1976005c 5 > $DCC_PATH/config

    echo 0x19B38100 > $DCC_PATH/config
    echo 0x19B420b0 > $DCC_PATH/config
    echo 0x19B42044 4 > $DCC_PATH/config
    echo 0x19B50020 > $DCC_PATH/config
    echo 0x19B6005c 5 > $DCC_PATH/config

    echo 0x19E38100 > $DCC_PATH/config
    echo 0x19E420b0 > $DCC_PATH/config
    echo 0x19E42044 4 > $DCC_PATH/config
    echo 0x19E50020 > $DCC_PATH/config
    echo 0x19E6005c 5 > $DCC_PATH/config

    echo 0x19A38100 > $DCC_PATH/config
    echo 0x19A420b0 > $DCC_PATH/config
    echo 0x19A42044 4 > $DCC_PATH/config
    echo 0x19A50020 > $DCC_PATH/config
    echo 0x19A6005c 5 > $DCC_PATH/config

    echo 0x19F38100 > $DCC_PATH/config
    echo 0x19F420b0 > $DCC_PATH/config
    echo 0x19F42044 4 > $DCC_PATH/config
    echo 0x19F50020 > $DCC_PATH/config
    echo 0x19F6005c 5 > $DCC_PATH/config

    echo 0x1a200000 2 > $DCC_PATH/config
    echo 0x1a201000 2 > $DCC_PATH/config
    echo 0x1a202000 2 > $DCC_PATH/config
    echo 0x1a203000 2 > $DCC_PATH/config
    echo 0x1a204000 2 > $DCC_PATH/config
    echo 0x1a205000 2 > $DCC_PATH/config
    echo 0x1a206000 2 > $DCC_PATH/config
    echo 0x1a207000 2 > $DCC_PATH/config
    echo 0x1a208000 2 > $DCC_PATH/config
    echo 0x1a209000 2 > $DCC_PATH/config
    echo 0x1a20a000 2 > $DCC_PATH/config
    echo 0x1a20b000 2 > $DCC_PATH/config
    echo 0x1a20c000 2 > $DCC_PATH/config
    echo 0x1a20d000 2 > $DCC_PATH/config
    echo 0x1a20e000 2 > $DCC_PATH/config
    echo 0x1a20f000 2 > $DCC_PATH/config
    echo 0x1a210000 2 > $DCC_PATH/config
    echo 0x1a211000 2 > $DCC_PATH/config
    echo 0x1a212000 2 > $DCC_PATH/config
    echo 0x1a213000 2 > $DCC_PATH/config
    echo 0x1a214000 2 > $DCC_PATH/config
    echo 0x1a215000 2 > $DCC_PATH/config
    echo 0x1a216000 2 > $DCC_PATH/config
    echo 0x1a217000 2 > $DCC_PATH/config
    echo 0x1a218000 2 > $DCC_PATH/config
    echo 0x1a219000 2 > $DCC_PATH/config
    echo 0x1a21a000 2 > $DCC_PATH/config
    echo 0x1a21b000 2 > $DCC_PATH/config
    echo 0x1a21c000 2 > $DCC_PATH/config
    echo 0x1a21d000 2 > $DCC_PATH/config
    echo 0x1a21e000 2 > $DCC_PATH/config
    echo 0x1a21f000 2 > $DCC_PATH/config
    # PHY
    echo 0x192856d4 4 > $DCC_PATH/config
    echo 0x19281b1c 3 > $DCC_PATH/config
    echo 0x19283b1c 3 > $DCC_PATH/config
    echo 0x19285188 3 > $DCC_PATH/config
    echo 0x19281db4 > $DCC_PATH/config
    echo 0x19281dbc > $DCC_PATH/config
    echo 0x19281dc4 > $DCC_PATH/config
    echo 0x19283db4 > $DCC_PATH/config
    echo 0x19283dbc > $DCC_PATH/config
    echo 0x19283dc4 > $DCC_PATH/config
    echo 0x1928583c > $DCC_PATH/config
    echo 0x1928581c > $DCC_PATH/config
    echo 0x192857fc > $DCC_PATH/config
    echo 0x19285830 > $DCC_PATH/config
    echo 0x19285840 > $DCC_PATH/config
    echo 0x19285848 > $DCC_PATH/config
    echo 0x19285810 > $DCC_PATH/config
    echo 0x19285258 > $DCC_PATH/config
    echo 0x19281f20 2 > $DCC_PATH/config
    echo 0x19281e6c > $DCC_PATH/config
    echo 0x19283e6c > $DCC_PATH/config
    # SHKE

    #SHRM
    echo 0x19032020 2 > $DCC_PATH/config
    echo 0x1908e01c > $DCC_PATH/config
    echo 0x1908e030 > $DCC_PATH/config
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1908e008 > $DCC_PATH/config
    echo 0x19032020 > $DCC_PATH/config
    echo 0x1908e948 > $DCC_PATH/config
    echo 0x19032024 > $DCC_PATH/config
    echo 0x19030040 0x1 > $DCC_PATH/config_write
    echo 0x1903005c 0x22C000 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C001 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C002 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C003 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C004 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C005 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C006 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C007 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C008 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C009 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C00A > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C00B > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C00C > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C00D > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C00E > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C00F > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C010 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C011 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C012 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C013 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C014 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C015 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C016 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C017 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C018 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C019 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C01A > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C01B > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C01C > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C01D > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C01E > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C01F > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C300 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C341 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C7B1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config

    #LLCC
    echo 0x19220344 9 > $DCC_PATH/config
    echo 0x19220370 7 > $DCC_PATH/config
    echo 0x19220480 > $DCC_PATH/config
    echo 0x19222400 26 > $DCC_PATH/config
    echo 0x19222470 5 > $DCC_PATH/config
    echo 0x19223214 2 > $DCC_PATH/config
    echo 0x19223308 > $DCC_PATH/config
    echo 0x19223318 > $DCC_PATH/config
    echo 0x19223318 > $DCC_PATH/config
    echo 0x1922358c > $DCC_PATH/config
    echo 0x19234010 > $DCC_PATH/config
    echo 0x1923801c 8 > $DCC_PATH/config
    echo 0x19238050 > $DCC_PATH/config
    echo 0x19238100 > $DCC_PATH/config
    echo 0x19238100 7 > $DCC_PATH/config
    echo 0x1923c004 > $DCC_PATH/config
    echo 0x1923c014 > $DCC_PATH/config
    echo 0x1923c020 > $DCC_PATH/config
    echo 0x1923c030 > $DCC_PATH/config
    echo 0x1923c05c 3 > $DCC_PATH/config
    echo 0x1923c074 > $DCC_PATH/config
    echo 0x1923c088 > $DCC_PATH/config
    echo 0x1923c0a0 > $DCC_PATH/config
    echo 0x1923c0b0 > $DCC_PATH/config
    echo 0x1923c0c0 > $DCC_PATH/config
    echo 0x1923c0d0 > $DCC_PATH/config
    echo 0x1923c0e0 > $DCC_PATH/config
    echo 0x1923c0f0 > $DCC_PATH/config
    echo 0x1923c100 > $DCC_PATH/config
    echo 0x1923d064 > $DCC_PATH/config
    echo 0x19240008 6 > $DCC_PATH/config
    echo 0x19240028 > $DCC_PATH/config
    echo 0x1924203c 3 > $DCC_PATH/config
    echo 0x19242044 2 > $DCC_PATH/config
    echo 0x19242048 2 > $DCC_PATH/config
    echo 0x1924204c 10 > $DCC_PATH/config
    echo 0x1924208c > $DCC_PATH/config
    echo 0x192420b0 > $DCC_PATH/config
    echo 0x192420b0 > $DCC_PATH/config
    echo 0x192420b8 3 > $DCC_PATH/config
    echo 0x192420f4 > $DCC_PATH/config
    echo 0x192420fc 3 > $DCC_PATH/config
    echo 0x19242104 5 > $DCC_PATH/config
    echo 0x19242114 > $DCC_PATH/config
    echo 0x19242324 14 > $DCC_PATH/config
    echo 0x19242410 > $DCC_PATH/config
    echo 0x192430a8 > $DCC_PATH/config
    echo 0x19248004 7 > $DCC_PATH/config
    echo 0x19248024 > $DCC_PATH/config
    echo 0x19248040 > $DCC_PATH/config
    echo 0x19248048 > $DCC_PATH/config
    echo 0x19249064 > $DCC_PATH/config
    echo 0x1924c000 > $DCC_PATH/config
    echo 0x1924c048 > $DCC_PATH/config
    echo 0x1924c054 2 > $DCC_PATH/config
    echo 0x1924c078 > $DCC_PATH/config
    echo 0x1924c108 > $DCC_PATH/config
    echo 0x1924c110 > $DCC_PATH/config
    echo 0x19250020 > $DCC_PATH/config
    echo 0x19250020 > $DCC_PATH/config
    echo 0x19251054 > $DCC_PATH/config
    echo 0x19252014 3 > $DCC_PATH/config
    echo 0x19252030 15 > $DCC_PATH/config
    echo 0x19252070 8 > $DCC_PATH/config
    echo 0x19252098 > $DCC_PATH/config
    echo 0x192520a0 > $DCC_PATH/config
    echo 0x192520c0 > $DCC_PATH/config
    echo 0x192520d0 3 > $DCC_PATH/config
    echo 0x192520f4 10 > $DCC_PATH/config
    echo 0x19252120 12 > $DCC_PATH/config
    echo 0x1926004c 10 > $DCC_PATH/config
    echo 0x19260078 > $DCC_PATH/config
    echo 0x1926020c > $DCC_PATH/config
    echo 0x19260214 > $DCC_PATH/config
    echo 0x19261084 > $DCC_PATH/config
    echo 0x19262020 > $DCC_PATH/config
    echo 0x19263020 > $DCC_PATH/config
    echo 0x19264020 > $DCC_PATH/config
    echo 0x19265020 > $DCC_PATH/config
    echo 0x19320344 2 > $DCC_PATH/config
    echo 0x19320348 8 > $DCC_PATH/config
    echo 0x19320370 7 > $DCC_PATH/config
    echo 0x19320480 > $DCC_PATH/config
    echo 0x19320480 > $DCC_PATH/config
    echo 0x19322400 > $DCC_PATH/config
    echo 0x19322400 26 > $DCC_PATH/config
    echo 0x19322470 5 > $DCC_PATH/config
    echo 0x19323214 2 > $DCC_PATH/config
    echo 0x19323308 > $DCC_PATH/config
    echo 0x19323308 > $DCC_PATH/config
    echo 0x19323318 > $DCC_PATH/config
    echo 0x19323318 > $DCC_PATH/config
    echo 0x1932358c > $DCC_PATH/config
    echo 0x19334010 > $DCC_PATH/config
    echo 0x1933801c 8 > $DCC_PATH/config
    echo 0x19338050 > $DCC_PATH/config
    echo 0x19338100 > $DCC_PATH/config
    echo 0x19338100 7 > $DCC_PATH/config
    echo 0x1933c004 > $DCC_PATH/config
    echo 0x1933c014 > $DCC_PATH/config
    echo 0x1933c020 > $DCC_PATH/config
    echo 0x1933c030 > $DCC_PATH/config
    echo 0x1933c05c 3 > $DCC_PATH/config
    echo 0x1933c074 > $DCC_PATH/config
    echo 0x1933c088 > $DCC_PATH/config
    echo 0x1933c0a0 > $DCC_PATH/config
    echo 0x1933c0b0 > $DCC_PATH/config
    echo 0x1933c0c0 > $DCC_PATH/config
    echo 0x1933c0d0 > $DCC_PATH/config
    echo 0x1933c0e0 > $DCC_PATH/config
    echo 0x1933c0f0 > $DCC_PATH/config
    echo 0x1933c100 > $DCC_PATH/config
    echo 0x1933d064 > $DCC_PATH/config
    echo 0x19340008 6 > $DCC_PATH/config
    echo 0x19340028 > $DCC_PATH/config
    echo 0x1934203c 3 > $DCC_PATH/config
    echo 0x19342044 2 > $DCC_PATH/config
    echo 0x19342048 2 > $DCC_PATH/config
    echo 0x1934204c 10 > $DCC_PATH/config
    echo 0x1934208c > $DCC_PATH/config
    echo 0x193420b0 > $DCC_PATH/config
    echo 0x193420b0 > $DCC_PATH/config
    echo 0x193420b8 3 > $DCC_PATH/config
    echo 0x193420f4 > $DCC_PATH/config
    echo 0x193420fc 3 > $DCC_PATH/config
    echo 0x19342104 5 > $DCC_PATH/config
    echo 0x19342114 > $DCC_PATH/config
    echo 0x19342324 14 > $DCC_PATH/config
    echo 0x19342410 > $DCC_PATH/config
    echo 0x193430a8 > $DCC_PATH/config
    echo 0x19348004 > $DCC_PATH/config
    echo 0x19348004 2 > $DCC_PATH/config
    echo 0x19348008 2 > $DCC_PATH/config
    echo 0x1934800c 2 > $DCC_PATH/config
    echo 0x19348010 4 > $DCC_PATH/config
    echo 0x19348024 > $DCC_PATH/config
    echo 0x19348040 > $DCC_PATH/config
    echo 0x19348048 > $DCC_PATH/config
    echo 0x19349064 > $DCC_PATH/config
    echo 0x1934c000 > $DCC_PATH/config
    echo 0x1934c048 > $DCC_PATH/config
    echo 0x1934c054 2 > $DCC_PATH/config
    echo 0x1934c078 > $DCC_PATH/config
    echo 0x1934c108 > $DCC_PATH/config
    echo 0x1934c110 > $DCC_PATH/config
    echo 0x19350020 > $DCC_PATH/config
    echo 0x19350020 > $DCC_PATH/config
    echo 0x19351054 > $DCC_PATH/config
    echo 0x19352014 3 > $DCC_PATH/config
    echo 0x19352030 15 > $DCC_PATH/config
    echo 0x19352070 8 > $DCC_PATH/config
    echo 0x19352098 > $DCC_PATH/config
    echo 0x193520a0 > $DCC_PATH/config
    echo 0x193520c0 > $DCC_PATH/config
    echo 0x193520d0 3 > $DCC_PATH/config
    echo 0x193520f4 10 > $DCC_PATH/config
    echo 0x19352120 12 > $DCC_PATH/config
    echo 0x1936004c 10 > $DCC_PATH/config
    echo 0x1966004C 10 > $DCC_PATH/config
    echo 0x1976004C 10 > $DCC_PATH/config
    echo 0x19A6004C 10 > $DCC_PATH/config
    echo 0x19B6004C 10 > $DCC_PATH/config
    echo 0x19E6004C 10 > $DCC_PATH/config
    echo 0x19F6004C 10 > $DCC_PATH/config
    echo 0x19360078 > $DCC_PATH/config
    echo 0x1936020c > $DCC_PATH/config
    echo 0x19360214 > $DCC_PATH/config
    echo 0x19361084 > $DCC_PATH/config
    echo 0x19362020 > $DCC_PATH/config
    echo 0x19363020 > $DCC_PATH/config
    echo 0x19364020 > $DCC_PATH/config
    echo 0x19365020 > $DCC_PATH/config
    echo 0x19200004 > $DCC_PATH/config
    echo 0x19201004 > $DCC_PATH/config
    echo 0x19202004 > $DCC_PATH/config
    echo 0x19203004 > $DCC_PATH/config
    echo 0x19204004 > $DCC_PATH/config
    echo 0x19205004 > $DCC_PATH/config
    echo 0x19206004 > $DCC_PATH/config
    echo 0x19207004 > $DCC_PATH/config
    echo 0x19208004 > $DCC_PATH/config
    echo 0x19209004 > $DCC_PATH/config
    echo 0x1920a004 > $DCC_PATH/config
    echo 0x1920b004 > $DCC_PATH/config
    echo 0x1920c004 > $DCC_PATH/config
    echo 0x1920d004 > $DCC_PATH/config
    echo 0x1920e004 > $DCC_PATH/config
    echo 0x1920f004 > $DCC_PATH/config
    echo 0x19210004 > $DCC_PATH/config
    echo 0x19211004 > $DCC_PATH/config
    echo 0x19212004 > $DCC_PATH/config
    echo 0x19213004 > $DCC_PATH/config
    echo 0x19214004 > $DCC_PATH/config
    echo 0x19215004 > $DCC_PATH/config
    echo 0x19216004 > $DCC_PATH/config
    echo 0x19217004 > $DCC_PATH/config
    echo 0x19218004 > $DCC_PATH/config
    echo 0x19219004 > $DCC_PATH/config
    echo 0x1921a004 > $DCC_PATH/config
    echo 0x1921b004 > $DCC_PATH/config
    echo 0x1921c004 > $DCC_PATH/config
    echo 0x1921d004 > $DCC_PATH/config
    echo 0x1921e004 > $DCC_PATH/config
    echo 0x1921f004 > $DCC_PATH/config

    # MC0_CABO
    echo 0x192c0410 3 > $DCC_PATH/config
    echo 0x192c04a0 > $DCC_PATH/config
    echo 0x192c0448 > $DCC_PATH/config
    echo 0x192c1420 > $DCC_PATH/config
    echo 0x192c0440 > $DCC_PATH/config
    echo 0x192C0424 > $DCC_PATH/config
    echo 0x192c1430 > $DCC_PATH/config
    echo 0x193C0410 3 > $DCC_PATH/config
    echo 0x193C04A0 > $DCC_PATH/config
    echo 0x193C0448 > $DCC_PATH/config
    echo 0x193C1420 > $DCC_PATH/config
    echo 0x193C0440 > $DCC_PATH/config
    echo 0x193C0424 > $DCC_PATH/config
    echo 0x193C1430 > $DCC_PATH/config
    echo 0x196C0410 3 > $DCC_PATH/config
    echo 0x196C04A0 > $DCC_PATH/config
    echo 0x196C0448 > $DCC_PATH/config
    echo 0x196C1420 > $DCC_PATH/config
    echo 0x196C0440 > $DCC_PATH/config
    echo 0x196C0424 > $DCC_PATH/config
    echo 0x196C1430 > $DCC_PATH/config
    echo 0x197C0410 3 > $DCC_PATH/config
    echo 0x197C04A0 > $DCC_PATH/config
    echo 0x197C0448 > $DCC_PATH/config
    echo 0x197C1420 > $DCC_PATH/config
    echo 0x197C0440 > $DCC_PATH/config
    echo 0x197C0424 > $DCC_PATH/config
    echo 0x197C1430 > $DCC_PATH/config
    echo 0x19AC0410 3 > $DCC_PATH/config
    echo 0x19AC04A0 > $DCC_PATH/config
    echo 0x19AC0448 > $DCC_PATH/config
    echo 0x19AC1420 > $DCC_PATH/config
    echo 0x19AC0440 > $DCC_PATH/config
    echo 0x19AC0424 > $DCC_PATH/config
    echo 0x19AC1430 > $DCC_PATH/config
    echo 0x19BC0410 3 > $DCC_PATH/config
    echo 0x19BC04A0 > $DCC_PATH/config
    echo 0x19BC0448 > $DCC_PATH/config
    echo 0x19BC1420 > $DCC_PATH/config
    echo 0x19BC0440 > $DCC_PATH/config
    echo 0x19BC0424 > $DCC_PATH/config
    echo 0x19BC1430 > $DCC_PATH/config
    echo 0x19EC0410 3 > $DCC_PATH/config
    echo 0x19EC04A0 > $DCC_PATH/config
    echo 0x19EC0448 > $DCC_PATH/config
    echo 0x19EC1420 > $DCC_PATH/config
    echo 0x19EC0440 > $DCC_PATH/config
    echo 0x19EC0424 > $DCC_PATH/config
    echo 0x19EC1430 > $DCC_PATH/config
    echo 0x19FC0410 3 > $DCC_PATH/config
    echo 0x19FC04A0 > $DCC_PATH/config
    echo 0x19FC0448 > $DCC_PATH/config
    echo 0x19FC1420 > $DCC_PATH/config
    echo 0x19FC0440 > $DCC_PATH/config
    echo 0x19FC0424 > $DCC_PATH/config
    echo 0x19FC1430 > $DCC_PATH/config
    echo 0x192c0400 > $DCC_PATH/config
    echo 0x193C0400 > $DCC_PATH/config
    echo 0x196C0400 > $DCC_PATH/config
    echo 0x197C0400 > $DCC_PATH/config
    echo 0x19AC0400 > $DCC_PATH/config
    echo 0x19BC0400 > $DCC_PATH/config
    echo 0x19EC0400 > $DCC_PATH/config
    echo 0x19FC0400 > $DCC_PATH/config
    echo 0x192c04b8 > $DCC_PATH/config
    echo 0x193C04B8 > $DCC_PATH/config
    echo 0x196C04B8 > $DCC_PATH/config
    echo 0x197C04B8 > $DCC_PATH/config
    echo 0x19AC04B8 > $DCC_PATH/config
    echo 0x19BC04B8 > $DCC_PATH/config
    echo 0x19EC04B8 > $DCC_PATH/config
    # MCCC
    echo 0x190ba280 > $DCC_PATH/config
    echo 0x190ba288 8 > $DCC_PATH/config
    echo 0x192e0610 4 > $DCC_PATH/config
    echo 0x192e0680 4 > $DCC_PATH/config

    # DDRPHY
    echo 0x19281e64 > $DCC_PATH/config
    echo 0x19281ea0 > $DCC_PATH/config
    echo 0x19281f30 2 > $DCC_PATH/config
    echo 0x19283e64 > $DCC_PATH/config
    echo 0x19283ea0 > $DCC_PATH/config
    echo 0x19283f30 2 > $DCC_PATH/config
    echo 0x1928527c > $DCC_PATH/config
    echo 0x19285290 > $DCC_PATH/config
    echo 0x192854ec > $DCC_PATH/config
    echo 0x192854f4 > $DCC_PATH/config
    echo 0x19285514 > $DCC_PATH/config
    echo 0x1928551c > $DCC_PATH/config
    echo 0x19285524 > $DCC_PATH/config
    echo 0x19285548 > $DCC_PATH/config
    echo 0x19285550 > $DCC_PATH/config
    echo 0x19285558 > $DCC_PATH/config
    echo 0x192855b8 > $DCC_PATH/config
    echo 0x192855c0 > $DCC_PATH/config
    echo 0x192855ec > $DCC_PATH/config
    echo 0x19285860 > $DCC_PATH/config
    echo 0x19285870 > $DCC_PATH/config
    echo 0x192858a0 > $DCC_PATH/config
    echo 0x192858a8 > $DCC_PATH/config
    echo 0x192858b0 > $DCC_PATH/config
    echo 0x192858b8 > $DCC_PATH/config
    echo 0x192858d8 2 > $DCC_PATH/config
    echo 0x192858f4 > $DCC_PATH/config
    echo 0x192858fc > $DCC_PATH/config
    echo 0x19285920 > $DCC_PATH/config
    echo 0x19285928 > $DCC_PATH/config
    echo 0x19285944 > $DCC_PATH/config
    echo 0x19286604 > $DCC_PATH/config
    echo 0x1928660c > $DCC_PATH/config

    # SHRM2
    echo 0x19032020 2 > $DCC_PATH/config
    echo 0x1908e01c > $DCC_PATH/config
    echo 0x1908e030 > $DCC_PATH/config
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1908e008 > $DCC_PATH/config
    echo 0x19032020 > $DCC_PATH/config
    echo 0x1908e948 > $DCC_PATH/config
    echo 0x19032024 > $DCC_PATH/config

    echo 0x19030040 0x1 1 > $DCC_PATH/config_write
    echo 0x1903005c 0x22C000 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config

    echo 0x1903005c 0x22C001 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C002 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C003 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C004 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C005 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C006 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C007 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C008 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C009 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C00A 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C00B 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C00C 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C00D 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C00E 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C00F 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C010 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C011 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C012 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C013 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C014 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C015 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C016 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C017 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C018 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C019 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C01A 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C01B 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C01C 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C01D 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C01E 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C01F 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C300 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C341 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
    echo 0x1903005c 0x22C7B1 1 > $DCC_PATH/config_write
    echo 0x19030010 > $DCC_PATH/config
}

config_cinder_dcc_gic()
{
    echo 0x17200104 29 > $DCC_PATH/config
    echo 0x17200204 29 > $DCC_PATH/config
    echo 0x17200384 29 > $DCC_PATH/config
}

config_cinder_dcc_gcc()
{
    echo 0x80000 2 > $DCC_PATH/config
    echo 0x81000 2 > $DCC_PATH/config
    echo 0x82000 2 > $DCC_PATH/config
    echo 0x83000 2 > $DCC_PATH/config
    echo 0x84000 2 > $DCC_PATH/config
    echo 0x85000 2 > $DCC_PATH/config
    echo 0x86000 2 > $DCC_PATH/config
    echo 0x87000 2 > $DCC_PATH/config
    echo 0x88000 2 > $DCC_PATH/config
    echo 0xc2a0000 2 > $DCC_PATH/config
    echo 0xc2a1000 2 > $DCC_PATH/config
    echo 0xc2a900c > $DCC_PATH/config
    echo 0xa7168 > $DCC_PATH/config
    echo 0xa729c > $DCC_PATH/config
    echo 0xa73d0 > $DCC_PATH/config
    echo 0xa7504 > $DCC_PATH/config
    echo 0xa7638 > $DCC_PATH/config
    echo 0xa776c > $DCC_PATH/config
    echo 0xa8168 > $DCC_PATH/config
    echo 0xa829c > $DCC_PATH/config
    echo 0xa83d0 > $DCC_PATH/config
    echo 0xa8504 > $DCC_PATH/config
    echo 0xa8638 > $DCC_PATH/config
    echo 0xa876c > $DCC_PATH/config
    echo 0xd1028 > $DCC_PATH/config
    echo 0x10406c > $DCC_PATH/config
    echo 0xa7034 > $DCC_PATH/config
    echo 0xd4174 > $DCC_PATH/config
    echo 0x113024 > $DCC_PATH/config
    echo 0x10603c > $DCC_PATH/config
    echo 0x11d004 2 > $DCC_PATH/config
    echo 0xfc004 2 > $DCC_PATH/config
    echo 0xc9008 > $DCC_PATH/config
    echo 0xc9004 > $DCC_PATH/config
    echo 0xe2000 > $DCC_PATH/config
    echo 0xe2008 > $DCC_PATH/config
    echo 0xe2010 > $DCC_PATH/config
    echo 0xe300c > $DCC_PATH/config
    echo 0xe3014 > $DCC_PATH/config
    echo 0xe301c > $DCC_PATH/config
    echo 0xe6000 > $DCC_PATH/config
    echo 0xe6008 > $DCC_PATH/config
    echo 0xe6010 > $DCC_PATH/config
    echo 0xe1000 > $DCC_PATH/config
    echo 0xe1008 > $DCC_PATH/config
    echo 0xe1010 > $DCC_PATH/config
    echo 0xea000 > $DCC_PATH/config
    echo 0xea008 > $DCC_PATH/config
    echo 0xea010 > $DCC_PATH/config
    echo 0xe7000 > $DCC_PATH/config
    echo 0xe7008 > $DCC_PATH/config
    echo 0xe7010 > $DCC_PATH/config
    echo 0xf900c > $DCC_PATH/config
    echo 0xf9014 > $DCC_PATH/config
    echo 0xf901c > $DCC_PATH/config
    echo 0xa0004 > $DCC_PATH/config
    echo 0x120004 > $DCC_PATH/config
    echo 0x113004 2 > $DCC_PATH/config
    echo 0xd4004 > $DCC_PATH/config

    echo 0x104008 2 > $DCC_PATH/config
    echo 0x11d02c > $DCC_PATH/config
    echo 0x11d024 > $DCC_PATH/config
    echo 0x11d048 > $DCC_PATH/config
    echo 0x11d040 > $DCC_PATH/config
    echo 0x11d01c > $DCC_PATH/config
    echo 0x11d018 > $DCC_PATH/config


    echo 0xa1004 4 > $DCC_PATH/config
}

config_cinder_dcc_smmu()
{
    echo 0x150e8008 > $DCC_PATH/config
    echo 0x150025dc > $DCC_PATH/config
    echo 0x150055dc > $DCC_PATH/config
    echo 0x150075dc > $DCC_PATH/config
    echo 0x150075dc > $DCC_PATH/config
    echo 0x15002204 > $DCC_PATH/config
    echo 0x15002670 > $DCC_PATH/config
    echo 0x15002648 > $DCC_PATH/config
    echo 0x150022fc 3 > $DCC_PATH/config
    echo 0x150022fc > $DCC_PATH/config
    echo 0x15002304 > $DCC_PATH/config
}

config_cinder_dcc_gemnoc()
{
    #gem_noc_qns_llcc0_poc_err_Err
    echo 0x19100010 1 > $DCC_PATH/config
    echo 0x19100018 1 > $DCC_PATH/config
    echo 0x19100020 1 > $DCC_PATH/config
    echo 0x19100024 1 > $DCC_PATH/config
    echo 0x19100028 1 > $DCC_PATH/config
    echo 0x1910002C 1 > $DCC_PATH/config
    echo 0x19100030 1 > $DCC_PATH/config
    echo 0x19100034 1 > $DCC_PATH/config
    #gem_noc_qns_llcc1_poc_err_Err
    echo 0x19100410 1 > $DCC_PATH/config
    echo 0x19100418 1 > $DCC_PATH/config
    echo 0x19100420 1 > $DCC_PATH/config
    echo 0x19100424 1 > $DCC_PATH/config
    echo 0x19100428 1 > $DCC_PATH/config
    echo 0x1910042C 1 > $DCC_PATH/config
    echo 0x19100430 1 > $DCC_PATH/config
    echo 0x19100434 1 > $DCC_PATH/config
    #gem_noc_qns_llcc4_poc_err_Err
    echo 0x19100810 1 > $DCC_PATH/config
    echo 0x19100818 1 > $DCC_PATH/config
    echo 0x19100820 1 > $DCC_PATH/config
    echo 0x19100824 1 > $DCC_PATH/config
    echo 0x19100828 1 > $DCC_PATH/config
    echo 0x1910082C 1 > $DCC_PATH/config
    echo 0x19100830 1 > $DCC_PATH/config
    echo 0x19100834 1 > $DCC_PATH/config
    #gem_noc_qns_llcc5_poc_err_Err
    echo 0x19100C10 1 > $DCC_PATH/config
    echo 0x19100C18 1 > $DCC_PATH/config
    echo 0x19100C20 1 > $DCC_PATH/config
    echo 0x19100C24 1 > $DCC_PATH/config
    echo 0x19100C28 1 > $DCC_PATH/config
    echo 0x19100C2C 1 > $DCC_PATH/config
    echo 0x19100C30 1 > $DCC_PATH/config
    echo 0x19100C34 1 > $DCC_PATH/config
    #gem_noc_qns_llcc2_poc_err_Err
    echo 0x19140010 1 > $DCC_PATH/config
    echo 0x19140018 1 > $DCC_PATH/config
    echo 0x19140020 1 > $DCC_PATH/config
    echo 0x19140024 1 > $DCC_PATH/config
    echo 0x19140028 1 > $DCC_PATH/config
    echo 0x1914002C 1 > $DCC_PATH/config
    echo 0x19140030 1 > $DCC_PATH/config
    echo 0x19140034 1 > $DCC_PATH/config
    #gem_noc_qns_llcc6_poc_err_Err
    echo 0x19140410 1 > $DCC_PATH/config
    echo 0x19140418 1 > $DCC_PATH/config
    echo 0x19140420 1 > $DCC_PATH/config
    echo 0x19140424 1 > $DCC_PATH/config
    echo 0x19140428 1 > $DCC_PATH/config
    echo 0x1914042C 1 > $DCC_PATH/config
    echo 0x19140430 1 > $DCC_PATH/config
    echo 0x19140434 1 > $DCC_PATH/config
    #gem_noc_qns_llcc3_poc_err_Err
    echo 0x19140810 1 > $DCC_PATH/config
    echo 0x19140818 1 > $DCC_PATH/config
    echo 0x19140820 1 > $DCC_PATH/config
    echo 0x19140824 1 > $DCC_PATH/config
    echo 0x19140828 1 > $DCC_PATH/config
    echo 0x1914082C 1 > $DCC_PATH/config
    echo 0x19140830 1 > $DCC_PATH/config
    echo 0x19140834 1 > $DCC_PATH/config
    #gem_noc_qns_llcc7_poc_err_Err
    echo 0x19140C10 1 > $DCC_PATH/config
    echo 0x19140C18 1 > $DCC_PATH/config
    echo 0x19140C20 1 > $DCC_PATH/config
    echo 0x19140C24 1 > $DCC_PATH/config
    echo 0x19140C28 1 > $DCC_PATH/config
    echo 0x19140C2C 1 > $DCC_PATH/config
    echo 0x19140C30 1 > $DCC_PATH/config
    echo 0x19140C34 1 > $DCC_PATH/config
    #gem_noc_qns_cnoc_poc_err_Err
    echo 0x19180010 1 > $DCC_PATH/config
    echo 0x19180018 1 > $DCC_PATH/config
    echo 0x19180020 1 > $DCC_PATH/config
    echo 0x19180024 1 > $DCC_PATH/config
    echo 0x19180028 1 > $DCC_PATH/config
    echo 0x1918002C 1 > $DCC_PATH/config
    echo 0x19180030 1 > $DCC_PATH/config
    echo 0x19180034 1 > $DCC_PATH/config
    #gem_noc_qns_pcie_poc_err_Err
    echo 0x19180410 1 > $DCC_PATH/config
    echo 0x19180418 1 > $DCC_PATH/config
    echo 0x19180420 1 > $DCC_PATH/config
    echo 0x19180424 1 > $DCC_PATH/config
    echo 0x19180428 1 > $DCC_PATH/config
    echo 0x1918042C 1 > $DCC_PATH/config
    echo 0x19180430 1 > $DCC_PATH/config
    echo 0x19180434 1 > $DCC_PATH/config
    #gem_noc_qns_modem_slave_poc_err_Err
    echo 0x19180810 1 > $DCC_PATH/config
    echo 0x19180818 1 > $DCC_PATH/config
    echo 0x19180820 1 > $DCC_PATH/config
    echo 0x19180824 1 > $DCC_PATH/config
    echo 0x19180828 1 > $DCC_PATH/config
    echo 0x1918082C 1 > $DCC_PATH/config
    echo 0x19180830 1 > $DCC_PATH/config
    echo 0x19180834 1 > $DCC_PATH/config

    #gem_noc_qns_*_poc_dbg
    echo 0x19104008 1 > $DCC_PATH/config
    echo 0x1910400C 1 > $DCC_PATH/config
    echo 0x19104408 1 > $DCC_PATH/config
    echo 0x1910440C 1 > $DCC_PATH/config
    echo 0x19104808 1 > $DCC_PATH/config
    echo 0x1910480C 1 > $DCC_PATH/config
    echo 0x19104C08 1 > $DCC_PATH/config
    echo 0x19104C0C 1 > $DCC_PATH/config
    echo 0x19144008 1 > $DCC_PATH/config
    echo 0x1914400C 1 > $DCC_PATH/config
    echo 0x19144408 1 > $DCC_PATH/config
    echo 0x1914440C 1 > $DCC_PATH/config
    echo 0x19144808 1 > $DCC_PATH/config
    echo 0x1914480C 1 > $DCC_PATH/config
    echo 0x19144C08 1 > $DCC_PATH/config
    echo 0x19144C0C 1 > $DCC_PATH/config
    echo 0x19184008 1 > $DCC_PATH/config
    echo 0x1918400C 1 > $DCC_PATH/config
    echo 0x19184408 1 > $DCC_PATH/config
    echo 0x1918440C 1 > $DCC_PATH/config
    echo 0x19184808 1 > $DCC_PATH/config
    echo 0x1918480C 1 > $DCC_PATH/config
    echo 0x19180C48 1 > $DCC_PATH/config
    echo 0x19180C4C 1 > $DCC_PATH/config

    # QOS Gen registers
    echo 0x191AF010 1 > $DCC_PATH/config
    echo 0x191B0010 1 > $DCC_PATH/config
    echo 0x191B1010 1 > $DCC_PATH/config
    echo 0x191B2010 1 > $DCC_PATH/config
    echo 0x191B3010 1 > $DCC_PATH/config
    echo 0x191B4010 1 > $DCC_PATH/config
    echo 0x191B5010 1 > $DCC_PATH/config
    echo 0x191B6010 1 > $DCC_PATH/config
    echo 0x191B7010 1 > $DCC_PATH/config
    echo 0x191B8010 1 > $DCC_PATH/config

    #debugchain
    echo 0x19102000 1 > $DCC_PATH/config
    echo 0x19102004 1 > $DCC_PATH/config
    echo 0x5  > $DCC_PATH/loop
    echo 0x19102008 1 > $DCC_PATH/config
    echo 0x19102010 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x19102014 1 > $DCC_PATH/config
    echo 0x19102018 1 > $DCC_PATH/config
    echo 0x19102080 1 > $DCC_PATH/config
    echo 0x19102084 1 > $DCC_PATH/config
    echo 0x19102088 1 > $DCC_PATH/config
    echo 0x5  > $DCC_PATH/loop
    echo 0x19102090 1 > $DCC_PATH/config
    echo 0x19102094 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x19102098 1 > $DCC_PATH/config
    echo 0x19142000 1 > $DCC_PATH/config
    echo 0x19142004 1 > $DCC_PATH/config
    echo 0x19142008 1 > $DCC_PATH/config
    echo 0x5  > $DCC_PATH/loop
    echo 0x19142010 1 > $DCC_PATH/config
    echo 0x19142014 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x19142018 1 > $DCC_PATH/config
    echo 0x19142080 1 > $DCC_PATH/config
    echo 0x19142084 1 > $DCC_PATH/config
    echo 0x19142088 1 > $DCC_PATH/config
    echo 0x5  > $DCC_PATH/loop
    echo 0x19142090 1 > $DCC_PATH/config
    echo 0x19142094 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x19142098 1 > $DCC_PATH/config
    echo 0x19182000 1 > $DCC_PATH/config
    echo 0x19182004 1 > $DCC_PATH/config
    echo 0x19182008 1 > $DCC_PATH/config
    echo 0x4  > $DCC_PATH/loop
    echo 0x19182010 1 > $DCC_PATH/config
    echo 0x19182014 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x19182018 1 > $DCC_PATH/config
    echo 0x19182080 1 > $DCC_PATH/config
    echo 0x19182084 1 > $DCC_PATH/config
    echo 0x19182088 1 > $DCC_PATH/config
    echo 0xb  > $DCC_PATH/loop
    echo 0x19182090 1 > $DCC_PATH/config
    echo 0x19182094 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x19182098 1 > $DCC_PATH/config

    #tmo
    echo 0x19104010 > $DCC_PATH/config
    echo 0x40  > $DCC_PATH/loop
    echo 0x19104038 > $DCC_PATH/config
    echo 0x19104030 2 > $DCC_PATH/config
    echo 0x19104030 2 > $DCC_PATH/config
    echo 0x19104030 2 > $DCC_PATH/config
    echo 0x19104030 2 > $DCC_PATH/config
    echo 0x1 > $DCC_PATH/loop

    echo 0x19104410 > $DCC_PATH/config
    echo 0x40  > $DCC_PATH/loop
    echo 0x19104438 > $DCC_PATH/config
    echo 0x19104430 2 > $DCC_PATH/config
    echo 0x19104430 2 > $DCC_PATH/config
    echo 0x19104430 2 > $DCC_PATH/config
    echo 0x19104430 2 > $DCC_PATH/config
    echo 0x1 > $DCC_PATH/loop

    echo 0x19104810 > $DCC_PATH/config
    echo 0x40  > $DCC_PATH/loop
    echo 0x19104838 > $DCC_PATH/config
    echo 0x19104830 2 > $DCC_PATH/config
    echo 0x19104830 2 > $DCC_PATH/config
    echo 0x19104830 2 > $DCC_PATH/config
    echo 0x19104830 2 > $DCC_PATH/config
    echo 0x1 > $DCC_PATH/loop

    echo 0x19104C10 > $DCC_PATH/config
    echo 0x40  > $DCC_PATH/loop
    echo 0x19104C38 > $DCC_PATH/config
    echo 0x19104C30 2 > $DCC_PATH/config
    echo 0x19104C30 2 > $DCC_PATH/config
    echo 0x19104C30 2 > $DCC_PATH/config
    echo 0x19104C30 2 > $DCC_PATH/config
    echo 0x1 > $DCC_PATH/loop

    echo 0x19144010 > $DCC_PATH/config
    echo 0x40  > $DCC_PATH/loop
    echo 0x19144038 > $DCC_PATH/config
    echo 0x19144030 2 > $DCC_PATH/config
    echo 0x19144030 2 > $DCC_PATH/config
    echo 0x19144030 2 > $DCC_PATH/config
    echo 0x19144030 2 > $DCC_PATH/config
    echo 0x1 > $DCC_PATH/loop

    echo 0x19144410 > $DCC_PATH/config
    echo 0x40  > $DCC_PATH/loop
    echo 0x19144438 > $DCC_PATH/config
    echo 0x19144430 2 > $DCC_PATH/config
    echo 0x19144430 2 > $DCC_PATH/config
    echo 0x19144430 2 > $DCC_PATH/config
    echo 0x19144430 2 > $DCC_PATH/config
    echo 0x1 > $DCC_PATH/loop

    echo 0x19144810 > $DCC_PATH/config
    echo 0x40  > $DCC_PATH/loop
    echo 0x19144838 > $DCC_PATH/config
    echo 0x19144830 2 > $DCC_PATH/config
    echo 0x19144830 2 > $DCC_PATH/config
    echo 0x19144830 2 > $DCC_PATH/config
    echo 0x19144830 2 > $DCC_PATH/config
    echo 0x1 > $DCC_PATH/loop

    echo 0x19144C10 > $DCC_PATH/config
    echo 0x40  > $DCC_PATH/loop
    echo 0x19144C38 > $DCC_PATH/config
    echo 0x19144C30 2 > $DCC_PATH/config
    echo 0x19144C30 2 > $DCC_PATH/config
    echo 0x19144C30 2 > $DCC_PATH/config
    echo 0x19144C30 2 > $DCC_PATH/config
    echo 0x1 > $DCC_PATH/loop

    echo 0x19184010 > $DCC_PATH/config
    echo 0x40  > $DCC_PATH/loop
    echo 0x19184038 > $DCC_PATH/config
    echo 0x19184030 2 > $DCC_PATH/config
    echo 0x19184030 2 > $DCC_PATH/config
    echo 0x19184030 2 > $DCC_PATH/config
    echo 0x19184030 2 > $DCC_PATH/config
    echo 0x1 > $DCC_PATH/loop

    echo 0x19184410 > $DCC_PATH/config
    echo 0x40  > $DCC_PATH/loop
    echo 0x19184438 > $DCC_PATH/config
    echo 0x19184430 2 > $DCC_PATH/config
    echo 0x19184430 2 > $DCC_PATH/config
    echo 0x19184430 2 > $DCC_PATH/config
    echo 0x19184430 2 > $DCC_PATH/config
    echo 0x1 > $DCC_PATH/loop

    echo 0x19184810 > $DCC_PATH/config
    echo 0x40  > $DCC_PATH/loop
    echo 0x19184838 > $DCC_PATH/config
    echo 0x19184830 2 > $DCC_PATH/config
    echo 0x19184830 2 > $DCC_PATH/config
    echo 0x19184830 2 > $DCC_PATH/config
    echo 0x19184830 2 > $DCC_PATH/config
    echo 0x1 > $DCC_PATH/loop
}

config_cinder_dcc_prng()
{
    echo 0x10C1000 1 > $DCC_PATH/config
    echo 0x10C1004 1 > $DCC_PATH/config
    echo 0x10C1010 1 > $DCC_PATH/config
    echo 0x10C1014 1 > $DCC_PATH/config
    echo 0x10C1018 1 > $DCC_PATH/config
    echo 0x10C101C 1 > $DCC_PATH/config
    echo 0x10C1020 1 > $DCC_PATH/config
    echo 0x10C1024 1 > $DCC_PATH/config
    echo 0x10C1028 1 > $DCC_PATH/config
    echo 0x10C1100 1 > $DCC_PATH/config
    echo 0x10C1104 1 > $DCC_PATH/config
    echo 0x10C1108 1 > $DCC_PATH/config
    echo 0x10C1110 1 > $DCC_PATH/config
    echo 0x10C1114 1 > $DCC_PATH/config
    echo 0x10C1118 1 > $DCC_PATH/config
    echo 0x10C111C 1 > $DCC_PATH/config
    echo 0x10C1120 1 > $DCC_PATH/config
    echo 0x10C1124 1 > $DCC_PATH/config
    echo 0x10C1128 1 > $DCC_PATH/config
    echo 0x10C1130 1 > $DCC_PATH/config
    echo 0x10C1134 1 > $DCC_PATH/config
    echo 0x10C113C 1 > $DCC_PATH/config
    echo 0x10C1140 1 > $DCC_PATH/config
    echo 0x10C1148 1 > $DCC_PATH/config
    echo 0x10C114C 1 > $DCC_PATH/config
    echo 0x10C1150 1 > $DCC_PATH/config

}

config_cinder_dcc_snoc()
{
    #snoc_obs
    echo 0x1640008 1 > $DCC_PATH/config
    echo 0x1640010 1 > $DCC_PATH/config
    echo 0x1640018 1 > $DCC_PATH/config
    echo 0x1640020 1 > $DCC_PATH/config
    echo 0x1640024 1 > $DCC_PATH/config
    echo 0x1640028 1 > $DCC_PATH/config
    echo 0x164002C 1 > $DCC_PATH/config
    echo 0x1640030 1 > $DCC_PATH/config
    echo 0x1640034 1 > $DCC_PATH/config
    echo 0x1640038 1 > $DCC_PATH/config
    echo 0x164003C 1 > $DCC_PATH/config

    #snoc_sbm
    echo 0x1640240 1 > $DCC_PATH/config
    echo 0x1640248 1 > $DCC_PATH/config
    echo 0x1643040 1 > $DCC_PATH/config
    echo 0x1643044 1 > $DCC_PATH/config
    echo 0x1643048 1 > $DCC_PATH/config
    echo 0x164304C 1 > $DCC_PATH/config
    echo 0x1643050 1 > $DCC_PATH/config
    echo 0x1643054 1 > $DCC_PATH/config
    echo 0x1643058 1 > $DCC_PATH/config
    echo 0x164305C 1 > $DCC_PATH/config

    #qosgen
    echo 0x1670010 1 > $DCC_PATH/config
    echo 0x1674010 1 > $DCC_PATH/config
    echo 0x1677010 1 > $DCC_PATH/config
    echo 0x167A010 1 > $DCC_PATH/config
    echo 0x167B010 1 > $DCC_PATH/config
    echo 0x167C010 1 > $DCC_PATH/config
    echo 0x167D010 1 > $DCC_PATH/config
    echo 0x1680010 1 > $DCC_PATH/config
    echo 0x1681010 1 > $DCC_PATH/config
    echo 0x1682010 1 > $DCC_PATH/config
    echo 0x1685010 1 > $DCC_PATH/config

    #system_noc_DebugChain
    echo 0x1641008 1 > $DCC_PATH/config
    echo 0x6  > $DCC_PATH/loop
    echo 0x1641010 1 > $DCC_PATH/config
    echo 0x1641014 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x1641018 1 > $DCC_PATH/config
    echo 0x1641088 1 > $DCC_PATH/config
    echo 0x6  > $DCC_PATH/loop
    echo 0x1641090 1 > $DCC_PATH/config
    echo 0x1641094 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x1641098 1 > $DCC_PATH/config
    echo 0x1641108 1 > $DCC_PATH/config
    echo 0x16  > $DCC_PATH/loop
    echo 0x1641110 1 > $DCC_PATH/config
    echo 0x1641114 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x1641118 1 > $DCC_PATH/config
}

config_cinder_dcc_pcie_agnoc()
{

    #system_noc_DebugChain_pcie
    echo 0x4  > $DCC_PATH/loop
    echo 0x1  > $DCC_PATH/loop
}

config_cinder_dcc_dc_dch_noc()
{
    echo 0x190E0008 1 > $DCC_PATH/config
    echo 0x190E0010 1 > $DCC_PATH/config
    echo 0x190E0018 1 > $DCC_PATH/config
    echo 0x190E0020 1 > $DCC_PATH/config
    echo 0x190E0024 1 > $DCC_PATH/config
    echo 0x190E0028 1 > $DCC_PATH/config
    echo 0x190E002C 1 > $DCC_PATH/config
    echo 0x190E0030 1 > $DCC_PATH/config
    echo 0x190E0034 1 > $DCC_PATH/config
    echo 0x190E0038 1 > $DCC_PATH/config
    echo 0x190E003C 1 > $DCC_PATH/config
    echo 0x190E0240 1 > $DCC_PATH/config
    echo 0x190E0248 1 > $DCC_PATH/config
    echo 0x190E5008 1 > $DCC_PATH/config
    echo 0x6  > $DCC_PATH/loop
    echo 0x190E5010 1 > $DCC_PATH/config
    echo 0x190E5014 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x190E5018 1 > $DCC_PATH/config
}

config_cinder_dcc_dc_ch01()
{
    echo 0x195F0008 1 > $DCC_PATH/config
    echo 0x195F0010 1 > $DCC_PATH/config
    echo 0x195F0018 1 > $DCC_PATH/config
    echo 0x195F0020 1 > $DCC_PATH/config
    echo 0x195F0024 1 > $DCC_PATH/config
    echo 0x195F0028 1 > $DCC_PATH/config
    echo 0x195F002C 1 > $DCC_PATH/config
    echo 0x195F0030 1 > $DCC_PATH/config
    echo 0x195F0034 1 > $DCC_PATH/config
    echo 0x195F0038 1 > $DCC_PATH/config
    echo 0x195F003C 1 > $DCC_PATH/config
    echo 0x195F0240 1 > $DCC_PATH/config
    echo 0x195F0248 1 > $DCC_PATH/config
    echo 0x195F2008 1 > $DCC_PATH/config
    echo 0x3  > $DCC_PATH/loop
    echo 0x195F2010 1 > $DCC_PATH/config
    echo 0x195F2014 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x195F2018 1 > $DCC_PATH/config
}

config_cinder_dcc_dc_ch23()
{
    echo 0x199F0008 1 > $DCC_PATH/config
    echo 0x199F0010 1 > $DCC_PATH/config
    echo 0x199F0018 1 > $DCC_PATH/config
    echo 0x199F0020 1 > $DCC_PATH/config
    echo 0x199F0024 1 > $DCC_PATH/config
    echo 0x199F0028 1 > $DCC_PATH/config
    echo 0x199F002C 1 > $DCC_PATH/config
    echo 0x199F0030 1 > $DCC_PATH/config
    echo 0x199F0034 1 > $DCC_PATH/config
    echo 0x199F0038 1 > $DCC_PATH/config
    echo 0x199F003C 1 > $DCC_PATH/config
    echo 0x199F0240 1 > $DCC_PATH/config
    echo 0x199F0248 1 > $DCC_PATH/config

    echo 0x199F2008 1 > $DCC_PATH/config
    echo 0x3  > $DCC_PATH/loop
    echo 0x199F2010 1 > $DCC_PATH/config
    echo 0x199F2014 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x199F2018 1 > $DCC_PATH/config
}

config_cinder_dcc_dc_ch45()
{
    echo 0x199F2008 1 > $DCC_PATH/config
    echo 0x199F2010 1 > $DCC_PATH/config
    echo 0x199F2014 1 > $DCC_PATH/config
    echo 0x199F2018 1 > $DCC_PATH/config
    echo 0x19DF0008 1 > $DCC_PATH/config
    echo 0x19DF0010 1 > $DCC_PATH/config
    echo 0x19DF0018 1 > $DCC_PATH/config
    echo 0x19DF0020 1 > $DCC_PATH/config
    echo 0x19DF0024 1 > $DCC_PATH/config
    echo 0x19DF0028 1 > $DCC_PATH/config
    echo 0x19DF002C 1 > $DCC_PATH/config
    echo 0x19DF0030 1 > $DCC_PATH/config
    echo 0x19DF0034 1 > $DCC_PATH/config
    echo 0x19DF0038 1 > $DCC_PATH/config
    echo 0x19DF003C 1 > $DCC_PATH/config
    echo 0x19DF0240 1 > $DCC_PATH/config
    echo 0x19DF0248 1 > $DCC_PATH/config
    echo 0x19DF2008 1 > $DCC_PATH/config
    echo 0x3  > $DCC_PATH/loop
    echo 0x19DF2010 1 > $DCC_PATH/config
    echo 0x19DF2014 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x19DF2018 1 > $DCC_PATH/config
}

config_cinder_dcc_dc_ch67()
{
    echo 0x1A1F0008 1 > $DCC_PATH/config
    echo 0x1A1F0010 1 > $DCC_PATH/config
    echo 0x1A1F0018 1 > $DCC_PATH/config
    echo 0x1A1F0020 1 > $DCC_PATH/config
    echo 0x1A1F0024 1 > $DCC_PATH/config
    echo 0x1A1F0028 1 > $DCC_PATH/config
    echo 0x1A1F002C 1 > $DCC_PATH/config
    echo 0x1A1F0030 1 > $DCC_PATH/config
    echo 0x1A1F0034 1 > $DCC_PATH/config
    echo 0x1A1F0038 1 > $DCC_PATH/config
    echo 0x1A1F003C 1 > $DCC_PATH/config
    echo 0x1A1F0240 1 > $DCC_PATH/config
    echo 0x1A1F0248 1 > $DCC_PATH/config
    echo 0x1A1F2008 1 > $DCC_PATH/config
    echo 0x3  > $DCC_PATH/loop
    echo 0x1A1F2010 1 > $DCC_PATH/config
    echo 0x1A1F2014 1 > $DCC_PATH/config
    echo 0x1  > $DCC_PATH/loop
    echo 0x1A1F2018 1 > $DCC_PATH/config
}

enable_lemur_dcc_config()
{
    echo "++++ $0 -> ENABLE-DCC START" > /dev/kmsg
    DCC_PATH="/sys/bus/platform/devices/117f000.dcc_v2"
    if [ ! -d $DCC_PATH ];
    then
        echo "DCC does not exist on this build."
            return
    fi

    echo 0 > $DCC_PATH/enable
    echo 3 > $DCC_PATH/curr_list
    echo cap > $DCC_PATH/func_type
    echo sram > $DCC_PATH/data_sink
    echo 1 > $DCC_PATH/config_reset

    #Registers add space
    echo 0xb204520 1 > $DCC_PATH/config #RPMH_PDC_APPS_SEQ_START_ADDR
    echo 0xb201020 1 > $DCC_PATH/config #RPMH_PDC_APPS_SEQ_BUSY_DRV0
    echo 0xb201024 1 > $DCC_PATH/config #RPMH_PDC_APPS_SEQ_DBG_PROGRAM_COUNTER_DRV0
    echo 0xb211024 1 > $DCC_PATH/config #RPMH_PDC_APPS_SEQ_DBG_PROGRAM_COUNTER_DRV0
    echo 0xb204524 1 > $DCC_PATH/config #RPMH_PDC_APPS_SEQ_OVERRIDE_START_ADDR

    #RSC registers
    echo 0x1781002C 0x1480 > $DCC_PATH/config_write
    echo 0x17830408 1 > $DCC_PATH/config #APCS_RSCC_RSC_SEQ_PROGRAM_COUNTER_DRV0
    echo 0x17808004 1 > $DCC_PATH/config
    echo 0x17808020 1 > $DCC_PATH/config
    echo 0x1781002C 0x900 > $DCC_PATH/config_write

    echo 0xC201244 1 > $DCC_PATH/config
    echo 0xC202244 1 > $DCC_PATH/config
    echo 0xC20100C 0x9 > $DCC_PATH/config
    echo 0xC20200C 0x9 > $DCC_PATH/config

    echo 0x9690008 1 > $DCC_PATH/config
    echo 0x9690010 1 > $DCC_PATH/config
    echo 0x9693008 1 > $DCC_PATH/config
    echo 0x9693010 1 > $DCC_PATH/config
    echo 0x9698008 1 > $DCC_PATH/config
    echo 0x9698010 1 > $DCC_PATH/config
    #echo 0x969A008 1 > $DCC_PATH/config
    #echo 0x969A010 1 > $DCC_PATH/config
    echo 0x969B008 1 > $DCC_PATH/config
    echo 0x969B010 1 > $DCC_PATH/config

    #MEMNOC_HM_mem_noc_debug_master
    echo 0x9685100 1 > $DCC_PATH/config
    echo 0x9685104 1 > $DCC_PATH/config
    echo 0x968510C 1 > $DCC_PATH/config
    echo 0x9685110 1 > $DCC_PATH/config
    echo 0x9685114 1 > $DCC_PATH/config
    echo 0x9685300 1 > $DCC_PATH/config
    echo 0x9685308 1 > $DCC_PATH/config
    echo 0x968530C 1 > $DCC_PATH/config
    echo 0x969E100 1 > $DCC_PATH/config
    echo 0x96A3100 1 > $DCC_PATH/config

    #MEMNOC_HM_mem_noc_errorlogger
    echo 0x9680000 1 > $DCC_PATH/config
    echo 0x9680008 1 > $DCC_PATH/config
    echo 0x9680010 1 > $DCC_PATH/config
    echo 0x9680020 7 > $DCC_PATH/config

    #MEMNOC_HM_mem_noc_sbm
    echo 0x9680440 1 > $DCC_PATH/config
    echo 0x9680448 1 > $DCC_PATH/config

    echo 0x162C008 1 > $DCC_PATH/config
    echo 0x162C010 1 > $DCC_PATH/config
    echo 0x162D008 1 > $DCC_PATH/config
    echo 0x162D010 1 > $DCC_PATH/config
    echo 0x162E008 1 > $DCC_PATH/config
    echo 0x162E010 1 > $DCC_PATH/config
    echo 0x162F008 1 > $DCC_PATH/config
    echo 0x162F010 1 > $DCC_PATH/config
    echo 0x1630008 1 > $DCC_PATH/config
    echo 0x1630010 1 > $DCC_PATH/config
    echo 0x1631008 1 > $DCC_PATH/config
    echo 0x1631010 1 > $DCC_PATH/config
    echo 0x1632008 1 > $DCC_PATH/config
    echo 0x1632010 1 > $DCC_PATH/config
    echo 0x1634008 1 > $DCC_PATH/config
    echo 0x1634010 1 > $DCC_PATH/config
    echo 0x1635008 1 > $DCC_PATH/config
    echo 0x1635010 1 > $DCC_PATH/config
    echo 0x1636008 1 > $DCC_PATH/config
    echo 0x1636010 1 > $DCC_PATH/config
    echo 0x1637008 1 > $DCC_PATH/config
    echo 0x1637010 1 > $DCC_PATH/config
    echo 0x1638008 1 > $DCC_PATH/config
    echo 0x1638010 1 > $DCC_PATH/config

    echo 0x164D100 1 > $DCC_PATH/config
    echo 0x164E100 1 > $DCC_PATH/config
    echo 0x164E104 1 > $DCC_PATH/config
    echo 0x164E108 1 > $DCC_PATH/config
    echo 0x164E10C 1 > $DCC_PATH/config
    echo 0x164E110 1 > $DCC_PATH/config
    echo 0x164F100 1 > $DCC_PATH/config
    echo 0x164F104 1 > $DCC_PATH/config
    echo 0x164F108 1 > $DCC_PATH/config
    echo 0x164F10C 1 > $DCC_PATH/config
    echo 0x1650100 1 > $DCC_PATH/config
    echo 0x1650104 1 > $DCC_PATH/config
    echo 0x1650108 1 > $DCC_PATH/config
    echo 0x165010C 1 > $DCC_PATH/config
    echo 0x1651100 1 > $DCC_PATH/config
    echo 0x1651104 1 > $DCC_PATH/config

    echo 0x1620010 1 > $DCC_PATH/config
    echo 0x1620018 1 > $DCC_PATH/config
    echo 0x1620020 1 > $DCC_PATH/config
    echo 0x1620024 1 > $DCC_PATH/config
    echo 0x1620028 1 > $DCC_PATH/config
    echo 0x162002C 1 > $DCC_PATH/config
    echo 0x1620030 1 > $DCC_PATH/config
    echo 0x1620034 1 > $DCC_PATH/config
    echo 0x1620038 1 > $DCC_PATH/config
    echo 0x162003C 1 > $DCC_PATH/config

    echo 0x1620240 1 > $DCC_PATH/config
    echo 0x1620244 1 > $DCC_PATH/config
    echo 0x1620248 1 > $DCC_PATH/config
    echo 0x162024C 1 > $DCC_PATH/config

    echo 0x117004 1 > $DCC_PATH/config
    echo 0x12F004 1 > $DCC_PATH/config
    echo 0x143004 1 > $DCC_PATH/config
    echo 0x148004 1 > $DCC_PATH/config
    #LLCC/CABO Registers
    echo 0x9220344 8 > $DCC_PATH/config
    echo 0x9220370 6 > $DCC_PATH/config
    echo 0x9220480 > $DCC_PATH/config
    echo 0x9222400 5 > $DCC_PATH/config
    echo 0x9223214 5 > $DCC_PATH/config
    echo 0x9223308 > $DCC_PATH/config
    echo 0x9223318 > $DCC_PATH/config
    echo 0x9230010 > $DCC_PATH/config
    echo 0x9230020 > $DCC_PATH/config
    echo 0x9230030 > $DCC_PATH/config
    echo 0x9230040 > $DCC_PATH/config
    echo 0x9232050 > $DCC_PATH/config
    echo 0x9232100 > $DCC_PATH/config
    echo 0x9236040 8 > $DCC_PATH/config
    echo 0x92360A0 > $DCC_PATH/config
    echo 0x92360B0 > $DCC_PATH/config
    echo 0x9238004 > $DCC_PATH/config
    echo 0x9238014 > $DCC_PATH/config
    echo 0x923805C > $DCC_PATH/config
    echo 0x923A004 7 > $DCC_PATH/config
    echo 0x923E030 2 > $DCC_PATH/config
    echo 0x9241000 > $DCC_PATH/config
    echo 0x9242028 > $DCC_PATH/config
    echo 0x9242044 3 > $DCC_PATH/config
    echo 0x9242070 > $DCC_PATH/config
    echo 0x9248030 > $DCC_PATH/config
    echo 0x9248048 8 > $DCC_PATH/config
    echo 0x9260080 > $DCC_PATH/config
    echo 0x9260400 > $DCC_PATH/config
    echo 0x9260410 5 > $DCC_PATH/config
    echo 0x9260430 > $DCC_PATH/config
    echo 0x9260440 > $DCC_PATH/config
    echo 0x9260448 > $DCC_PATH/config
    echo 0x92604A0 > $DCC_PATH/config
    echo 0x92604B0 > $DCC_PATH/config
    echo 0x92604B8 2 > $DCC_PATH/config
    echo 0x92604D0 2 > $DCC_PATH/config
    echo 0x9261400 > $DCC_PATH/config
    echo 0x9263410 > $DCC_PATH/config
    echo 0x92653B0 > $DCC_PATH/config
    echo 0x9265804 > $DCC_PATH/config
    echo 0x9265B1C > $DCC_PATH/config
    echo 0x9265B2C > $DCC_PATH/config
    echo 0x9265B38 > $DCC_PATH/config
    echo 0x9269100 > $DCC_PATH/config
    echo 0x9269110 > $DCC_PATH/config
    echo 0x9269120 > $DCC_PATH/config
    echo 0x9269108 > $DCC_PATH/config
    echo 0x9269118 > $DCC_PATH/config
    echo 0x9269180 2 > $DCC_PATH/config

    #RPMH_PDC_APPS_PROFILING_UNITpf_DRVd_TIMESTAMP_LO
    echo 0xB201204 > $DCC_PATH/config
    echo 0xB201218 > $DCC_PATH/config
    echo 0xB20122C > $DCC_PATH/config
    echo 0xB201240 > $DCC_PATH/config
    echo 0xB201254 > $DCC_PATH/config
    echo 0xB211204 > $DCC_PATH/config
    echo 0xB211218 > $DCC_PATH/config
    echo 0xB21122C > $DCC_PATH/config
    echo 0xB211240 > $DCC_PATH/config
    echo 0xB211254 > $DCC_PATH/config

    #RPMH_PDC_APPS_PROFILING_UNITpf_DRVd_TIMESTAMP_HI
    echo 0xB201208 > $DCC_PATH/config
    echo 0xB20121C > $DCC_PATH/config
    echo 0xB201230 > $DCC_PATH/config
    echo 0xB201244 > $DCC_PATH/config
    echo 0xB201258 > $DCC_PATH/config
    echo 0xB211208 > $DCC_PATH/config
    echo 0xB21121C > $DCC_PATH/config
    echo 0xB211230 > $DCC_PATH/config
    echo 0xB211244 > $DCC_PATH/config
    echo 0xB211258 > $DCC_PATH/config

    #RPMH_PDC_APPS_PROFILING_UNITpf_DRVd_OUTPUT
    echo 0xB201200 > $DCC_PATH/config
    echo 0xB201214 > $DCC_PATH/config
    echo 0xB201228 > $DCC_PATH/config
    echo 0xB20123C > $DCC_PATH/config
    echo 0xB201250 > $DCC_PATH/config
    echo 0xB211200 > $DCC_PATH/config
    echo 0xB211214 > $DCC_PATH/config
    echo 0xB211228 > $DCC_PATH/config
    echo 0xB21123C > $DCC_PATH/config
    echo 0xB211250 > $DCC_PATH/config

    echo 0x17808100 0x9 > $DCC_PATH/config

    echo 1 > $DCC_PATH/enable

    echo "++++ $0 -> ENABLE-DCC END" > /dev/kmsg

}

adjust_cinder_permission()
{
    #add permission for block_size, mem_type, mem_size nodes to collect diag over QDSS by ODL
    echo "++++ $0 -> adjust_permission START" > /dev/kmsg
    chmod 660 /sys/devices/platform/soc/10048000.tmc/coresight-tmc-etr/block_size
    chmod 660 /sys/devices/platform/soc/10048000.tmc/coresight-tmc-etr/buffer_size
    chown diag:root /dev/byte-cntr
    echo "++++ $0 -> adjust_permission END" > /dev/kmsg
}

create_cinder_stp_policy()
{
    echo "++++ $0 -> create_stp_policy START" > /dev/kmsg
    mkdir /sys/kernel/config/stp-policy/coresight-stm:p_ost.policy
    chmod 660 /sys/kernel/config/stp-policy/coresight-stm:p_ost.policy
    mkdir /sys/kernel/config/stp-policy/coresight-stm:p_ost.policy/default
    chmod 660 /sys/kernel/config/stp-policy/coresight-stm:p_ost.policy/default
    echo 0x10 > /sys/bus/coresight/devices/coresight-stm/traceid
    echo "++++ $0 -> create_stp_policy END" > /dev/kmsg
}

enable_cinder_stm_events()
{
    echo "++++ $0 -> enable_stm_events START" > /dev/kmsg
    # bail out if its perf config
    if [ ! -d /sys/module/msm_rtb ]
    then
        return
    fi
    # bail out if coresight isn't present
    if [ ! -d /sys/bus/coresight ]
    then
        return
    fi
    # bail out if ftrace events aren't present
    if [ ! -d /sys/kernel/debug/tracing/events ]
    then
        return
    fi

    echo $etr_size > /sys/bus/coresight/devices/coresight-tmc-etr/buffer_size
    echo 1 > /sys/bus/coresight/devices/coresight-tmc-etr/$sinkenable
    echo coresight-stm > /sys/class/stm_source/ftrace/stm_source_link
    echo 1 > /sys/bus/coresight/devices/coresight-stm/$srcenable
    echo 0 > /sys/bus/coresight/devices/coresight-stm/hwevent_enable
    echo "++++ $0 -> enable_stm_events END" > /dev/kmsg
}

enable_cinder_ftrace_event_tracing()
{
    echo "++++ $0 -> ENABLE-FTRACE START" > /dev/kmsg
    #Enable FTRACE_ENABLE on CINDER
    #bail out if its perf config
    if [ ! -d /sys/module/msm_rtb ]
    then
        return
    fi

    #bail out if coresight isn't present
    if [ ! -d /sys/bus/coresight ]
    then
        return
    fi

    echo 0 > /sys/kernel/debug/tracing/events/enable
    echo 0 > /sys/kernel/debug/tracing/tracing_on

    #IRQs
    echo 1 > /sys/kernel/debug/tracing/events/irq/enable
    #Workqueue
    echo 1 > /sys/kernel/debug/tracing/events/workqueue/enable
    #Timer
    echo 1 > /sys/kernel/debug/tracing/events/timer/timer_expire_entry/enable
    echo 1 > /sys/kernel/debug/tracing/events/timer/timer_expire_exit/enable
    echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_cancel/enable
    echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_expire_entry/enable
    echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_expire_exit/enable
    echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_init/enable
    echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_start/enable
    #sched
    echo 1 > /sys/kernel/debug/tracing/events/sched/sched_migrate_task/enable
    echo 1 > /sys/kernel/debug/tracing/events/sched/sched_pi_setprio/enable
    echo 1 > /sys/kernel/debug/tracing/events/sched/sched_switch/enable
    echo 1 > /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable
    echo 1 > /sys/kernel/debug/tracing/events/sched/sched_wakeup_new/enable
    # hot-plug
    echo 1 > /sys/kernel/debug/tracing/events/cpuhp/enable

    echo 1 > /sys/kernel/debug/tracing/events/power/cpu_frequency/enable
    echo 1 > /sys/kernel/debug/tracing/events/clk/enable
    echo 1 > /sys/kernel/debug/tracing/events/regulator/enable
    echo 1 > /sys/kernel/debug/tracing/events/rpmh/enable

    # EMMC Ftrace
    echo 1 > /sys/kernel/debug/tracing/events/mmc/mmc_request_start/enable
    echo 1 > /sys/kernel/debug/tracing/events/mmc/mmc_request_done/enable

    echo 1 > /sys/kernel/debug/tracing/tracing_on
    echo "++++ $0 -> ENABLE-FTRACE END" > /dev/kmsg
}

enable_cinder_dcc()
{
    echo "++++ $0 -> ENABLE-DCC START" > /dev/kmsg
    DCC_PATH="/sys/bus/platform/devices/100ff000.dcc_v2"
    if [ ! -d $DCC_PATH ];
    then
        echo "DCC does not exist on this build."
            return
    fi
    echo 0 > /sys/bus/platform/devices/100ff000.dcc_v2/enable
    echo 1 > /sys/bus/platform/devices/100ff000.dcc_v2/config_reset
    echo 3 > /sys/bus/platform/devices/100ff000.dcc_v2/curr_list

    config_cinder_dcc_thermal
    config_cinder_dcc_core
    config_cinder_dcc_lpm_pcu
    config_cinder_dcc_rpmh
    config_cinder_dcc_apss_rscc
    config_cinder_dcc_epss
    config_cinder_dcc_misc
    config_cinder_dcc_ddr
    config_cinder_dcc_prng

    config_cinder_dcc_gic
    config_cinder_dcc_gcc
    config_cinder_dcc_smmu
    config_cinder_dcc_gemnoc
    config_cinder_dcc_snoc
    config_cinder_dcc_dc_dch_noc
    config_cinder_dcc_dc_ch01
    config_cinder_dcc_dc_ch23
    config_cinder_dcc_dc_ch45
    config_cinder_dcc_dc_ch67

    echo 1 > /sys/bus/platform/devices/100ff000.dcc_v2/enable

    echo "++++ $0 -> ENABLE-DCC END" > /dev/kmsg
}

enable_cinder_debug()
{
    echo "++++ $0 -> enable_cinder_debug START" > /dev/kmsg
    etr_size="0x2000000"
    srcenable="enable_source"
    sinkenable="enable_sink"

    create_cinder_stp_policy
    adjust_cinder_permission
    enable_cinder_stm_events
    enable_cinder_ftrace_event_tracing
    enable_cinder_dcc
    echo "++++ $0 -> enable_cinder_debug END" > /dev/kmsg
}

set -e

case "$1" in
  start)
        soc_id=`cat /sys/devices/soc0/soc_id`

        case "$soc_id" in
        "290" | "296" | "297" | "298" | "322")
                echo -n "Starting powerconfig for mdm9607: "

                echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
                echo 80 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
                echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
                echo "1 806400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
                echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
                echo 806400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
                ;;
        esac

        case "$soc_id" in
        "299" | "572")
                echo -n "Starting powerconfig for mdm9607: "
                # enable ondemand on bootup
                echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                echo 806400 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
                echo "done"
                ;;
        esac

        case "$soc_id" in
        "279" | "284" | "285" | "286" | "283")
                echo -n "Starting powerconfig for MDM9650: "

                echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
                echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
                echo 800000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
                echo "85 800000:90" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
                echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
                echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

                # Disable standalone_pc
                echo N > /sys/module/lpm_levels/system/cpu0/standalone_pc/idle_enabled
                echo N > /sys/module/lpm_levels/system/cpu0/standalone_pc/suspend_enabled

                ;;
        esac

        case "$soc_id" in
        "234" | "235" | "236"| "237" | "238")
                echo -n "Starting powerconfig for 9x40: "

                echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
                echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
                echo 800000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
                echo "85 800000:90" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
                echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
                echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
                ;;
        esac

        case "$soc_id" in
        "104" | "105" | "106" | "107")
                echo -n "Starting powerconfig for 9x15: "
                echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
                echo 1 > /sys/module/rpm_resources/enable_low_power/pxo
                echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_dig
                echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_mem
                echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                echo "done"
                ;;
         esac

         case "$soc_id" in
         "134" | "148" | "149" | "150" | "151" | "152" | "173" | "174" | "175")
                echo -n "Starting powerconfig for 9x25: "
                echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
                echo 1 > /sys/module/lpm_resources/enable_low_power/pxo
                echo 1 > /sys/module/lpm_resources/enable_low_power/vdd_dig
                echo 675000 > /sys/module/lpm_resources/enable_low_power/vdd_mem
                echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                echo "done";
                ;;
         esac

         case "$soc_id" in
         "333" | "314")
                echo -n "Starting powerconfig for SDX20: "
                # Enable LPMs
                echo Y > /sys/module/lpm_levels/system/cpu0/wfi/idle_enabled
                echo Y > /sys/module/lpm_levels/system/cpu0/standalone_pc/idle_enabled
                echo Y > /sys/module/lpm_levels/system/cpu0/pc/idle_enabled
                echo Y > /sys/module/lpm_levels/system/cpu0/wfi/suspend_enabled
                echo Y > /sys/module/lpm_levels/system/cpu0/standalone_pc/suspend_enabled
                echo Y > /sys/module/lpm_levels/system/cpu0/pc/suspend_enabled

                echo interactive >  /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
                echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
                echo 800000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
                echo "85 800000:90" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
                echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
                echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

                ;;
         esac

         case "$soc_id" in
         "334" )
                echo -n "Starting powerconfig for SDX24: "
                #CPU Governor settings
                echo ondemand >  /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
                #Enable bus-dcvs
                echo "compute" > /sys/class/devfreq/soc:qcom,cpubw/governor
                echo 10 > /sys/class/devfreq/soc:qcom,cpubw/polling_interval

		echo "++++ $0 -> ENABLE-FTRACE" > /dev/kmsg
		#Enable FTRACE_ENABLE on SDX24
		#bail out if its perf config
		if [ ! -d /sys/module/msm_rtb ]
		then
			return
		fi

		#bail out if coresight isn't present
		if [ ! -d /sys/bus/coresight ]
		then
			return
		fi

		#coresight
		echo sg > /sys/bus/coresight/devices/coresight-tmc-etr/mem_type

		echo 0 > /sys/kernel/debug/tracing/events/enable
		echo mem > /sys/bus/coresight/devices/coresight-tmc-etr/out_mode
		echo 1 > /sys/bus/coresight/devices/coresight-tmc-etr/enable_sink
		echo 1 > /sys/bus/coresight/devices/coresight-stm/enable_source
		echo 1 > /sys/kernel/debug/tracing/tracing_on

		#SoftIRQs
		echo 1 > /sys/kernel/debug/tracing/events/irq/enable
		#echo 1 > /sys/kernel/debug/tracing/events/irq/filter
		echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_entry/enable
		echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_exit/enable
		echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_raise/enable
		#IRQs
		echo 1 > /sys/kernel/debug/tracing/events/irq/enable
		echo 1 > /sys/kernel/debug/tracing/events/irq/irq_handler_entry/enable
		echo 1 > /sys/kernel/debug/tracing/events/irq/irq_handler_exit/enable
		echo "++++ $0 -> END" > /dev/kmsg
	        ;;
	 esac

         case "$soc_id" in
         "352" | "373")
                echo -n "Starting powerconfig for QCS405/QCS403: "

		echo "++++ $0 -> ENABLE-FTRACE START" > /dev/kmsg
		#Enable FTRACE_ENABLE on SDX24
		#bail out if its perf config
		if [ ! -d /sys/module/msm_rtb ]
		then
			return
		fi

		#bail out if coresight isn't present
		if [ ! -d /sys/bus/coresight ]
		then
			return
		fi

		#coresight
		echo sg > /sys/bus/coresight/devices/coresight-tmc-etr/mem_type

		echo 0 > /sys/kernel/debug/tracing/events/enable
		echo mem > /sys/bus/coresight/devices/coresight-tmc-etr/out_mode
		echo 1 > /sys/bus/coresight/devices/coresight-tmc-etr/enable_sink
		echo 1 > /sys/bus/coresight/devices/coresight-stm/enable_source
		echo 1 > /sys/kernel/debug/tracing/tracing_on

		#SoftIRQs
		echo 1 > /sys/kernel/debug/tracing/events/irq/enable
		#echo 1 > /sys/kernel/debug/tracing/events/irq/filter
		echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_entry/enable
		echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_exit/enable
		echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_raise/enable
		#IRQs
		echo 1 > /sys/kernel/debug/tracing/events/irq/enable
		echo 1 > /sys/kernel/debug/tracing/events/irq/irq_handler_entry/enable
		echo 1 > /sys/kernel/debug/tracing/events/irq/irq_handler_exit/enable
		echo "++++ $0 -> FTRACE-Enable END" > /dev/kmsg

		echo "++++ $0 -> DCC-Enable START" > /dev/kmsg
		DCC_PATH="/sys/bus/platform/devices/b2000.dcc_v2"
		if [ ! -d $DCC_PATH ];
		then
			echo "DCC does not exist on this build."
		        return
		fi

		echo 0 > $DCC_PATH/enable
		echo 2 > $DCC_PATH/curr_list
		echo cap > $DCC_PATH/func_type
		echo sram > $DCC_PATH/data_sink
		echo 1 > $DCC_PATH/config_reset

		#GCC_BIMC
		echo 0x1823000 0x2 > $DCC_PATH/config
		echo 0x1823010 0x1 > $DCC_PATH/config
		echo 0x1823018 0x2 > $DCC_PATH/config
		echo 0x1823024 0x1 > $DCC_PATH/config

		#GCC_SYSTEM_NOC
		echo 0x1826004 0x2 > $DCC_PATH/config

		echo 1 > $DCC_PATH/enable
		echo "++++ $0 -> DCC-Enable END" > /dev/kmsg

		echo "++++ $0 -> END" > /dev/kmsg
	        ;;
	 esac

         case "$soc_id" in
         "187" | "227" | "228" | "229" | "230" | "231")
                echo -n "Starting powerconfig for 9x35: "
                subsyszero=`cat /sys/bus/msm_subsys/devices/subsys0/name`
                subsysone=`cat /sys/bus/msm_subsys/devices/subsys1/name`
                subsystwo=`cat /sys/bus/msm_subsys/devices/subsys2/name`
                if [ "$subsyszero" == "modem" ]
                then
                   subsys=subsys0
                elif [ "$subsysone" == "modem" ]
                then
                   subsys=subsys1
                else
                   subsys=subsys2
                fi
                counter=0
                while [ ${counter} -le 10 ]
                do
                  msstate=`cat /sys/bus/msm_subsys/devices/$subsys/state`
                  if [ "$msstate" == "ONLINE" ]
                  then
                      break
                  fi
                  counter=$(( $counter + 1 ))
                  sleep 1
                done
                echo Y > /sys/module/lpm_levels/system/cpu0/pc/idle_enabled
                echo Y > /sys/module/lpm_levels/system/cpu0/pc/suspend_enabled
                echo Y > /sys/module/lpm_levels/system/cpu0/standalone_pc/idle_enabled
                echo Y > /sys/module/lpm_levels/system/cpu0/standalone_pc/suspend_enabled

                echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
                echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
                echo 800000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
                echo "85 800000:90" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
                echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
                echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
                echo "done";
                ;;
         esac

        case "$soc_id" in
	"357" | "368")
                echo -n "Starting powerconfig for SDX55: "
                echo ondemand > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
                echo compute > /sys/class/devfreq/soc:qcom,cpubw/governor

                echo 10 > /sys/class/devfreq/soc:qcom,cpubw/polling_interval

		echo "++++ $0 -> ENABLE-FTRACE START" > /dev/kmsg
		#Enable FTRACE_ENABLE on SDX55
		#bail out if its perf config
		if [ ! -d /sys/module/msm_rtb ]
		then
			return
		fi

		#bail out if coresight isn't present
		if [ ! -d /sys/bus/coresight ]
		then
			return
		fi

		#coresight
		echo sg > /sys/bus/coresight/devices/coresight-tmc-etr/mem_type

		echo 0 > /sys/kernel/debug/tracing/events/enable
		echo mem > /sys/bus/coresight/devices/coresight-tmc-etr/out_mode
		echo 1 > /sys/bus/coresight/devices/coresight-tmc-etr/enable_sink
		echo 1 > /sys/bus/coresight/devices/coresight-stm/enable_source
		echo 1 > /sys/kernel/debug/tracing/tracing_on

		#SoftIRQs
		echo 1 > /sys/kernel/debug/tracing/events/irq/enable
		echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_entry/enable
		echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_exit/enable
		echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_raise/enable
		#IRQs
		echo 1 > /sys/kernel/debug/tracing/events/irq/enable
		echo 1 > /sys/kernel/debug/tracing/events/irq/irq_handler_entry/enable
		echo 1 > /sys/kernel/debug/tracing/events/irq/irq_handler_exit/enable
		echo 1 > /sys/kernel/debug/tracing/events/workqueue/enable
		echo 1 > /sys/kernel/debug/tracing/events/timer/timer_expire_entry/enable
		echo 1 > /sys/kernel/debug/tracing/events/timer/timer_expire_exit/enable
		echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_cancel/enable
		echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_expire_entry/enable
		echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_expire_exit/enable
		echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_init/enable
		echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_start/enable

		echo 1 > /sys/kernel/debug/tracing/tracing_on
		echo "++++ $0 -> ENABLE-FTRACE END" > /dev/kmsg

		echo "++++ $0 -> ENABLE-DCC START" > /dev/kmsg
		DCC_PATH="/sys/bus/platform/devices/10a2000.dcc_v2"
		if [ ! -d $DCC_PATH ];
		then
			echo "DCC does not exist on this build."
		        return
		fi

		echo 0 > $DCC_PATH/enable
		echo 2 > $DCC_PATH/curr_list
		echo cap > $DCC_PATH/func_type
		echo sram > $DCC_PATH/data_sink
		echo 1 > $DCC_PATH/config_reset

		#Registers add space
		echo 0x17830400 1 > $DCC_PATH/config #APCS_RSCC_RSC_SEQ_OVERRIDE_START_ADDR_DRV0
		echo 0x17830404 1 > $DCC_PATH/config #APCS_RSCC_RSC_SEQ_BUSY_DRV0
		echo 0x17830408 1 > $DCC_PATH/config #APCS_RSCC_RSC_SEQ_PROGRAM_COUNTER_DRV0
		echo 0xb204520 1 > $DCC_PATH/config #RPMH_PDC_APPS_SEQ_START_ADDR
		echo 0xb201020 1 > $DCC_PATH/config #RPMH_PDC_APPS_SEQ_BUSY_DRV0
		echo 0xb201024 1 > $DCC_PATH/config #RPMH_PDC_APPS_SEQ_DBG_PROGRAM_COUNTER_DRV0
		echo 0x17840400 1 > $DCC_PATH/config #APCS_RSCC_RSC_SEQ_OVERRIDE_START_ADDR_DRV1
		echo 0x17840408 1 > $DCC_PATH/config #APCS_RSCC_RSC_SEQ_PROGRAM_COUNTER_DRV1
		echo 0xb204524 1 > $DCC_PATH/config #RPMH_PDC_APPS_SEQ_OVERRIDE_START_ADDR

		echo 1 > $DCC_PATH/enable
		echo "++++ $0 -> ENABLE-DCC END" > /dev/kmsg
                echo "done";
                ;;
         esac

         case "$soc_id" in
         "458" | "483" | "509")
                echo -n "Starting powerconfig for SDXLEMUR: "
                echo RELATED > /sys/bus/msm_subsys/devices/subsys0/restart_level
                echo RELATED > /sys/bus/msm_subsys/devices/subsys1/restart_level
                #Mkdir for coresight-stm protocol folder
                stm_policy=/sys/kernel/config/stp-policy/coresight-stm:p_basic.policy
                mkdir $stm_policy
                chmod 0660 $stm_policy
                chown system:system $stm_policy
                mkdir $stm_policy/default
                chmod 0660 $stm_policy/default
                chown system:system $stm_policy/default
                chown diag:root /dev/byte-cntr

		echo ondemand > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
		#reduce the min frequency once boot is done
		echo 1144 > /sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/min_freq
		echo 10 > /sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/polling_interval

                enable_lemur_dcc_config
                out_mode=`cat /sys/bus/coresight/devices/coresight-tmc-etr/out_mode`
                if [ "$out_mode" == "mem" ]; then
                    enable_lemur_ftrace_event_tracing
                    echo 0 > /sys/kernel/debug/tracing/events/enable
                    echo 0 > /sys/kernel/debug/tracing/tracing_on
                fi

                echo "done";
                ;;
         esac

         case "$soc_id" in
         "116" | "142" | "154")
                echo -n "Starting powerconfig for 8x30: "
                echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
                echo 1 > /sys/module/rpm_resources/enable_low_power/L2_cache
                echo 1 > /sys/module/rpm_resources/enable_low_power/pxo
                echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_dig
                echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_mem
                echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
                chmod 664 /sys/devices/system/cpu/cpu1/online
                echo 10 > /sys/devices/platform/msm_sdcc.3/idle_timeout
                echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
                echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
                echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
                echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
                echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
                echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
                echo 918000 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq
                echo 918000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq
                echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
                echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
                echo 384000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
                echo "done"
                ;;
          esac

          case "$soc_id" in
          "126")
                set +e
                echo -n "Starting powerconfig for 8974: "
                echo 2 > /sys/module/lpm_resources/enable_low_power/l2
                echo 1 > /sys/module/lpm_resources/enable_low_power/pxo
                echo 1 > /sys/module/lpm_resources/enable_low_power/vdd_dig
                echo 1 > /sys/module/lpm_resources/enable_low_power/vdd_mem
                echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu2/power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu3/power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/idle_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/idle_enabled
                soc_revision=`cat /sys/devices/soc0/revision`
                if [ "$soc_revision" != "1.0" ]; then
                    echo 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled
                    echo 1 > /sys/module/pm_8x60/modes/cpu1/retention/idle_enabled
                    echo 1 > /sys/module/pm_8x60/modes/cpu2/retention/idle_enabled
                    echo 1 > /sys/module/pm_8x60/modes/cpu3/retention/idle_enabled
                fi
                echo 0 > /sys/module/msm_thermal/core_control/enabled
                echo 1 > /sys/devices/system/cpu/cpu1/online 2>&1 > /dev/null
                echo 1 > /sys/devices/system/cpu/cpu2/online 2>&1 > /dev/null
                echo 1 > /sys/devices/system/cpu/cpu3/online 2>&1 > /dev/null
                echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
                echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
                echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
                echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
                echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
                echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
                echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
                echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
                echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
                echo 3 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
                echo 960000 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq
                echo 960000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq
                echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
                echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
                echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
                echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
                echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq
                chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
                chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
                echo 1 > /sys/module/msm_thermal/core_control/enabled
                chown root.system /sys/devices/system/cpu/mfreq
                chmod 220 /sys/devices/system/cpu/mfreq
                chown root.system /sys/devices/system/cpu/cpu1/online
                chown root.system /sys/devices/system/cpu/cpu2/online
                chown root.system /sys/devices/system/cpu/cpu3/online
                chmod 664 /sys/devices/system/cpu/cpu1/online
                chmod 664 /sys/devices/system/cpu/cpu2/online
                chmod 664 /sys/devices/system/cpu/cpu3/online
                echo 1 > /dev/cpuctl/apps/cpu.notify_on_migrate
                echo "done"
                set +e
                ;;
         esac

         case "$soc_id" in
         "145" | "158" | "159" | "198" | "205" | "220" | "221" | "222" | "223" | "224" | "200")
                set +e
                echo -n "Starting powerconfig for 8226: "
                echo 4 > /sys/module/lpm_levels/enable_low_power/l2
                echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled
                echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled
                echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled
                echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled
                echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled
                echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled
                echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled
                echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled
                echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled
                echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled
                echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled
                echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled
                echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled
                echo 1 > /sys/devices/system/cpu/cpu1/online
                echo 1 > /sys/devices/system/cpu/cpu2/online
                echo 1 > /sys/devices/system/cpu/cpu3/online
                echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
                echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
                echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
                echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
                echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
                echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
                echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
                echo 787200 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq
                echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq
                echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
                echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
                chmod 664 /sys/devices/system/cpu/cpu1/online
                chmod 664 /sys/devices/system/cpu/cpu2/online
                chmod 664 /sys/devices/system/cpu/cpu3/online
                # disable msm_hsic_host for 8x26
                if [ -e /sys/bus/platform/drivers/msm_hsic_host ]; then
                    if [ ! -L /sys/bus/usb/devices/1-1 ]; then
                        echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind
                    fi
                fi
                echo "done"
                set +e
                ;;
         esac

         case "$soc_id" in
          "147" | "161" | "162" | "163" | "164" | "165" | "166")
                set +e
                echo -n "Starting powerconfig for 8610: "
                echo 4 > /sys/module/lpm_levels/enable_low_power/l2
                echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
                echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
                nr_cpus=`cat /proc/cpuinfo | grep processor | wc -l`
                if [ "$nr_cpus" == "2" ] || [ "$nr_cpus" == "3" ] || [ "$nr_cpus" == "4" ]; then
                    echo -n "Setting CPU1"
                    echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled
                    echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled
                    echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled
                    echo 1 > /sys/devices/system/cpu/cpu1/online
                    chmod 664 /sys/devices/system/cpu/cpu1/online
                fi
                if [ "$nr_cpus" == "3" ] || [ "$nr_cpus" == "4" ]; then
                    echo -n "Setting CPU2"
                    echo 1 > /sys/module/pm_8x60/modes/cpu2/power_collapse/suspend_enabled
                    echo 1 > /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/suspend_enabled
                    echo 1 > /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/idle_enabled
                    echo 1 > /sys/devices/system/cpu/cpu2/online
                    chmod 664 /sys/devices/system/cpu/cpu2/online
                fi
                if [ "$nr_cpus" == "4" ]; then
                    echo -n "Setting CPU3"
                    echo 1 > /sys/module/pm_8x60/modes/cpu3/power_collapse/suspend_enabled
                    echo 1 > /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/suspend_enabled
                    echo 1 > /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/idle_enabled
                    echo 1 > /sys/devices/system/cpu/cpu3/online
                    chmod 664 /sys/devices/system/cpu/cpu3/online
                fi
                echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
                echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
                echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
                echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
                echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
                echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
                echo 3 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
                echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq
                echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq
                echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
                echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
                echo "done"
                set +e
                ;;
         esac

         case "$soc_id" in
          "356")
                echo -n "Starting powerconfig for SXR2130: "

                echo "++++ $0 -> ENABLE-FTRACE START" > /dev/kmsg
                #bail out if its perf config
                if [ ! -d /sys/module/msm_rtb ]
                then
                        return
                fi

                #bail out if coresight isn't present
                if [ ! -d /sys/bus/coresight ]
                then
                        return
                fi

                #coresight
                echo 0 > /sys/kernel/debug/tracing/events/enable
                echo mem > /sys/bus/coresight/devices/coresight-tmc-etr/out_mode
                echo 1 > /sys/bus/coresight/devices/coresight-tmc-etr/enable_sink
                echo 1 > /sys/bus/coresight/devices/coresight-stm/enable_source
                echo 1 > /sys/kernel/debug/tracing/tracing_on
                #timer
                echo 1 > /sys/kernel/debug/tracing/events/timer/timer_expire_entry/enable
                echo 1 > /sys/kernel/debug/tracing/events/timer/timer_expire_exit/enable
                echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_cancel/enable
                echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_expire_entry/enable
                echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_expire_exit/enable
                echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_init/enable
                echo 1 > /sys/kernel/debug/tracing/events/timer/hrtimer_start/enable
                #enble FTRACE for softirq events
                echo 1 > /sys/kernel/debug/tracing/events/irq/enable
                echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_entry/enable
                echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_exit/enable
                echo 1 > /sys/kernel/debug/tracing/events/irq/softirq_raise/enable
                echo 1 > /sys/kernel/debug/tracing/events/irq/irq_handler_entry/enable
                echo 1 > /sys/kernel/debug/tracing/events/irq/irq_handler_exit/enable
                #enble FTRACE for Workqueue events
                echo 1 > /sys/kernel/debug/tracing/events/workqueue/enable
                #schedular
                echo 1 > /sys/kernel/debug/tracing/events/sched/sched_migrate_task/enable
                echo 1 > /sys/kernel/debug/tracing/events/sched/sched_switch/enable
                echo 1 > /sys/kernel/debug/tracing/events/sched/sched_wakeup_new/enable
                echo 1 > /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable

                echo "++++ $0 -> ENABLE-FTRACE END" > /dev/kmsg

                echo "done"
                ;;
         esac

         case "$soc_id" in
           "539" | "545")
                enable_cinder_debug
         ;;
         esac

         ;;
  stop)
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  *)
        echo "Usage pm { start | stop | restart}" >&2
        exit 1
        ;;
esac

# check if we are in recovery-boot mode and disable autosleep
# check for find_recovery_partitions.sh rather than the
# /usr/bin/recovery binary since the recovery binary is
# present in mission-mode bootup on devices that use A/B boot.
if [ -e /etc/init.d/find_recovery_partitions.sh ]; then
    echo -n "In recovery mode; turning off autosleep.." > /dev/kmsg
    echo off > /sys/power/autosleep
fi

exit 0

