mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
ODROID-N2: defconfig: add a new defconfig to support SPI bios
Change-Id: If94100b9640b9c8dd2b85d5d4ae68051a78031ea Signed-off-by: Joy Cho <joy.cho@hardkernel.com>
This commit is contained in:
@@ -9,3 +9,4 @@ dtb-$(CONFIG_ARCH_MESON64_ODROIDC3) += s905d2_odroidc3.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON64_ODROIDC3) += s905d2_odroidc3_android.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON64_ODROIDN2) += s922d_odroidn2.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON64_ODROIDN2) += s922d_odroidn2_android.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON64_ODROIDN2) += s922d_odroidn2_spibios.dtb
|
||||
|
||||
473
arch/arm64/boot/dts/amlogic/s922d_odroidn2_spibios.dts
Normal file
473
arch/arm64/boot/dts/amlogic/s922d_odroidn2_spibios.dts
Normal file
@@ -0,0 +1,473 @@
|
||||
/*
|
||||
* arch/arm64/boot/dts/amlogic/s922d_odroidn2.dts
|
||||
*
|
||||
* Copyright (C) 2018 Hardkernel Co,. Ltd. All rights reserved.
|
||||
*
|
||||
* 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; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "mesong12b.dtsi"
|
||||
#include "mesong12_odroid_common.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Hardkernel ODROID-N2";
|
||||
compatible = "amlogic, g12b";
|
||||
interrupt-parent = <&gic>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
/* global autoconfigured region for contiguous allocations */
|
||||
ramoops@0x07400000 {
|
||||
compatible = "ramoops";
|
||||
reg = <0x0 0x07400000 0x0 0x00100000>;
|
||||
record-size = <0x8000>;
|
||||
console-size = <0x8000>;
|
||||
ftrace-size = <0x0>;
|
||||
pmsg-size = <0x8000>;
|
||||
};
|
||||
|
||||
secmon_reserved:linux,secmon {
|
||||
compatible = "shared-dma-pool";
|
||||
reusable;
|
||||
size = <0x0 0x400000>;
|
||||
alignment = <0x0 0x400000>;
|
||||
alloc-ranges = <0x0 0x05000000 0x0 0x400000>;
|
||||
};
|
||||
|
||||
secos_reserved:linux,secos {
|
||||
status = "disable";
|
||||
compatible = "amlogic, aml_secos_memory";
|
||||
reg = <0x0 0x05300000 0x0 0x2000000>;
|
||||
no-map;
|
||||
};
|
||||
logo_reserved:linux,meson-fb {
|
||||
compatible = "shared-dma-pool";
|
||||
reusable;
|
||||
size = <0x0 0x800000>;
|
||||
alignment = <0x0 0x400000>;
|
||||
alloc-ranges = <0x0 0x7f800000 0x0 0x800000>;
|
||||
};
|
||||
ion_cma_reserved:linux,ion-dev {
|
||||
compatible = "shared-dma-pool";
|
||||
reusable;
|
||||
size = <0x0 0x8000000>;
|
||||
alignment = <0x0 0x400000>;
|
||||
};
|
||||
|
||||
//di_reserved:linux,di {
|
||||
//compatible = "amlogic, di-mem";
|
||||
/* buffer_size = 3621952(yuv422 8bit) */
|
||||
/* 4179008(yuv422 10bit full pack mode) */
|
||||
/** 10x3621952=34.6M(0x23) support 8bit **/
|
||||
/** 10x4736064=45.2M(0x2e) support 12bit **/
|
||||
/** 10x4179008=40M(0x28) support 10bit **/
|
||||
//size = <0x0 0x2800000>;
|
||||
//no-map;
|
||||
//};
|
||||
/*di CMA pool */
|
||||
di_cma_reserved:linux,di_cma {
|
||||
compatible = "shared-dma-pool";
|
||||
reusable;
|
||||
/* buffer_size = 3621952(yuv422 8bit)
|
||||
* | 4736064(yuv422 10bit)
|
||||
* | 4074560(yuv422 10bit full pack mode)
|
||||
* 10x3621952=34.6M(0x23) support 8bit
|
||||
* 10x4736064=45.2M(0x2e) support 12bit
|
||||
* 10x4074560=40M(0x28) support 10bit
|
||||
*/
|
||||
size = <0x0 0x02800000>;
|
||||
alignment = <0x0 0x400000>;
|
||||
};
|
||||
/* POST PROCESS MANAGER */
|
||||
ppmgr_reserved:linux,ppmgr {
|
||||
compatible = "shared-dma-pool";
|
||||
size = <0x0 0x0>;
|
||||
};
|
||||
codec_mm_cma:linux,codec_mm_cma {
|
||||
compatible = "shared-dma-pool";
|
||||
reusable;
|
||||
/* ion_codec_mm max can alloc size 80M*/
|
||||
size = <0x0 0x13400000>;
|
||||
alignment = <0x0 0x400000>;
|
||||
linux,contiguous-region;
|
||||
};
|
||||
/* codec shared reserved */
|
||||
codec_mm_reserved:linux,codec_mm_reserved {
|
||||
compatible = "amlogic, codec-mm-reserved";
|
||||
size = <0x0 0x0>;
|
||||
alignment = <0x0 0x100000>;
|
||||
//no-map;
|
||||
};
|
||||
/* vdin0 CMA pool */
|
||||
vdin0_cma_reserved:linux,vdin0_cma {
|
||||
compatible = "shared-dma-pool";
|
||||
reusable;
|
||||
/* 1920x1080x2x4 =16+4 M */
|
||||
size = <0x0 0x04000000>;
|
||||
alignment = <0x0 0x400000>;
|
||||
};
|
||||
/* vdin1 CMA pool */
|
||||
vdin1_cma_reserved:linux,vdin1_cma {
|
||||
compatible = "shared-dma-pool";
|
||||
reusable;
|
||||
/* 1920x1080x2x4 =16 M */
|
||||
size = <0x0 0x04000000>;
|
||||
alignment = <0x0 0x400000>;
|
||||
};
|
||||
};
|
||||
|
||||
cvbsout {
|
||||
compatible = "amlogic, cvbsout-g12b";
|
||||
dev_name = "cvbsout";
|
||||
status = "okay";
|
||||
clocks = <&clkc CLKID_VCLK2_ENCI
|
||||
&clkc CLKID_VCLK2_VENCI0
|
||||
&clkc CLKID_VCLK2_VENCI1
|
||||
&clkc CLKID_DAC_CLK>;
|
||||
clock-names = "venci_top_gate",
|
||||
"venci_0_gate",
|
||||
"venci_1_gate",
|
||||
"vdac_clk_gate";
|
||||
|
||||
/* performance: reg_address, reg_value */
|
||||
/* g12b */
|
||||
performance = <0x1bf0 0x9
|
||||
0x1b56 0x333
|
||||
0x1b12 0x8080
|
||||
0x1b05 0xfd
|
||||
0x1c59 0xf850
|
||||
0xffff 0x0>; /* ending flag */
|
||||
performance_sarft = <0x1bf0 0x9
|
||||
0x1b56 0x333
|
||||
0x1b12 0x0
|
||||
0x1b05 0x9
|
||||
0x1c59 0xfc48
|
||||
0xffff 0x0>; /* ending flag */
|
||||
};
|
||||
|
||||
deinterlace {
|
||||
compatible = "amlogic, deinterlace";
|
||||
status = "okay";
|
||||
/* 0:use reserved; 1:use cma; 2:use cma as reserved */
|
||||
flag_cma = <1>;
|
||||
//memory-region = <&di_reserved>;
|
||||
memory-region = <&di_cma_reserved>;
|
||||
interrupts = <0 46 1
|
||||
0 40 1>;
|
||||
interrupt-names = "pre_irq", "post_irq";
|
||||
clocks = <&clkc CLKID_VPU_CLKB_TMP_COMP>,
|
||||
<&clkc CLKID_VPU_CLKB_COMP>;
|
||||
clock-names = "vpu_clkb_tmp_composite",
|
||||
"vpu_clkb_composite";
|
||||
clock-range = <334 667>;
|
||||
/* buffer-size = <3621952>;(yuv422 8bit) */
|
||||
buffer-size = <4074560>;/*yuv422 fullpack*/
|
||||
/* reserve-iomap = "true"; */
|
||||
/* if enable nr10bit, set nr10bit-support to 1 */
|
||||
post-wr-support = <1>;
|
||||
nr10bit-support = <1>;
|
||||
nrds-enable = <1>;
|
||||
pps-enable = <1>;
|
||||
};
|
||||
ionvideo {
|
||||
compatible = "amlogic, ionvideo";
|
||||
dev_name = "ionvideo";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
gpio_keypad {
|
||||
compatible = "amlogic, gpio_keypad";
|
||||
status = "okay";
|
||||
scan_period = <20>;
|
||||
key_num = <1>;
|
||||
key_name = "power";
|
||||
key_code = <116>;
|
||||
key_pin = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
custom_maps {
|
||||
mapnum = <4>;
|
||||
map3 = <&map_3>;
|
||||
map_3: map_3{
|
||||
mapname = "hardkernel-remote";
|
||||
release_delay = <80>;
|
||||
size = <12>;
|
||||
customcode = <0x4db2>;
|
||||
keymap = <REMOTE_KEY(0xCA, KEY_UP)
|
||||
REMOTE_KEY(0xD2, KEY_DOWN)
|
||||
REMOTE_KEY(0xC1, KEY_RIGHT)
|
||||
REMOTE_KEY(0x99, KEY_LEFT)
|
||||
REMOTE_KEY(0xCE, KEY_ENTER)
|
||||
REMOTE_KEY(0x82, KEY_HOME)
|
||||
REMOTE_KEY(0x88, KEY_MUTE)
|
||||
REMOTE_KEY(0xC5, KEY_MENU)
|
||||
REMOTE_KEY(0x9A, KEY_BACK)
|
||||
REMOTE_KEY(0x81, KEY_VOLUMEDOWN)
|
||||
REMOTE_KEY(0x80, KEY_VOLUMEUP)
|
||||
REMOTE_KEY(0xDC, KEY_POWER)>;
|
||||
};
|
||||
};
|
||||
|
||||
unifykey{
|
||||
compatible = "amlogic, unifykey";
|
||||
status = "ok";
|
||||
unifykey-num = <14>;
|
||||
unifykey-index-0 = <&keysn_0>;
|
||||
unifykey-index-1 = <&keysn_1>;
|
||||
unifykey-index-2 = <&keysn_2>;
|
||||
unifykey-index-3 = <&keysn_3>;
|
||||
unifykey-index-4 = <&keysn_4>;
|
||||
unifykey-index-5 = <&keysn_5>;
|
||||
unifykey-index-6 = <&keysn_6>;
|
||||
unifykey-index-7 = <&keysn_7>;
|
||||
unifykey-index-8 = <&keysn_8>;
|
||||
unifykey-index-9 = <&keysn_9>;
|
||||
unifykey-index-10= <&keysn_10>;
|
||||
unifykey-index-11= <&keysn_11>;
|
||||
unifykey-index-12= <&keysn_12>;
|
||||
unifykey-index-13= <&keysn_13>;
|
||||
|
||||
keysn_0: key_0{
|
||||
key-name = "usid";
|
||||
key-device = "normal";
|
||||
key-permit = "read","write","del";
|
||||
};
|
||||
keysn_1:key_1{
|
||||
key-name = "mac";
|
||||
key-device = "normal";
|
||||
key-permit = "read","write","del";
|
||||
};
|
||||
keysn_2:key_2{
|
||||
key-name = "hdcp";
|
||||
key-device = "secure";
|
||||
key-type = "sha1";
|
||||
key-permit = "read","write","del";
|
||||
};
|
||||
keysn_3:key_3{
|
||||
key-name = "secure_boot_set";
|
||||
key-device = "efuse";
|
||||
key-permit = "write";
|
||||
};
|
||||
keysn_4:key_4{
|
||||
key-name = "mac_bt";
|
||||
key-device = "normal";
|
||||
key-permit = "read","write","del";
|
||||
key-type = "mac";
|
||||
};
|
||||
keysn_5:key_5{
|
||||
key-name = "mac_wifi";
|
||||
key-device = "normal";
|
||||
key-permit = "read","write","del";
|
||||
key-type = "mac";
|
||||
};
|
||||
keysn_6:key_6{
|
||||
key-name = "hdcp2_tx";
|
||||
key-device = "normal";
|
||||
key-permit = "read","write","del";
|
||||
};
|
||||
keysn_7:key_7{
|
||||
key-name = "hdcp2_rx";
|
||||
key-device = "normal";
|
||||
key-permit = "read","write","del";
|
||||
};
|
||||
keysn_8:key_8{
|
||||
key-name = "widevinekeybox";
|
||||
key-device = "secure";
|
||||
key-permit = "read","write","del";
|
||||
};
|
||||
keysn_9:key_9{
|
||||
key-name = "deviceid";
|
||||
key-device = "normal";
|
||||
key-permit = "read","write","del";
|
||||
};
|
||||
keysn_10:key_10{
|
||||
key-name = "hdcp22_fw_private";
|
||||
key-device = "secure";
|
||||
key-permit = "read","write","del";
|
||||
};
|
||||
keysn_11:key_11{
|
||||
key-name = "PlayReadykeybox25";
|
||||
key-device = "secure";
|
||||
key-permit = "read","write","del";
|
||||
};
|
||||
keysn_12:key_12{
|
||||
key-name = "prpubkeybox";// PlayReady
|
||||
key-device = "secure";
|
||||
key-permit = "read","write","del";
|
||||
};
|
||||
keysn_13:key_13{
|
||||
key-name = "prprivkeybox";// PlayReady
|
||||
key-device = "secure";
|
||||
key-permit = "read","write","del";
|
||||
};
|
||||
};//End unifykey
|
||||
|
||||
amlvecm {
|
||||
compatible = "amlogic, vecm";
|
||||
dev_name = "aml_vecm";
|
||||
status = "okay";
|
||||
gamma_en = <0>;/*1:enabel ;0:disable*/
|
||||
wb_en = <0>;/*1:enabel ;0:disable*/
|
||||
cm_en = <0>;/*1:enabel ;0:disable*/
|
||||
};
|
||||
amdolby_vision {
|
||||
compatible = "amlogic, dolby_vision_g12a";
|
||||
dev_name = "aml_amdolby_vision_driver";
|
||||
status = "okay";
|
||||
tv_mode = <0>;/*1:enabel ;0:disable*/
|
||||
};
|
||||
|
||||
cpu_opp_table0: cpu_opp_table0 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
|
||||
opp00 {
|
||||
opp-hz = /bits/ 64 <100000000>;
|
||||
opp-microvolt = <731000>;
|
||||
};
|
||||
opp01 {
|
||||
opp-hz = /bits/ 64 <250000000>;
|
||||
opp-microvolt = <731000>;
|
||||
};
|
||||
opp02 {
|
||||
opp-hz = /bits/ 64 <500000000>;
|
||||
opp-microvolt = <731000>;
|
||||
};
|
||||
opp03 {
|
||||
opp-hz = /bits/ 64 <667000000>;
|
||||
opp-microvolt = <731000>;
|
||||
};
|
||||
opp04 {
|
||||
opp-hz = /bits/ 64 <1000000000>;
|
||||
opp-microvolt = <731000>;
|
||||
};
|
||||
opp05 {
|
||||
opp-hz = /bits/ 64 <1200000000>;
|
||||
opp-microvolt = <731000>;
|
||||
};
|
||||
opp06 {
|
||||
opp-hz = /bits/ 64 <1398000000>;
|
||||
opp-microvolt = <761000>;
|
||||
};
|
||||
opp07 {
|
||||
opp-hz = /bits/ 64 <1512000000>;
|
||||
opp-microvolt = <791000>;
|
||||
};
|
||||
opp08 {
|
||||
opp-hz = /bits/ 64 <1608000000>;
|
||||
opp-microvolt = <831000>;
|
||||
};
|
||||
opp09 {
|
||||
opp-hz = /bits/ 64 <1704000000>;
|
||||
opp-microvolt = <861000>;
|
||||
};
|
||||
opp10 {
|
||||
opp-hz = /bits/ 64 <1896000000>;
|
||||
opp-microvolt = <981000>;
|
||||
};
|
||||
};
|
||||
|
||||
cpu_opp_table1: cpu_opp_table1 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
|
||||
opp00 {
|
||||
opp-hz = /bits/ 64 <100000000>;
|
||||
opp-microvolt = <751000>;
|
||||
};
|
||||
opp01 {
|
||||
opp-hz = /bits/ 64 <250000000>;
|
||||
opp-microvolt = <751000>;
|
||||
};
|
||||
opp02 {
|
||||
opp-hz = /bits/ 64 <500000000>;
|
||||
opp-microvolt = <751000>;
|
||||
};
|
||||
opp03 {
|
||||
opp-hz = /bits/ 64 <667000000>;
|
||||
opp-microvolt = <751000>;
|
||||
};
|
||||
opp04 {
|
||||
opp-hz = /bits/ 64 <1000000000>;
|
||||
opp-microvolt = <771000>;
|
||||
};
|
||||
opp05 {
|
||||
opp-hz = /bits/ 64 <1200000000>;
|
||||
opp-microvolt = <771000>;
|
||||
};
|
||||
opp06 {
|
||||
opp-hz = /bits/ 64 <1398000000>;
|
||||
opp-microvolt = <791000>;
|
||||
};
|
||||
opp07 {
|
||||
opp-hz = /bits/ 64 <1512000000>;
|
||||
opp-microvolt = <821000>;
|
||||
};
|
||||
opp08 {
|
||||
opp-hz = /bits/ 64 <1608000000>;
|
||||
opp-microvolt = <861000>;
|
||||
};
|
||||
opp09 {
|
||||
opp-hz = /bits/ 64 <1704000000>;
|
||||
opp-microvolt = <891000>;
|
||||
};
|
||||
};
|
||||
|
||||
cpufreq-meson {
|
||||
compatible = "amlogic, cpufreq-meson";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
}; /* end of / */
|
||||
|
||||
&meson_fb {
|
||||
status = "okay";
|
||||
display_size_default = <1920 1080 1920 2160 32>;
|
||||
mem_size = <0x00800000 0x1980000 0x100000 0x100000 0x800000>;
|
||||
logo_addr = "0x7f800000";
|
||||
mem_alloc = <1>;
|
||||
pxp_mode = <0>; /** 0:normal mode 1:pxp mode */
|
||||
};
|
||||
|
||||
&pwm_ab {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&irblaster {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&sd_emmc_b {
|
||||
status = "okay";
|
||||
sd {
|
||||
caps = "MMC_CAP_4_BIT_DATA",
|
||||
"MMC_CAP_UHS_SDR50",
|
||||
"MMC_CAP_UHS_SDR104",
|
||||
"MMC_CAP_MMC_HIGHSPEED",
|
||||
"MMC_CAP_SD_HIGHSPEED";
|
||||
vol_switch = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>;
|
||||
vol_switch_18 = <1>;
|
||||
f_min = <400000>;
|
||||
f_max = <100000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&saradc {
|
||||
status = "okay";
|
||||
};
|
||||
3286
arch/arm64/configs/odroidn2_spibios_defconfig
Normal file
3286
arch/arm64/configs/odroidn2_spibios_defconfig
Normal file
File diff suppressed because it is too large
Load Diff
@@ -108,10 +108,12 @@ static void check_violation(struct dmc_monitor *mon)
|
||||
if (pfn_valid(__phys_to_pfn(addr))) {
|
||||
page = phys_to_page(addr);
|
||||
p = (page_address(page) + (addr & (PAGE_SIZE - 1)));
|
||||
#if defined(CONFIG_AMLOGIC_PAGE_TRACE)
|
||||
pr_info(DMC_TAG" [%08lx]:%016lx, f:%8lx, m:%p, a:%pf\n",
|
||||
addr, *p, page->flags & 0xffffffff,
|
||||
page->mapping,
|
||||
(void *)get_page_trace(page));
|
||||
#endif
|
||||
}
|
||||
if (!port) /* dump stack for CPU write */
|
||||
dump_stack();
|
||||
|
||||
@@ -112,10 +112,12 @@ static void check_violation(struct dmc_monitor *mon)
|
||||
if (pfn_valid(__phys_to_pfn(addr))) {
|
||||
page = phys_to_page(addr);
|
||||
p = (page_address(page) + (addr & (PAGE_SIZE - 1)));
|
||||
#if defined(CONFIG_AMLOGIC_PAGE_TRACE)
|
||||
pr_info(DMC_TAG" [%08lx]:%016lx, f:%8lx, m:%p, a:%pf\n",
|
||||
addr, *p, page->flags & 0xffffffff,
|
||||
page->mapping,
|
||||
(void *)get_page_trace(page));
|
||||
#endif
|
||||
}
|
||||
if (!port) /* dump stack for CPU write */
|
||||
dump_stack();
|
||||
|
||||
Reference in New Issue
Block a user