From 10222d2eec9d97be14f054cd009d66858776651d Mon Sep 17 00:00:00 2001 From: ckkim Date: Fri, 8 Apr 2022 17:24:48 +0900 Subject: [PATCH] ODROID-N2L: Introduce new SBC board 'ODROID-N2L' Signed-off-by: ckkim Change-Id: Ib7633ec1dfa18628b8881e9b6800814969dd78a6 --- arch/arm64/boot/dts/amlogic/Makefile | 1 + .../boot/dts/amlogic/meson64_odroidn2l.dts | 206 ++++++++++++++++++ arch/arm64/kernel/setup.c | 3 +- 3 files changed, 209 insertions(+), 1 deletion(-) create mode 100755 arch/arm64/boot/dts/amlogic/meson64_odroidn2l.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile index 9429578e026c..f278ce478194 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile @@ -12,6 +12,7 @@ dtb-$(CONFIG_ARCH_MESON64_ODROIDC4) += meson64_odroidhc4.dtb dtb-$(CONFIG_ARCH_MESON64_ODROIDN2) += meson64_odroidn2.dtb dtb-$(CONFIG_ARCH_MESON64_ODROIDN2) += meson64_odroidn2_plus.dtb dtb-$(CONFIG_ARCH_MESON64_ODROIDN2) += meson64_odroidn2_drm.dtb +dtb-$(CONFIG_ARCH_MESON64_ODROIDN2) += meson64_odroidn2l.dtb subdir-$(CONFIG_ARCH_MESON64_ODROIDC4) += overlays/odroidc4 subdir-$(CONFIG_ARCH_MESON64_ODROIDN2) += overlays/odroidn2 diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidn2l.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidn2l.dts new file mode 100755 index 000000000000..64455ddef40d --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidn2l.dts @@ -0,0 +1,206 @@ +/* + * arch/arm64/boot/dts/amlogic/meson64_odroidn2_lite.dts + * + * Copyright (C) 2022 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 +#include "mesong12b.dtsi" +#include "meson64_odroidn2.dtsi" + +/ { + model = "Hardkernel ODROID-N2L"; + compatible = "amlogic, g12b"; + interrupt-parent = <&gic>; + #address-cells = <2>; + #size-cells = <2>; + + chosen { }; + + cpu_opp_table0: cpu_opp_table0 { + compatible = "operating-points-v2"; + opp-shared; + + opp00 { + opp-hz = /bits/ 64 <500000000>; + opp-microvolt = <730000>; + }; + opp01 { + opp-hz = /bits/ 64 <667000000>; + opp-microvolt = <730000>; + }; + opp02 { + opp-hz = /bits/ 64 <1000000000>; + opp-microvolt = <760000>; + }; + opp03 { + opp-hz = /bits/ 64 <1200000000>; + opp-microvolt = <780000>; + }; + opp04 { + opp-hz = /bits/ 64 <1398000000>; + opp-microvolt = <810000>; + }; + opp05 { + opp-hz = /bits/ 64 <1512000000>; + opp-microvolt = <860000>; + }; + opp06 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <900000>; + }; + opp07 { + opp-hz = /bits/ 64 <1704000000>; + opp-microvolt = <960000>; + }; + opp08 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <1020000>; + }; + opp09 { + opp-hz = /bits/ 64 <1908000000>; + opp-microvolt = <1030000>; + }; + opp10 { + opp-hz = /bits/ 64 <2016000000>; + opp-microvolt = <1040000>; + }; + }; + + cpu_opp_table1: cpu_opp_table1 { + compatible = "operating-points-v2"; + opp-shared; + + opp00 { + opp-hz = /bits/ 64 <500000000>; + opp-microvolt = <730000>; + }; + opp01 { + opp-hz = /bits/ 64 <667000000>; + opp-microvolt = <730000>; + }; + opp02 { + opp-hz = /bits/ 64 <1000000000>; + opp-microvolt = <730000>; + }; + opp03 { + opp-hz = /bits/ 64 <1200000000>; + opp-microvolt = <750000>; + }; + opp04 { + opp-hz = /bits/ 64 <1398000000>; + opp-microvolt = <770000>; + }; + opp05 { + opp-hz = /bits/ 64 <1512000000>; + opp-microvolt = <770000>; + }; + opp06 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <780000>; + }; + opp07 { + opp-hz = /bits/ 64 <1704000000>; + opp-microvolt = <790000>; + }; + opp08 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <830000>; + }; + opp09 { + opp-hz = /bits/ 64 <1908000000>; + opp-microvolt = <860000>; + }; + opp10 { + opp-hz = /bits/ 64 <2016000000>; + opp-microvolt = <910000>; + }; + opp11 { + opp-hz = /bits/ 64 <2100000000>; + opp-microvolt = <960000>; + }; + opp12 { + opp-hz = /bits/ 64 <2208000000>; + opp-microvolt = <1030000>; + }; + opp13 { + opp-hz = /bits/ 64 <2304000000>; + opp-microvolt = <1030000>; + }; + opp14 { + opp-hz = /bits/ 64 <2400000000>; + opp-microvolt = <1040000>; + }; + }; + + cpufreq-meson { + compatible = "amlogic, cpufreq-meson"; + status = "okay"; + }; + + /delete-node/ gpio-reset; + +}; /* end of / */ + +ðmac { + status = "disabled"; +}; + +&dwc2_a { + status = "okay"; + port-type = <1>; /** 0: otg, 1: host, 2: slave */ + port-id-mode = <1>; /** 0: hardware, 1: sw_host, 2: sw_slave*/ + + /* 0: normal, 1: host only, 2: device only 3: otg*/ + controller-type = <3>; +}; + +&usb3_phy_v2 { + status = "okay"; + portnum = <1>; + otg = <1>; + gpio-vbus-power = "GPIOH_6"; + gpios = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; +}; + +&reboot { + sd_vddio_gpio = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; +}; + +&soc_thermal { + trips { + fan_0: trip-point@4 { + temperature = <65000>; + hysteresis = <5000>; + type = "active"; + }; + fan_1: trip-point@5 { + temperature = <75000>; + hysteresis = <5000>; + type = "active"; + }; + }; + cooling-maps { + fan_cooling_map0 { + trip = <&fan_0>; + cooling-device = <&pwmfan THERMAL_NO_LIMIT 2>; + }; + fan_cooling_map1 { + trip = <&fan_1>; + cooling-device = <&pwmfan 2 THERMAL_NO_LIMIT>; + }; + }; +}; diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c index 3dba7b4cd973..08adeda262e9 100644 --- a/arch/arm64/kernel/setup.c +++ b/arch/arm64/kernel/setup.c @@ -228,7 +228,8 @@ static void __init setup_machine_fdt(phys_addr_t dt_phys) #ifdef CONFIG_ARCH_MESON64_ODROID_COMMON if (!strcmp(machine_name, "Hardkernel ODROID-N2") || - !strcmp(machine_name, "Hardkernel ODROID-N2Plus")) { + !strcmp(machine_name, "Hardkernel ODROID-N2Plus") || + !strcmp(machine_name, "Hardkernel ODROID-N2L")) { system_rev = 0x0400; __odroid_model = BOARD_ODROIDN2; __odroid_amlogic_usb3 = true;