text: /******************************************************************************
  * Copyright (C) 2018 – 2020 Xilinx, Inc.  All rights reserved.
  * SPDX-License-Identifier: MIT
  ******************************************************************************/
  
  
  #include "xparameters.h"
  #include "xil_cache.h"
  
  #include "platform_config.h"
  
  /*
   * Uncomment one of the following two lines, depending on the target,
   * if ps7/psu init source files are added in the source directory for
   * compiling example outside of SDK.
   */
  /*#include "ps7_init.h"*/
  /*#include "psu_init.h"*/
  
  #ifdef STDOUT_IS_16550
   #include "xuartns550_l.h"
  
   #define UART_BAUD 9600
  #endif
  
  void
  enable_caches()
  {
  #ifdef __PPC__
      Xil_ICacheEnableRegion(CACHEABLE_REGION_MASK);
      Xil_DCacheEnableRegion(CACHEABLE_REGION_MASK);
  #elif __MICROBLAZE__
  #ifdef XPAR_MICROBLAZE_USE_ICACHE
      Xil_ICacheEnable();
  #endif
  #ifdef XPAR_MICROBLAZE_USE_DCACHE
      Xil_DCacheEnable();
  #endif
  #endif
  }
  
  void
  disable_caches()
  {
  #ifdef __MICROBLAZE__
  #ifdef XPAR_MICROBLAZE_USE_DCACHE
      Xil_DCacheDisable();
  #endif
  #ifdef XPAR_MICROBLAZE_USE_ICACHE
      Xil_ICacheDisable();
  #endif
  #endif
  }
  
  void
  init_uart()
  {
  #ifdef STDOUT_IS_16550
      XUartNs550_SetBaud(STDOUT_BASEADDR, XPAR_XUARTNS550_CLOCK_HZ, UART_BAUD);
      XUartNs550_SetLineControlReg(STDOUT_BASEADDR, XUN_LCR_8_DATA_BITS);
  #endif
      /* Bootrom/BSP configures PS7/PSU UART to 115200 bps */
  }
  
  void
  init_platform()
  {
      /*
       * If you want to run this example outside of SDK,
       * uncomment one of the following two lines and also #include "ps7_init.h"
       * or #include "ps7_init.h" at the top, depending on the target.
       * Make sure that the ps7/psu_init.c and ps7/psu_init.h files are included
       * along with this example source files for compilation.
       */
      /* ps7_init();*/
      /* psu_init();*/
      enable_caches();
      init_uart();
  }
  
  void
  cleanup_platform()
  {
      disable_caches();
  }
  