IPQ40xx series has a HW pseudo random number generator built in. It already has a node in the upstream ipq4019.dtsi so we just need to enable it. Its driver has been rewritten to use crypto API so we dont have char interface like under 4.14 kernel. Signed-off-by: Robert Marko <robimarko@gmail.com>
311 lines
5.5 KiB
Plaintext
311 lines
5.5 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
|
|
#include "qcom-ipq4019.dtsi"
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/input/linux-event-codes.h>
|
|
#include <dt-bindings/soc/qcom,tcsr.h>
|
|
|
|
/ {
|
|
model = "ZyXEL NBG6617";
|
|
compatible = "zyxel,nbg6617", "qcom,ipq4019";
|
|
|
|
chosen {
|
|
/*
|
|
* the vendor u-boot adds root and mtdparts cmdline parameters
|
|
* which we don't want... but we have to overwrite them or else
|
|
* the kernel will take them at face value.
|
|
*/
|
|
bootargs-append = " mtdparts= root=31:13";
|
|
};
|
|
|
|
aliases {
|
|
led-boot = &power;
|
|
led-failsafe = &power;
|
|
led-running = &power;
|
|
led-upgrade = &power;
|
|
};
|
|
|
|
soc {
|
|
rng@22000 {
|
|
status = "okay";
|
|
};
|
|
|
|
mdio@90000 {
|
|
status = "okay";
|
|
};
|
|
|
|
ess-psgmii@98000 {
|
|
status = "okay";
|
|
};
|
|
|
|
tcsr@1949000 {
|
|
compatible = "qcom,tcsr";
|
|
reg = <0x1949000 0x100>;
|
|
qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
|
|
};
|
|
|
|
tcsr@194b000 {
|
|
compatible = "qcom,tcsr";
|
|
reg = <0x194b000 0x100>;
|
|
qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
|
|
};
|
|
|
|
ess_tcsr@1953000 {
|
|
compatible = "qcom,tcsr";
|
|
reg = <0x1953000 0x1000>;
|
|
qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
|
|
};
|
|
|
|
tcsr@1957000 {
|
|
compatible = "qcom,tcsr";
|
|
reg = <0x1957000 0x100>;
|
|
qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
|
|
};
|
|
|
|
usb2@60f8800 {
|
|
status = "okay";
|
|
};
|
|
|
|
usb3@8af8800 {
|
|
status = "okay";
|
|
};
|
|
|
|
crypto@8e3a000 {
|
|
status = "okay";
|
|
};
|
|
|
|
watchdog@b017000 {
|
|
status = "okay";
|
|
};
|
|
|
|
ess-switch@c000000 {
|
|
status = "okay";
|
|
};
|
|
|
|
edma@c080000 {
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
keys {
|
|
compatible = "gpio-keys";
|
|
|
|
wlan {
|
|
label = "wlan";
|
|
gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
|
|
linux,code = <KEY_RFKILL>;
|
|
linux,input-type = <EV_SW>;
|
|
};
|
|
|
|
wps {
|
|
label = "wps";
|
|
gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_WPS_BUTTON>;
|
|
};
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RESTART>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
pinctrl-0 = <&led_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
power: power {
|
|
label = "nbg6617:green:power";
|
|
gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
usb {
|
|
label = "nbg6617:green:usb";
|
|
gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
wlan2G {
|
|
label = "nbg6617:green:wlan2G";
|
|
gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
wlan5G {
|
|
label = "nbg6617:green:wlan5G";
|
|
gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
wps {
|
|
label = "nbg6617:green:wps";
|
|
gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&tlmm {
|
|
serial_pins: serial_pinmux {
|
|
mux {
|
|
pins = "gpio60", "gpio61";
|
|
function = "blsp_uart0";
|
|
bias-disable;
|
|
};
|
|
};
|
|
spi_0_pins: spi_0_pinmux {
|
|
mux {
|
|
function = "blsp_spi0";
|
|
pins = "gpio55", "gpio56", "gpio57";
|
|
drive-strength = <12>;
|
|
bias-disable;
|
|
};
|
|
|
|
mux_cs {
|
|
function = "gpio";
|
|
pins = "gpio54";
|
|
drive-strength = <2>;
|
|
bias-disable;
|
|
output-low;
|
|
};
|
|
};
|
|
led_pins: led_pinmux {
|
|
mux {
|
|
pins = "gpio0", "gpio1", "gpio3", "gpio5", "gpio58";
|
|
drive-strength = <0x8>;
|
|
bias-disable;
|
|
output-low;
|
|
};
|
|
};
|
|
};
|
|
|
|
&blsp1_spi1 { /* BLSP1 QUP1 */
|
|
pinctrl-0 = <&spi_0_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
|
|
|
|
mx25l25635f@0 {
|
|
compatible = "mx25l25635f", "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <24000000>;
|
|
status = "okay";
|
|
m25p,fast-read;
|
|
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
partition0@0 {
|
|
label = "SBL1";
|
|
reg = <0x00000000 0x00040000>;
|
|
read-only;
|
|
};
|
|
partition1@40000 {
|
|
label = "MIBIB";
|
|
reg = <0x00040000 0x00020000>;
|
|
read-only;
|
|
};
|
|
partition2@60000 {
|
|
label = "QSEE";
|
|
reg = <0x00060000 0x00060000>;
|
|
read-only;
|
|
};
|
|
partition3@c0000 {
|
|
label = "CDT";
|
|
reg = <0x000c0000 0x00010000>;
|
|
read-only;
|
|
};
|
|
partition4@d0000 {
|
|
label = "DDRPARAMS";
|
|
reg = <0x000d0000 0x00010000>;
|
|
read-only;
|
|
};
|
|
partition5@e0000 {
|
|
label = "APPSBL"; /* u-boot */
|
|
reg = <0x000e0000 0x00080000>;
|
|
/* U-Boot Standalone App "zloader" is located at 0x64000 */
|
|
read-only;
|
|
};
|
|
partition6@160000 {
|
|
label = "APPSBLENV"; /* u-boot env */
|
|
reg = <0x00160000 0x00010000>;
|
|
};
|
|
partition7@170000 {
|
|
/* make a backup of this partition! */
|
|
label = "ART";
|
|
reg = <0x00170000 0x00010000>;
|
|
read-only;
|
|
};
|
|
partition8@180000 {
|
|
label = "kernel";
|
|
reg = <0x00180000 0x00400000>;
|
|
};
|
|
partition9@580000 {
|
|
label = "dualflag";
|
|
reg = <0x00580000 0x00010000>;
|
|
read-only;
|
|
};
|
|
partition10@590000 {
|
|
label = "header";
|
|
reg = <0x00590000 0x00010000>;
|
|
};
|
|
partition11@5a0000 {
|
|
label = "romd";
|
|
reg = <0x005a0000 0x00100000>;
|
|
read-only;
|
|
};
|
|
partition12@6a0000 {
|
|
label = "not_root_data";
|
|
/*
|
|
* for some strange reason, someone at ZyXEL
|
|
* had the "great" idea to put the rootfs_data
|
|
* in front of rootfs... Don't do that!
|
|
* As a result this one, full MebiByte remains
|
|
* unused.
|
|
*/
|
|
reg = <0x006a0000 0x00100000>;
|
|
};
|
|
partition13@7a0000 {
|
|
label = "rootfs";
|
|
reg = <0x007a0000 0x01860000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&blsp1_uart1 {
|
|
pinctrl-0 = <&serial_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
&cryptobam {
|
|
status = "okay";
|
|
};
|
|
|
|
&blsp_dma {
|
|
status = "okay";
|
|
};
|
|
|
|
&wifi0 {
|
|
status = "okay";
|
|
qcom,ath10k-calibration-variant = "ZyXEL-NBG6617";
|
|
};
|
|
|
|
&wifi1 {
|
|
status = "okay";
|
|
qcom,ath10k-calibration-variant = "ZyXEL-NBG6617";
|
|
};
|
|
|
|
&usb3_ss_phy {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb3_hs_phy {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb2_hs_phy {
|
|
status = "okay";
|
|
};
|