commit
975f97b431
@ -0,0 +1,327 @@ |
||||
/* |
||||
* Copyright (C) 2017 Jagan Teki <jagan@amarulasolutions.com> |
||||
* |
||||
* This file is dual-licensed: you can use it either under the terms |
||||
* of the GPL or the X11 license, at your option. Note that this dual |
||||
* licensing only applies to this file, and not this project as a |
||||
* whole. |
||||
* |
||||
* a) This file 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; either version 2 of the |
||||
* License, or (at your option) any later version. |
||||
* |
||||
* This file 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. |
||||
* |
||||
* Or, alternatively, |
||||
* |
||||
* b) Permission is hereby granted, free of charge, to any person |
||||
* obtaining a copy of this software and associated documentation |
||||
* files (the "Software"), to deal in the Software without |
||||
* restriction, including without limitation the rights to use, |
||||
* copy, modify, merge, publish, distribute, sublicense, and/or |
||||
* sell copies of the Software, and to permit persons to whom the |
||||
* Software is furnished to do so, subject to the following |
||||
* conditions: |
||||
* |
||||
* The above copyright notice and this permission notice shall be |
||||
* included in all copies or substantial portions of the Software. |
||||
* |
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
||||
* OTHER DEALINGS IN THE SOFTWARE. |
||||
*/ |
||||
|
||||
/dts-v1/; |
||||
#include "rk3288.dtsi" |
||||
|
||||
/ { |
||||
model = "Amarula Vyasa-RK3288"; |
||||
compatible = "amarula,vyasa-rk3288", "rockchip,rk3288"; |
||||
|
||||
chosen { |
||||
stdout-path = &uart2; |
||||
}; |
||||
|
||||
memory { |
||||
device_type = "memory"; |
||||
reg = <0 0x80000000>; |
||||
}; |
||||
|
||||
vcc_sd: sdmmc-regulator { |
||||
compatible = "regulator-fixed"; |
||||
gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>; |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&sdmmc_pwr>; |
||||
regulator-name = "vcc_sd"; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
startup-delay-us = <100000>; |
||||
vin-supply = <&vcc_io>; |
||||
}; |
||||
|
||||
vcc_sys: vsys-regulator { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "vcc_sys"; |
||||
regulator-min-microvolt = <5000000>; |
||||
regulator-max-microvolt = <5000000>; |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
}; |
||||
}; |
||||
|
||||
&dmc { |
||||
rockchip,pctl-timing = <0x29a 0xc8 0x1f8 0x42 0x4e 0x4 0xea 0xa |
||||
0x5 0x0 0xa 0x7 0x19 0x24 0xa 0x7 |
||||
0x5 0xa 0x5 0x200 0x5 0x10 0x40 0x0 |
||||
0x1 0x7 0x7 0x4 0xc 0x43 0x100 0x0 |
||||
0x5 0x0>; |
||||
rockchip,phy-timing = <0x48f9aab4 0xea0910 0x1002c200 |
||||
0xa60 0x40 0x10 0x0>; |
||||
/* Add a dummy value to cause of-platdata think this is bytes */ |
||||
rockchip,sdram-params = <0x30B25564 0x627 3 666000000 3 9 1>; |
||||
}; |
||||
|
||||
&cpu0 { |
||||
cpu0-supply = <&vdd_cpu>; |
||||
}; |
||||
|
||||
&i2c0 { |
||||
clock-frequency = <400000>; |
||||
status = "okay"; |
||||
|
||||
rk808: pmic@1b { |
||||
compatible = "rockchip,rk808"; |
||||
reg = <0x1b>; |
||||
interrupt-parent = <&gpio0>; |
||||
interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&pmic_int &global_pwroff>; |
||||
wakeup-source; |
||||
rockchip,system-power-controller; |
||||
#clock-cells = <1>; |
||||
clock-output-names = "xin32k", "rk808-clkout2"; |
||||
|
||||
vcc1-supply = <&vcc_sys>; |
||||
vcc2-supply = <&vcc_sys>; |
||||
vcc3-supply = <&vcc_sys>; |
||||
vcc4-supply = <&vcc_sys>; |
||||
vcc6-supply = <&vcc_sys>; |
||||
vcc7-supply = <&vcc_sys>; |
||||
vcc8-supply = <&vcc_io>; |
||||
vcc9-supply = <&vcc_sys>; |
||||
vcc10-supply = <&vcc_sys>; |
||||
vcc11-supply = <&vcc_sys>; |
||||
vcc12-supply = <&vcc_io>; |
||||
|
||||
regulators { |
||||
vdd_cpu: vdd_log: DCDC_REG1 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-min-microvolt = <750000>; |
||||
regulator-max-microvolt = <1350000>; |
||||
regulator-name = "vdd_log"; |
||||
regulator-state-mem { |
||||
regulator-off-in-suspend; |
||||
}; |
||||
}; |
||||
|
||||
vdd_gpu: DCDC_REG2 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-min-microvolt = <850000>; |
||||
regulator-max-microvolt = <1250000>; |
||||
regulator-name = "vdd_gpu"; |
||||
regulator-state-mem { |
||||
regulator-on-in-suspend; |
||||
regulator-suspend-microvolt = <1000000>; |
||||
}; |
||||
}; |
||||
|
||||
vcc_ddr: DCDC_REG3 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-name = "vcc_ddr"; |
||||
regulator-state-mem { |
||||
regulator-on-in-suspend; |
||||
}; |
||||
}; |
||||
|
||||
vcc_io: DCDC_REG4 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
regulator-name = "vcc_io"; |
||||
regulator-state-mem { |
||||
regulator-on-in-suspend; |
||||
regulator-suspend-microvolt = <3300000>; |
||||
}; |
||||
}; |
||||
|
||||
vcca_tp: LDO_REG1 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
regulator-name = "vcc_tp"; |
||||
regulator-state-mem { |
||||
regulator-on-in-suspend; |
||||
regulator-suspend-microvolt = <3300000>; |
||||
}; |
||||
}; |
||||
|
||||
vcc_codec: LDO_REG2 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
regulator-name = "vcc_codec"; |
||||
regulator-state-mem { |
||||
regulator-off-in-suspend; |
||||
}; |
||||
}; |
||||
|
||||
vdd_10: LDO_REG3 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-min-microvolt = <1000000>; |
||||
regulator-max-microvolt = <1000000>; |
||||
regulator-name = "vdd_10"; |
||||
regulator-state-mem { |
||||
regulator-on-in-suspend; |
||||
regulator-suspend-microvolt = <1000000>; |
||||
}; |
||||
}; |
||||
|
||||
vcc_gps: LDO_REG4 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-min-microvolt = <1800000>; |
||||
regulator-max-microvolt = <1800000>; |
||||
regulator-name = "vcc_gps"; |
||||
regulator-state-mem { |
||||
regulator-on-in-suspend; |
||||
regulator-suspend-microvolt = <1800000>; |
||||
}; |
||||
}; |
||||
|
||||
vccio_sd: LDO_REG5 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-min-microvolt = <1800000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
regulator-name = "vccio_sd"; |
||||
regulator-state-mem { |
||||
regulator-on-in-suspend; |
||||
regulator-suspend-microvolt = <3300000>; |
||||
}; |
||||
}; |
||||
|
||||
vcc10_lcd: LDO_REG6 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-min-microvolt = <1000000>; |
||||
regulator-max-microvolt = <1000000>; |
||||
regulator-name = "vcc10_lcd"; |
||||
regulator-state-mem { |
||||
regulator-on-in-suspend; |
||||
regulator-suspend-microvolt = <1800000>; |
||||
}; |
||||
}; |
||||
|
||||
vcc_18: LDO_REG7 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-min-microvolt = <1800000>; |
||||
regulator-max-microvolt = <1800000>; |
||||
regulator-name = "vcc_18"; |
||||
regulator-state-mem { |
||||
regulator-on-in-suspend; |
||||
regulator-suspend-microvolt = <1800000>; |
||||
}; |
||||
}; |
||||
|
||||
vcc18_lcd: LDO_REG8 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-min-microvolt = <1800000>; |
||||
regulator-max-microvolt = <1800000>; |
||||
regulator-name = "vcc18_lcd"; |
||||
regulator-state-mem { |
||||
regulator-on-in-suspend; |
||||
regulator-suspend-microvolt = <1800000>; |
||||
}; |
||||
}; |
||||
|
||||
vcc33_sd: SWITCH_REG1 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
regulator-name = "vcc33_sd"; |
||||
regulator-state-mem { |
||||
regulator-on-in-suspend; |
||||
}; |
||||
}; |
||||
|
||||
vcc_lan: SWITCH_REG2 { |
||||
regulator-always-on; |
||||
regulator-boot-on; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
regulator-name = "vcc_lan"; |
||||
regulator-state-mem { |
||||
regulator-on-in-suspend; |
||||
}; |
||||
}; |
||||
}; |
||||
}; |
||||
}; |
||||
|
||||
&sdmmc { |
||||
u-boot,dm-pre-reloc; |
||||
status = "okay"; |
||||
|
||||
bus-width = <4>; |
||||
cap-mmc-highspeed; |
||||
cap-sd-highspeed; |
||||
card-detect-delay = <200>; |
||||
disable-wp; |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; |
||||
vmmc-supply = <&vcc_sd>; |
||||
vqmmc-supply = <&vccio_sd>; |
||||
}; |
||||
|
||||
&uart2 { |
||||
u-boot,dm-pre-reloc; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&wdt { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&pinctrl { |
||||
u-boot,dm-pre-reloc; |
||||
pmic { |
||||
pmic_int: pmic-int { |
||||
rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; |
||||
}; |
||||
}; |
||||
|
||||
sdmmc { |
||||
sdmmc_pwr: sdmmc-pwr { |
||||
rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; |
||||
}; |
||||
}; |
||||
}; |
@ -0,0 +1,12 @@ |
||||
if TARGET_VYASA_RK3288 |
||||
|
||||
config SYS_BOARD |
||||
default "vyasa-rk3288" |
||||
|
||||
config SYS_VENDOR |
||||
default "amarula" |
||||
|
||||
config SYS_CONFIG_NAME |
||||
default "vyasa-rk3288" |
||||
|
||||
endif |
@ -0,0 +1,6 @@ |
||||
VYASA RK3288 |
||||
M: Jagan Teki <jagan@amarulasolutions.com> |
||||
S: Maintained |
||||
F: board/amarula/vyasa-rk3288 |
||||
F: include/configs/vyasa-rk3288.h |
||||
F: configs/vyasa-rk3288_defconfig |
@ -0,0 +1,7 @@ |
||||
#
|
||||
# Copyright (C) 2017 Amarula Solutions
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
obj-y += vyasa-rk3288.o
|
@ -0,0 +1,7 @@ |
||||
/*
|
||||
* Copyright (C) 2017 Amarula Solutions |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#include <common.h> |
@ -0,0 +1,63 @@ |
||||
CONFIG_ARM=y |
||||
CONFIG_ARCH_ROCKCHIP=y |
||||
CONFIG_SYS_MALLOC_F_LEN=0x2000 |
||||
CONFIG_ROCKCHIP_RK3288=y |
||||
CONFIG_TARGET_VYASA_RK3288=y |
||||
CONFIG_SPL_STACK_R_ADDR=0x80000 |
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3288-vyasa" |
||||
CONFIG_DEBUG_UART=y |
||||
CONFIG_ENV_IS_IN_MMC=y |
||||
CONFIG_SILENT_CONSOLE=y |
||||
# CONFIG_DISPLAY_CPUINFO is not set |
||||
CONFIG_SPL_STACK_R=y |
||||
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x2000 |
||||
# CONFIG_CMD_IMLS is not set |
||||
CONFIG_CMD_GPT=y |
||||
CONFIG_CMD_MMC=y |
||||
CONFIG_CMD_I2C=y |
||||
CONFIG_CMD_GPIO=y |
||||
# CONFIG_CMD_SETEXPR is not set |
||||
CONFIG_CMD_CACHE=y |
||||
CONFIG_CMD_TIME=y |
||||
CONFIG_CMD_PMIC=y |
||||
CONFIG_CMD_REGULATOR=y |
||||
# CONFIG_SPL_DOS_PARTITION is not set |
||||
# CONFIG_SPL_ISO_PARTITION is not set |
||||
# CONFIG_SPL_EFI_PARTITION is not set |
||||
CONFIG_SPL_PARTITION_UUIDS=y |
||||
CONFIG_SPL_OF_CONTROL=y |
||||
CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" |
||||
CONFIG_REGMAP=y |
||||
CONFIG_SPL_REGMAP=y |
||||
CONFIG_SYSCON=y |
||||
CONFIG_SPL_SYSCON=y |
||||
# CONFIG_SPL_SIMPLE_BUS is not set |
||||
CONFIG_CLK=y |
||||
CONFIG_SPL_CLK=y |
||||
CONFIG_ROCKCHIP_GPIO=y |
||||
CONFIG_SYS_I2C_ROCKCHIP=y |
||||
CONFIG_LED=y |
||||
CONFIG_LED_GPIO=y |
||||
CONFIG_MMC_DW=y |
||||
CONFIG_MMC_DW_ROCKCHIP=y |
||||
CONFIG_PINCTRL=y |
||||
CONFIG_SPL_PINCTRL=y |
||||
# CONFIG_SPL_PINCTRL_FULL is not set |
||||
CONFIG_PINCTRL_ROCKCHIP_RK3288=y |
||||
CONFIG_DM_PMIC=y |
||||
# CONFIG_SPL_PMIC_CHILDREN is not set |
||||
CONFIG_PMIC_RK8XX=y |
||||
CONFIG_REGULATOR_RK8XX=y |
||||
CONFIG_DM_REGULATOR_FIXED=y |
||||
CONFIG_PWM_ROCKCHIP=y |
||||
CONFIG_RAM=y |
||||
CONFIG_SPL_RAM=y |
||||
CONFIG_DEBUG_UART_BASE=0xff690000 |
||||
CONFIG_DEBUG_UART_CLOCK=24000000 |
||||
CONFIG_DEBUG_UART_SHIFT=2 |
||||
CONFIG_SYS_NS16550=y |
||||
CONFIG_SYSRESET=y |
||||
CONFIG_CONSOLE_SCROLL_LINES=10 |
||||
CONFIG_USE_TINY_PRINTF=y |
||||
CONFIG_CMD_DHRYSTONE=y |
||||
CONFIG_ERRNO_STR=y |
@ -0,0 +1,23 @@ |
||||
/*
|
||||
* Copyright (C) 2017 Amarula Solutions |
||||
* |
||||
* Configuration settings for Amarula Vyasa RK3288. |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#ifndef __CONFIG_H |
||||
#define __CONFIG_H |
||||
|
||||
#define ROCKCHIP_DEVICE_SETTINGS |
||||
#include <configs/rk3288_common.h> |
||||
|
||||
#undef BOOT_TARGET_DEVICES |
||||
|
||||
#define BOOT_TARGET_DEVICES(func) \ |
||||
func(MMC, mmc, 1) \
|
||||
|
||||
#define CONFIG_SYS_MMC_ENV_DEV 1 |
||||
#undef CONFIG_CMD_USB_MASS_STORAGE |
||||
|
||||
#endif |
Loading…
Reference in new issue