diff options
author | Furquan Shaikh <furquan@chromium.org> | 2017-05-22 14:32:30 -0700 |
---|---|---|
committer | Furquan Shaikh <furquan@google.com> | 2017-05-24 04:43:23 +0200 |
commit | 53bbf87a4c145d6394935f315b06ffc81c939b47 (patch) | |
tree | 1b84cee23366fa73efc6bb5186caff056f679d9f /src/soc/marvell/armada38x/bootblock.c | |
parent | 12eca76469670d444897e67368a0d0a70787ad52 (diff) | |
download | coreboot-53bbf87a4c145d6394935f315b06ffc81c939b47.tar.xz |
soc/marvell/armada38x: Remove unused SoC armada38x
No mainboard is actually using this SoC. Remove the code for this SoC
for now.
BUG=b:38430839
Change-Id: Ia35986dffda8bbd76305ef5abab6ae81cc154b0f
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: https://review.coreboot.org/19824
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/marvell/armada38x/bootblock.c')
-rw-r--r-- | src/soc/marvell/armada38x/bootblock.c | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/src/soc/marvell/armada38x/bootblock.c b/src/soc/marvell/armada38x/bootblock.c deleted file mode 100644 index 8c125b5bb6..0000000000 --- a/src/soc/marvell/armada38x/bootblock.c +++ /dev/null @@ -1,176 +0,0 @@ -/* - * This file is part of the coreboot project. - * - * Copyright 2015 Google Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include <assert.h> -#include <arch/io.h> -#include <arch/cache.h> -#include <arch/exception.h> -#include <arch/hlt.h> -#include <bootblock_common.h> -#include <cbfs.h> -#include <console/console.h> -#include <delay.h> -#include <arch/stages.h> -#include <symbols.h> -#include <vendorcode/google/chromeos/chromeos.h> -#include <soc/common.h> - -#define CLOCK_BIT_SATA23 BIT30 -#define CLOCK_BIT_PNC BIT29 -#define CLOCK_BIT_TDM BIT25 -#define CLOCK_BIT_CRYPTO0_GATE BIT23 -#define CLOCK_BIT_CRYPTO1_GATE BIT21 -#define CLOCK_BIT_CRYPTO1_Z BIT16 -#define CLOCK_BIT_SATA01 BIT15 -#define CLOCK_BIT_CRYPTO0_Z BIT14 -#define CLOCK_BIT_BM BIT13 -#define CLOCK_BIT_PCIE2 BIT6 -#define CLOCK_BIT_PCIE1 BIT5 -#define CLOCK_BIT_GBE0 BIT4 -#define CLOCK_BIT_GBE1 BIT3 -#define CLOCK_BIT_GBE2 BIT2 -#define CLOCK_BIT_AUDIO BIT0 - -#define A38x_MPP0_7_OFFSET 0x18000 -#define A38x_MPP8_15_OFFSET 0x18004 -#define A38x_MPP16_23_OFFSET 0x18008 -#define A38x_MPP24_31_OFFSET 0x1800c -#define A38x_MPP32_39_OFFSET 0x18010 -#define A38x_MPP40_47_OFFSET 0x18014 -#define A38x_MPP48_55_OFFSET 0x18018 -#define A38x_MPP56_63_OFFSET 0x1801c - -#define A38X_GPP_OUT_ENA_OFFSET_LOW 0x18104 -#define A38X_GPP_OUT_ENA_OFFSET_MID 0x18144 - -#define A38X_GPP_OUT_VALUE_OFFSET_LOW 0x18100 -#define A38X_GPP_OUT_VALUE_OFFSET_MID 0x18140 - -#define A38x_CUBE_BOARD_MPP0_7 0x00001111 -#define A38x_CUBE_BOARD_MPP8_15 0x46200000 -#define A38x_CUBE_BOARD_MPP16_23 0x00400444 -#define A38x_CUBE_BOARD_MPP24_31 0x00043300 -#define A38x_CUBE_BOARD_MPP32_39 0x44400000 -#define A38x_CUBE_BOARD_MPP40_47 0x00000004 -#define A38x_CUBE_BOARD_MPP48_55 0x00444444 -#define A38x_CUBE_BOARD_MPP56_63 0x00004444 - -/* Set bit x to enable GPIO output mode for MPP x */ -#define A38x_CUBE_BOARD_0_GPP_OUT_ENA_LOW ~(BIT4 | BIT6) -/* MID group is for MPP32 ~ MPP63 e.g BIT3 corresponds to MPP35 */ -#define A38x_CUBE_BOARD_0_GPP_OUT_ENA_MID ~(BIT3) - -#define A38x_CUSTOMER_BOARD_0_GPP_OUT_VAL_LOW (BIT4) -/* MID group is for MPP32 ~ MPP63 e.g BIT3 corresponds to MPP35 */ -#define A38x_CUSTOMER_BOARD_0_GPP_OUT_VAL_MID (BIT3) - -#define A38X_POWER_MANAGEMENT_CLOCK_GATING_CONTROL 0x18220 - -#define A38x_SOC_IO_ERR_CTRL_OFFSET 0x20200 -#define A38x_SOC_WIN_CTRL_OFFSET 0x20250 -#define A38x_SOC_WIN_BASE_OFFSET 0x20254 - -#define A38x_CUBE_BOARD_SOC_IO_ERR_CTRL 0x00000000 -#define A38x_CUBE_BOARD_SOC_WIN_CTRL 0x1ff00001 -#define A38x_CUBE_BOARD_SOC_BASE_CTRL 0xe0000000 - -#define DRAM_START ((uintptr_t)_dram / MiB) -#define DRAM_SIZE (CONFIG_DRAM_SIZE_MB) -/* DMA memory for drivers */ -#define DMA_START ((uintptr_t)_dma_coherent / MiB) -#define DMA_SIZE (_dma_coherent_size / MiB) - -static void setup_pinmux(void) -{ - /* Hard coded pin mux configuration */ - mrvl_reg_write(A38x_MPP0_7_OFFSET, A38x_CUBE_BOARD_MPP0_7); - mrvl_reg_write(A38x_MPP8_15_OFFSET, A38x_CUBE_BOARD_MPP8_15); - mrvl_reg_write(A38x_MPP16_23_OFFSET, A38x_CUBE_BOARD_MPP16_23); - mrvl_reg_write(A38x_MPP24_31_OFFSET, A38x_CUBE_BOARD_MPP24_31); - mrvl_reg_write(A38x_MPP32_39_OFFSET, A38x_CUBE_BOARD_MPP32_39); - mrvl_reg_write(A38x_MPP40_47_OFFSET, A38x_CUBE_BOARD_MPP40_47); - mrvl_reg_write(A38x_MPP48_55_OFFSET, A38x_CUBE_BOARD_MPP48_55); - mrvl_reg_write(A38x_MPP56_63_OFFSET, A38x_CUBE_BOARD_MPP56_63); -} - -static void setup_gpp_out_value(void) -{ - mrvl_reg_write( - A38X_GPP_OUT_VALUE_OFFSET_LOW, - A38x_CUSTOMER_BOARD_0_GPP_OUT_VAL_LOW); - mrvl_reg_write( - A38X_GPP_OUT_VALUE_OFFSET_MID, - A38x_CUSTOMER_BOARD_0_GPP_OUT_VAL_MID); -} - -static void setup_gpp_out_enable(void) -{ - mrvl_reg_write( - A38X_GPP_OUT_ENA_OFFSET_LOW, - A38x_CUBE_BOARD_0_GPP_OUT_ENA_LOW); - mrvl_reg_write( - A38X_GPP_OUT_ENA_OFFSET_MID, - A38x_CUBE_BOARD_0_GPP_OUT_ENA_MID); -} - -/* This function disable unused periperal clocks */ -static void setup_peripherals_clocks(void) -{ - mrvl_reg_bit_reset( - A38X_POWER_MANAGEMENT_CLOCK_GATING_CONTROL, ( - CLOCK_BIT_SATA23 | CLOCK_BIT_PNC | CLOCK_BIT_TDM | - CLOCK_BIT_CRYPTO0_GATE | CLOCK_BIT_CRYPTO1_GATE | - CLOCK_BIT_CRYPTO1_Z | CLOCK_BIT_SATA01 | - CLOCK_BIT_CRYPTO0_Z | CLOCK_BIT_BM | - CLOCK_BIT_PCIE2 | CLOCK_BIT_PCIE1 | - CLOCK_BIT_GBE0 | CLOCK_BIT_GBE1 | - CLOCK_BIT_GBE2 | CLOCK_BIT_AUDIO - ) - ); -} - -static void setup_win_regs(void) -{ - mrvl_reg_write(A38x_SOC_IO_ERR_CTRL_OFFSET, - A38x_CUBE_BOARD_SOC_IO_ERR_CTRL); - mrvl_reg_write(A38x_SOC_WIN_CTRL_OFFSET, A38x_CUBE_BOARD_SOC_WIN_CTRL); - mrvl_reg_write(A38x_SOC_WIN_BASE_OFFSET, A38x_CUBE_BOARD_SOC_BASE_CTRL); -} - -void main(void) -{ - if (CONFIG_BOOTBLOCK_CONSOLE) { - console_init(); - exception_init(); - } - - init_timer(); - - /* enable mmu */ - mmu_init(); - mmu_config_range(0, 4096, DCACHE_OFF); - mmu_config_range(DRAM_START, DRAM_SIZE, DCACHE_WRITEBACK); - mmu_config_range(DMA_START, DMA_SIZE, DCACHE_OFF); - dcache_mmu_enable(); - - bootblock_mainboard_init(); - - setup_pinmux(); - setup_gpp_out_value(); - setup_gpp_out_enable(); - setup_win_regs(); - setup_peripherals_clocks(); - run_romstage(); -} |