1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * (C) Copyright 2015 Rockchip Electronics Co., Ltd 4 */ 5 6#include <common.h> 7#include <dm.h> 8#include <env.h> 9#include <init.h> 10#include <asm/io.h> 11#include <asm/arch-rockchip/uart.h> 12#include <asm/arch-rockchip/sdram_rk3036.h> 13#include <asm/gpio.h> 14 15void get_ddr_config(struct rk3036_ddr_config *config) 16{ 17 /* K4B4G1646Q config */ 18 config->ddr_type = 3; 19 config->rank = 1; 20 config->cs0_row = 15; 21 config->cs1_row = 15; 22 23 /* 8bank */ 24 config->bank = 3; 25 config->col = 10; 26 27 /* 16bit bw */ 28 config->bw = 1; 29} 30 31#define FASTBOOT_KEY_GPIO 93 32 33int fastboot_key_pressed(void) 34{ 35 gpio_request(FASTBOOT_KEY_GPIO, "fastboot_key"); 36 gpio_direction_input(FASTBOOT_KEY_GPIO); 37 return !gpio_get_value(FASTBOOT_KEY_GPIO); 38} 39 40#define ROCKCHIP_BOOT_MODE_FASTBOOT 0x5242C309 41 42int rk_board_late_init(void) 43{ 44 if (fastboot_key_pressed()) { 45 printf("enter fastboot!\n"); 46 env_set("preboot", "setenv preboot; fastboot usb0"); 47 } 48 49 return 0; 50} 51