Merge Mainline

This commit is contained in:
AmadeusGhost 2021-03-26 20:28:03 +08:00
commit b9ae8b7c93
19 changed files with 110 additions and 308 deletions

View File

@ -136,6 +136,10 @@ $(eval $(call SetupHostCommand,bzip2,Please install 'bzip2', \
$(eval $(call SetupHostCommand,wget,Please install GNU 'wget', \
wget --version | grep GNU))
$(eval $(call SetupHostCommand,install,Please install GNU 'install', \
install --version | grep GNU, \
ginstall --version | grep GNU))
$(eval $(call SetupHostCommand,perl,Please install Perl 5.x, \
perl --version | grep "perl.*v5"))

View File

@ -21,6 +21,7 @@ PKG_MIRROR_HASH:=0eda0e774a87e58e611d6436350e1cf2be3de50fddde334909a07a15b0c9862
PKG_MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
PKG_BUILD_PARALLEL:=1
PKG_FLAGS:=nonshared
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk

View File

@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=elfutils
PKG_VERSION:=0.180
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION)
@ -21,7 +21,7 @@ PKG_CPE_ID:=cpe:/a:elfutils_project:elfutils
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_USE_MIPS16:=0
PKG_USE_MIPS16:=1
PKG_BUILD_DEPENDS:=!USE_GLIBC:argp-standalone
include $(INCLUDE_DIR)/package.mk

View File

@ -274,17 +274,21 @@ local api = require "luci.model.cbi.passwall.api.api"
}
url += params;
} else if ((v_type === "Xray" && opt.get("protocol").value === "trojan") || v_type === "Trojan" || v_type === "Trojan-Plus" || v_type === "Trojan-Go") {
if (v_type === "Xray" && opt.get("protocol").value === "trojan") {
v_type = "trojan";
}
var v_password = opt.get(!opt.client && v_type === "Trojan-Go" ? "passwords" : "password");
var v_server = opt.get("address");
var v_port = opt.get("port");
url = encodeURIComponent(v_password.value) +
"@" + v_server.value +
":" + v_port.value + "/?";
var params = "";
if (opt.get("tls").checked) {
url += opt.query("sni", "tls_serverName");
params += opt.query("sni", "tls_serverName");
if (v_type !== "Trojan-Go") {
url += "&tls=1"
url += opt.query("allowinsecure", "tls_allowInsecure");
params += "&tls=1"
params += opt.query("allowinsecure", "tls_allowInsecure");
}
}
if (v_type === "Trojan-Go") {
@ -296,17 +300,17 @@ local api = require "luci.model.cbi.passwall.api.api"
plugin.option = opt.get("plugin_option").value;
plugin.arg = opt.getlist("plugin_arg");
}
url += "&plugin=" + encodeURIComponent(JSON.stringify(plugin));
params += "&plugin=" + encodeURIComponent(JSON.stringify(plugin));
}
url += opt.query("type", "trojan_transport");
params += opt.query("type", "trojan_transport");
var ws = (opt.get("trojan_transport").value.indexOf("ws") !== -1);
var h2 = (opt.get("trojan_transport").value.indexOf("h2") !== -1);
if (ws) {
url += opt.query("host", "ws_host");
url += opt.query("path", "ws_path");
params += opt.query("host", "ws_host");
params += opt.query("path", "ws_path");
} else if (h2) {
url += opt.query("host", "h2_host");
url += opt.query("path", "h2_path");
params += opt.query("host", "h2_host");
params += opt.query("path", "h2_path");
}
var enc = "none";
if (opt.get("ss_aead").checked === true) {
@ -314,9 +318,13 @@ local api = require "luci.model.cbi.passwall.api.api"
opt.get("ss_aead_method").value +
":" + opt.get("ss_aead_pwd").value;
}
url += "&encryption=" + encodeURIComponent(enc);
params += "&encryption=" + encodeURIComponent(enc);
}
url += "#" + encodeURI(v_alias.value);
params += "#" + encodeURI(v_alias.value);
if (params[0] == "&") {
params = params.substring(1);
}
url += params;
}
if (url) {
url = v_type.toLowerCase() + "://" + url;
@ -327,9 +335,9 @@ local api = require "luci.model.cbi.passwall.api.api"
textarea.select();
try {
document.execCommand("copy"); // Security exception may be thrown by some browsers.
s.innerHTML = "<font color='green'><%:Share url to clipboard successfully.%></font>";
s.innerHTML = "<font color='green'><%:Share URL to clipboard successfully.%></font>";
} catch (ex) {
s.innerHTML = "<font color='red'><%:Share url to clipboard unable.%></font>";
s.innerHTML = "<font color='red'><%:Share URL to clipboard unable.%></font>";
} finally {
document.body.removeChild(textarea);
}

View File

@ -466,10 +466,10 @@ msgstr "无效的分享URL信息"
msgid "Paste Share URL Here"
msgstr "在此处粘贴分享信息"
msgid "Share url to clipboard unable."
msgid "Share URL to clipboard unable."
msgstr "无法分享URL到剪贴板。"
msgid "Share url to clipboard successfully."
msgid "Share URL to clipboard successfully."
msgstr "成功复制分享URL到剪贴板。"
msgid "Faltal on get option, please help in debug:"

View File

@ -48,7 +48,7 @@ comment() {
destroy_ipset() {
for i in "$@"; do
#ipset -q -F $i
ipset -q -F $i
ipset -q -X $i
done
}

View File

@ -17,7 +17,7 @@ config_t_get() {
echo ${ret:=$3}
}
if [ "$(top -bn1 | grep -v grep | grep $CONFIG/monitor.sh | wc -l)" -gt 2 ]; then
if [ "$(pgrep -f $CONFIG/monitor.sh | wc -l)" -gt 2 ]; then
exit 1
fi
@ -35,13 +35,12 @@ do
#kcptun
use_kcp=$(config_n_get $TCP_NODE use_kcp 0)
if [ $use_kcp -gt 0 ]; then
icount=$(top -bn1 | grep -v grep | grep "$TMP_BIN_PATH/kcptun" | grep -i "tcp" | wc -l)
if [ $icount = 0 ]; then
if ! pgrep -af "$TMP_BIN_PATH/kcptun.*(tcp|TCP)" > /dev/null 2>&1; then
/etc/init.d/$CONFIG restart
exit 0
fi
fi
icount=$(top -bn1 | grep -v -E 'grep|kcptun' | grep "$TMP_BIN_PATH" | grep -i "TCP" | wc -l)
icount=$(pgrep -af "$TMP_BIN_PATH.*(tcp|TCP)" | grep -v kcptun | wc -l)
if [ $icount = 0 ]; then
/etc/init.d/$CONFIG restart
exit 0
@ -55,8 +54,7 @@ do
if [ "$UDP_NODE" != "nil" ]; then
[ "$UDP_NODE" == "tcp" ] && continue
[ "$UDP_NODE" == "tcp_" ] && UDP_NODE=$TCP_NODE
icount=$(top -bn1 | grep -v grep | grep "$TMP_BIN_PATH" | grep -i "UDP" | wc -l)
if [ $icount = 0 ]; then
if ! pgrep -af "$TMP_BIN_PATH.*(udp|UDP)" > /dev/null 2>&1; then
/etc/init.d/$CONFIG restart
exit 0
fi
@ -74,8 +72,7 @@ do
fi
[ -f "$TMP_BIN_PATH/chinadns-ng" ] && {
icount=$(top -bn1 | grep -v grep | grep $TMP_BIN_PATH/chinadns-ng | wc -l)
if [ $icount = 0 ]; then
if ! pgrep -x "$TMP_BIN_PATH/chinadns-ng" > /dev/null 2>&1; then
/etc/init.d/$CONFIG restart
exit 0
fi
@ -84,8 +81,7 @@ do
#haproxy
use_haproxy=$(config_t_get global_haproxy balancing_enable 0)
if [ $use_haproxy -gt 0 ]; then
icount=$(top -bn1 | grep -v grep | grep "$TMP_BIN_PATH/haproxy" | wc -l)
if [ $icount = 0 ]; then
if ! pgrep -x "$TMP_BIN_PATH/haproxy" > /dev/null 2>&1; then
/etc/init.d/$CONFIG restart
exit 0
fi

View File

@ -1,66 +0,0 @@
#
# Copyright (C) 2017 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=ndpi-netfilter
PKG_VERSION:=3.0
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/betolj/ndpi-netfilter
PKG_MIRROR_HASH:=1a26ea73375a99831be6949faa9bc768e9f4f9e3594286729ec9e61dd6402b07
PKG_SOURCE_VERSION:=4875069df027199698ba0b7c53541ae2a4e3ba00
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/kernel.mk
define Package/iptables-mod-ndpi
SUBMENU:=Firewall
SECTION:=net
CATEGORY:=Network
TITLE:=nDPI successor of OpenDPI
URL:=https://github.com/ntop/nDPI
DEPENDS:=+iptables +iptables-mod-conntrack-extra +kmod-ipt-ndpi
MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
endef
define Package/iptables-mod-ndpi/description
nDPI is a ntop-maintained superset of the popular OpenDPI library
endef
define Build/Prepare
$(call Build/Prepare/Default)
$(TAR) -zxf $(PKG_BUILD_DIR)/nDPI.tar.gz -C $(PKG_BUILD_DIR)
endef
MAKE_FLAGS +=\
KERNEL_DIR="$(LINUX_DIR)" \
ARCH="$(LINUX_KARCH)" \
NDPI_PATH=$(PKG_BUILD_DIR)/nDPI \
CROSS_COMPILE="$(TARGET_CROSS)" \
all
define Package/iptables-mod-ndpi/install
$(INSTALL_DIR) $(1)/usr/lib/iptables
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ipt/libxt_ndpi.so $(1)/usr/lib/iptables
endef
define KernelPackage/ipt-ndpi
SUBMENU:=Netfilter Extensions
TITLE:=nDPI netfilter module
DEPENDS:=+kmod-nf-conntrack +kmod-nf-conntrack-netlink +kmod-ipt-compat-xtables
FILES:= \
$(PKG_BUILD_DIR)/src/xt_ndpi.ko
AUTOLOAD:=$(call AutoProbe,xt_ndpi)
endef
$(eval $(call BuildPackage,iptables-mod-ndpi))
$(eval $(call KernelPackage,ipt-ndpi))

View File

@ -1,126 +0,0 @@
--- a/nDPI-patch/src/lib/protocols/netflow.c
+++ b/nDPI-patch/src/lib/protocols/netflow.c
@@ -21,6 +21,7 @@
*/
+#include <linux/version.h>
#include "ndpi_api.h"
#ifdef NDPI_PROTOCOL_NETFLOW
@@ -29,7 +30,11 @@
#ifdef WIN32
extern int gettimeofday(struct timeval * tp, struct timezone * tzp);
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
#define do_gettimeofday(a) gettimeofday(a, NULL)
+#else
+#define ktime_get_real_ts64(a) gettimeofday(a, NULL)
+#endif
#endif
struct flow_ver1_rec {
@@ -105,7 +110,11 @@ static void ndpi_check_netflow(struct ndpi_detection_module_struct *ndpi_struct,
// const u_int8_t *packet_payload = packet->payload;
u_int32_t payload_len = packet->payload_packet_len;
time_t now;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
struct timeval now_tv;
+#else
+ struct timespec64 now_tv;
+#endif
if((packet->udp != NULL) && (payload_len >= 24)) {
u_int16_t version = (packet->payload[0] << 8) + packet->payload[1], uptime_offset;
@@ -158,7 +167,11 @@ static void ndpi_check_netflow(struct ndpi_detection_module_struct *ndpi_struct,
_when = (u_int32_t*)&packet->payload[uptime_offset]; /* Sysuptime */
when = ntohl(*_when);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
do_gettimeofday(&now_tv);
+#else
+ ktime_get_real_ts64(&now_tv);
+#endif
now = now_tv.tv_sec;
if(((version == 1) && (when == 0))
--- a/src/main.c
+++ b/src/main.c
@@ -383,9 +383,16 @@ static void ndpi_gc_flow(void)
union nf_inet_addr *ipdst;
u64 t1;
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
struct timeval tv;
do_gettimeofday(&tv);
+#else
+ struct timespec64 tv;
+
+ ktime_get_real_ts64(&tv);
+#endif
t1 = (uint64_t) tv.tv_sec;
if (debug_dpi) pr_info ("xt_ndpi: call garbage collector.\n");
@@ -418,7 +425,11 @@ ndpi_process_packet(struct nf_conn * ct, const uint64_t time,
u8 exist_flow=0;
u64 t1;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
struct timeval tv;
+#else
+ struct timespec64 tv;
+#endif
spin_lock_bh (&flow_lock);
ipsrc = &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u3;
@@ -449,7 +460,11 @@ ndpi_process_packet(struct nf_conn * ct, const uint64_t time,
}
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
do_gettimeofday(&tv);
+#else
+ ktime_get_real_ts64(&tv);
+#endif
t1 = (uint64_t) tv.tv_sec;
if (flow == NULL) {
@@ -602,7 +617,11 @@ ndpi_mt(const struct sk_buff *skb, struct xt_action_param *par)
enum ip_conntrack_info ctinfo;
struct nf_conn * ct;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
struct timeval tv;
+#else
+ struct timespec64 tv;
+#endif
struct sk_buff *linearized_skb = NULL;
const struct sk_buff *skb_use = NULL;
@@ -630,7 +649,7 @@ ndpi_mt(const struct sk_buff *skb, struct xt_action_param *par)
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0)
} else if (nf_ct_is_untracked(skb)){
#else
- } else if (nf_ct_is_untracked(ct)){
+ } else if (nf_ct_is_expired(ct)){
#endif
pr_info ("xt_ndpi: ignoring untracked sk_buff.\n");
return false;
@@ -641,9 +660,15 @@ ndpi_mt(const struct sk_buff *skb, struct xt_action_param *par)
ip = ip_hdr(skb_use);
tcph = (const void *)ip + ip_hdrlen(skb_use);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
do_gettimeofday(&tv);
time = ((uint64_t) tv.tv_sec) * detection_tick_resolution +
tv.tv_usec / (1000000 / detection_tick_resolution);
+#else
+ ktime_get_real_ts64(&tv);
+ time = ((uint64_t) tv.tv_sec) * detection_tick_resolution +
+ (tv.tv_nsec / 1000 )/ (1000000 / detection_tick_resolution);
+#endif
/* reset for new packets and solve ct collisions */
if (ctinfo == IP_CT_NEW) {

View File

@ -1,47 +0,0 @@
#
# Copyright (C) 2010-2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=openvpn-easy-rsa-whisky
PKG_VERSION:=3.0.6
PKG_RELEASE:=2
PKG_SOURCE_URL:=https://github.com/OpenVPN/easy-rsa/releases/download/v$(PKG_VERSION)/
PKG_SOURCE:=EasyRSA-unix-v$(PKG_VERSION).tgz
PKG_HASH:=cb29aed2d27824e59dbaad547f11dcab380a53c9fe05681249e804af436f1396
PKG_LICENSE:=GPL-2.0
PKG_BUILD_DIR:=$(BUILD_DIR)/EasyRSA-v$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
define Package/openvpn-easy-rsa-whisky
TITLE:=CLI utility to build and manage a PKI CA.
SECTION:=net
CATEGORY:=Network
URL:=http://openvpn.net
SUBMENU:=VPN
DEPENDS:=+openssl-util
PKGARCH:=all
endef
define Build/Configure
endef
define Build/Compile
endef
define Package/openvpn-easy-rsa-whisky/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/easyrsa $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc/easy-rsa
$(INSTALL_DATA) $(PKG_BUILD_DIR)/openssl-easyrsa.cnf $(1)/etc/easy-rsa/openssl-easyrsa.cnf
$(INSTALL_DIR) $(1)/etc/easy-rsa/x509-types
$(INSTALL_DATA) $(PKG_BUILD_DIR)/x509-types/* $(1)/etc/easy-rsa/x509-types/
endef
$(eval $(call BuildPackage,openvpn-easy-rsa-whisky))

View File

@ -1,11 +0,0 @@
--- a/easyrsa
+++ b/easyrsa
@@ -549,7 +549,7 @@ current CA keypair. If you intended to s
# Default CN only when not in global EASYRSA_BATCH mode:
# shellcheck disable=SC2015
- [ "$EASYRSA_BATCH" ] && opts="$opts -batch" || export EASYRSA_REQ_CN="Easy-RSA CA"
+ [ "$EASYRSA_BATCH" ] && opts="$opts -batch" || export EASYRSA_REQ_CN="${EASYRSA_REQ_CN:-Easy-RSA CA}"
out_key_tmp="$(mktemp "$out_key.XXXXXXXXXX")"; EASYRSA_TEMP_FILE_2="$out_key_tmp"
out_file_tmp="$(mktemp "$out_file.XXXXXXXXXX")"; EASYRSA_TEMP_FILE_3="$out_file_tmp"

View File

@ -1,20 +0,0 @@
--- a/easyrsa
+++ b/easyrsa
@@ -1033,7 +1033,7 @@ vars_setup() {
vars=
# set up program path
- prog_vars="${0%/*}/vars"
+ prog_vars="/etc/easy-rsa/vars"
# set up PKI path
pki_vars="${EASYRSA_PKI:-$PWD/pki}/vars"
@@ -1060,7 +1060,7 @@ Note: using Easy-RSA configuration from:
fi
# Set defaults, preferring existing env-vars if present
- set_var EASYRSA "${0%/*}"
+ set_var EASYRSA "/etc/easy-rsa"
set_var EASYRSA_OPENSSL openssl
set_var EASYRSA_PKI "$PWD/pki"
set_var EASYRSA_DN cn_only

View File

@ -14,7 +14,7 @@ PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=https://github.com/jow-/ucode.git
PKG_SOURCE_DATE:=2021-03-19
PKG_SOURCE_VERSION:=4a5b9010ccc56fdf288fe758023af445feb93fad
PKG_MIRROR_HASH:=145a2ce69e14cae9b448de85b94c7a817ba3aea04b1611399186ad36fb88958e
PKG_MIRROR_HASH:=2d15fe2f51ebdeae532a2e8130689400cf2364876e737cfbb1bf9c045719acf1
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
PKG_LICENSE:=ISC

View File

@ -75,12 +75,12 @@ IS_PACKAGE_BUILD := $(if $(filter package/%,$(BUILD_SUBDIR)),1)
OPTIMIZE_FOR_CPU=$(subst i386,i486,$(ARCH))
ifneq (,$(findstring $(ARCH) , aarch64 aarch64_be powerpc ))
FPIC:=-fPIC
FPIC:=-DPIC -fPIC
else
FPIC:=-fpic
FPIC:=-DPIC -fpic
endif
HOST_FPIC:=-fPIC
HOST_FPIC:=-DPIC -fPIC
ARCH_SUFFIX:=$(call qstrip,$(CONFIG_CPU_TYPE))
GCC_ARCH:=

View File

@ -281,6 +281,7 @@ foreach my $mirror (@ARGV) {
}
unshift @mirrors, "http://182.140.223.146/dl";
unshift @mirrors, "https://mirror01.download.immortalwrt.org/openwrt-18.06";
unshift @mirrors, "https://openwrt.cc/dl/immortalwrt/openwrt-18.06";
push @mirrors, 'https://sources.cdn.openwrt.org';
push @mirrors, 'https://sources.openwrt.org';

View File

@ -38,10 +38,9 @@ if output:
"make",
"--no-print-directory",
"-C",
"target/linux/{}".format(output["target"].split("/")[0]),
"target/linux/",
"val.DEFAULT_PACKAGES",
"val.ARCH_PACKAGES",
"DUMP=1",
],
stdout=PIPE,
stderr=PIPE,
@ -50,7 +49,8 @@ if output:
universal_newlines=True,
).stdout.splitlines()
output["default_packages"] = default_packages.split()
output["default_packages"] = sorted(default_packages.split())
output_path.write_text(json.dumps(output, sort_keys=True, separators=(",", ":")))
else:
print("JSON info file script could not find any JSON files for target")

View File

@ -37,8 +37,8 @@ TARGET_DEVICES += friendlyarm_nanopi-neo2
define Device/friendlyarm_nanopi-r1s-h5
DEVICE_VENDOR := FriendlyARM
DEVICE_MODEL:=Nanopi R1S H5
DEVICE_PACKAGES:= kmod-eeprom-at24 kmod-gpio-button-hotplug kmod-leds-gpio \
DEVICE_MODEL := Nanopi R1S H5
DEVICE_PACKAGES := kmod-eeprom-at24 kmod-gpio-button-hotplug kmod-leds-gpio \
kmod-rtl8189es kmod-usb2 kmod-usb-net-rtl8152 wpad-basic
SUPPORTED_DEVICES:=nanopi-r1s-h5
$(Device/sun50i-h5)

View File

@ -31,7 +31,7 @@ new file mode 100644
index 0000000000000..b2657201957eb
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi
@@ -0,0 +1,79 @@
@@ -0,0 +1,91 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+// Copyright (C) 2020 Chen-Yu Tsai <wens@csie.org>
+
@ -93,6 +93,18 @@ index 0000000000000..b2657201957eb
+ opp-microvolt = <1300000 1300000 1310000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp-1200000000 {
+ opp-hz = /bits/ 64 <1200000000>;
+ opp-microvolt = <1300000 1300000 1310000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp-1248000000 {
+ opp-hz = /bits/ 64 <1248000000>;
+ opp-microvolt = <1300000 1300000 1310000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+ };
+};
+

View File

@ -0,0 +1,50 @@
--- a/arch/arm/boot/dts/sun8i-h3.dtsi
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
@@ -60,11 +60,47 @@
clock-latency-ns = <244144>; /* 8 32k periods */
};
+ opp@960000000 {
+ opp-hz = /bits/ 64 <960000000>;
+ opp-microvolt = <1200000 1200000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
opp-1008000000 {
opp-hz = /bits/ 64 <1008000000>;
opp-microvolt = <1200000 1200000 1300000>;
clock-latency-ns = <244144>; /* 8 32k periods */
};
+
+ opp-1056000000 {
+ opp-hz = /bits/ 64 <1056000000>;
+ opp-microvolt = <1300000 1300000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp-1104000000 {
+ opp-hz = /bits/ 64 <1104000000>;
+ opp-microvolt = <1300000 1300000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp-1152000000 {
+ opp-hz = /bits/ 64 <1152000000>;
+ opp-microvolt = <1300000 1300000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp-1200000000 {
+ opp-hz = /bits/ 64 <1200000000>;
+ opp-microvolt = <1300000 1300000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
+
+ opp-1248000000 {
+ opp-hz = /bits/ 64 <1248000000>;
+ opp-microvolt = <1300000 1300000 1300000>;
+ clock-latency-ns = <244144>; /* 8 32k periods */
+ };
};
cpus {