mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-01-19 05:10:49 +00:00
ipq806x: 5:15: add testing kernel version
Refresh patch for 5.15 Rework tweak patch to sync with upstream ipq8064 dtsi and fix regression introduced. Rename nand_controller to nand in every dts. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
This commit is contained in:
parent
327677a71d
commit
8cc2caed58
@ -11,6 +11,7 @@ CPU_SUBTYPE:=neon-vfpv4
|
||||
SUBTARGETS:=generic
|
||||
|
||||
KERNEL_PATCHVER:=5.10
|
||||
KERNEL_TESTING_PATCHVER:=5.15
|
||||
|
||||
KERNELNAME:=zImage Image dtbs
|
||||
|
||||
|
@ -51,7 +51,7 @@
|
||||
max-link-speed = <1>;
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -63,7 +63,7 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -231,7 +231,7 @@
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -34,7 +34,7 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -172,7 +172,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -166,7 +166,7 @@
|
||||
max-link-speed = <1>;
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -228,7 +228,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -218,7 +218,7 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -103,7 +103,7 @@
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -156,7 +156,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -220,7 +220,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -98,7 +98,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -137,7 +137,7 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -259,7 +259,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
|
@ -33,7 +33,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
|
||||
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -322,7 +322,7 @@ config ARCH_MULTIPLATFORM
|
||||
@@ -321,7 +321,7 @@ config ARCH_MULTIPLATFORM
|
||||
select ARCH_SELECT_MEMORY_MODEL
|
||||
select ARM_HAS_SG_CHAIN
|
||||
select ARM_PATCH_PHYS_VIRT
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
|
||||
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -1781,6 +1781,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
|
||||
@@ -1780,6 +1780,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
|
||||
The command-line arguments provided by the boot loader will be
|
||||
appended to the the device tree bootargs property.
|
||||
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -907,8 +907,29 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
||||
@@ -955,8 +955,29 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
||||
qcom-ipq4019-ap.dk04.1-c3.dtb \
|
||||
qcom-ipq4019-ap.dk07.1-c1.dtb \
|
||||
qcom-ipq4019-ap.dk07.1-c2.dtb \
|
||||
@ -32,11 +32,11 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
+ qcom-ipq8064-wxr-2533dhp.dtb \
|
||||
+ qcom-ipq8065-nbg6817.dtb \
|
||||
+ qcom-ipq8065-r7800.dtb \
|
||||
+ qcom-ipq8065-rt4230w-rev6.dtb \
|
||||
+ qcom-ipq8065-xr500.dtb \
|
||||
+ qcom-ipq8065-rt4230w-rev6.dtb \
|
||||
+ qcom-ipq8068-ecw5410.dtb \
|
||||
+ qcom-ipq8068-mr42.dtb \
|
||||
+ qcom-ipq8068-mr52.dtb \
|
||||
qcom-msm8226-samsung-s3ve3g.dtb \
|
||||
qcom-msm8660-surf.dtb \
|
||||
qcom-msm8960-cdp.dtb \
|
||||
qcom-msm8974-fairphone-fp2.dtb \
|
||||
|
@ -1,10 +1,10 @@
|
||||
--- a/drivers/firmware/qcom_scm.c
|
||||
+++ b/drivers/firmware/qcom_scm.c
|
||||
@@ -1275,6 +1275,7 @@ static const struct of_device_id qcom_sc
|
||||
@@ -1339,6 +1339,7 @@ static const struct of_device_id qcom_sc
|
||||
SCM_HAS_BUS_CLK)
|
||||
},
|
||||
{ .compatible = "qcom,scm-ipq4019" },
|
||||
+ { .compatible = "qcom,scm-ipq806x" },
|
||||
{ .compatible = "qcom,scm-msm8660", .data = (void *) SCM_HAS_CORE_CLK },
|
||||
{ .compatible = "qcom,scm-msm8960", .data = (void *) SCM_HAS_CORE_CLK },
|
||||
{ .compatible = "qcom,scm-msm8916", .data = (void *)(SCM_HAS_CORE_CLK |
|
||||
{ .compatible = "qcom,scm-mdm9607", .data = (void *)(SCM_HAS_CORE_CLK |
|
||||
SCM_HAS_IFACE_CLK |
|
||||
SCM_HAS_BUS_CLK) },
|
||||
|
@ -1,33 +1,6 @@
|
||||
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
||||
@@ -20,7 +20,7 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
- cpu@0 {
|
||||
+ cpu0: cpu@0 {
|
||||
compatible = "qcom,krait";
|
||||
enable-method = "qcom,kpss-acc-v1";
|
||||
device_type = "cpu";
|
||||
@@ -30,7 +30,7 @@
|
||||
qcom,saw = <&saw0>;
|
||||
};
|
||||
|
||||
- cpu@1 {
|
||||
+ cpu1: cpu@1 {
|
||||
compatible = "qcom,krait";
|
||||
enable-method = "qcom,kpss-acc-v1";
|
||||
device_type = "cpu";
|
||||
@@ -67,7 +67,7 @@
|
||||
no-map;
|
||||
};
|
||||
|
||||
- smem@41000000 {
|
||||
+ smem: smem@41000000 {
|
||||
reg = <0x41000000 0x200000>;
|
||||
no-map;
|
||||
};
|
||||
@@ -128,6 +128,7 @@
|
||||
@@ -352,6 +352,7 @@
|
||||
gpio-ranges = <&qcom_pinmux 0 0 69>;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
@ -35,7 +8,7 @@
|
||||
#interrupt-cells = <2>;
|
||||
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
@@ -155,6 +156,7 @@
|
||||
@@ -379,6 +380,7 @@
|
||||
function = "pcie3_rst";
|
||||
drive-strength = <12>;
|
||||
bias-disable;
|
||||
@ -43,7 +16,40 @@
|
||||
};
|
||||
};
|
||||
|
||||
@@ -190,6 +192,7 @@
|
||||
@@ -411,12 +413,9 @@
|
||||
};
|
||||
|
||||
nand_pins: nand_pins {
|
||||
- mux {
|
||||
+ disable {
|
||||
pins = "gpio34", "gpio35", "gpio36",
|
||||
- "gpio37", "gpio38", "gpio39",
|
||||
- "gpio40", "gpio41", "gpio42",
|
||||
- "gpio43", "gpio44", "gpio45",
|
||||
- "gpio46", "gpio47";
|
||||
+ "gpio37", "gpio38";
|
||||
function = "nand";
|
||||
drive-strength = <10>;
|
||||
bias-disable;
|
||||
@@ -424,6 +423,8 @@
|
||||
|
||||
pullups {
|
||||
pins = "gpio39";
|
||||
+ function = "nand";
|
||||
+ drive-strength = <10>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
@@ -431,6 +432,8 @@
|
||||
pins = "gpio40", "gpio41", "gpio42",
|
||||
"gpio43", "gpio44", "gpio45",
|
||||
"gpio46", "gpio47";
|
||||
+ function = "nand";
|
||||
+ drive-strength = <10>;
|
||||
bias-bus-hold;
|
||||
};
|
||||
};
|
||||
@@ -439,6 +442,7 @@
|
||||
intc: interrupt-controller@2000000 {
|
||||
compatible = "qcom,msm-qgic2";
|
||||
interrupt-controller;
|
||||
@ -51,7 +57,7 @@
|
||||
#interrupt-cells = <3>;
|
||||
reg = <0x02000000 0x1000>,
|
||||
<0x02002000 0x1000>;
|
||||
@@ -219,21 +222,23 @@
|
||||
@@ -468,11 +472,13 @@
|
||||
acc0: clock-controller@2088000 {
|
||||
compatible = "qcom,kpss-acc-v1";
|
||||
reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
|
||||
@ -64,6 +70,10 @@
|
||||
+ clock-output-names = "acpu1_aux";
|
||||
};
|
||||
|
||||
adm_dma: dma-controller@18300000 {
|
||||
@@ -496,13 +502,13 @@
|
||||
};
|
||||
|
||||
saw0: regulator@2089000 {
|
||||
- compatible = "qcom,saw2";
|
||||
+ compatible = "qcom,saw2", "qcom,apq8064-saw2-v1.1-cpu", "syscon";
|
||||
@ -77,16 +87,7 @@
|
||||
reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
|
||||
regulator;
|
||||
};
|
||||
@@ -251,7 +256,7 @@
|
||||
|
||||
syscon-tcsr = <&tcsr>;
|
||||
|
||||
- serial@12490000 {
|
||||
+ gsbi2_serial: serial@12490000 {
|
||||
compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
|
||||
reg = <0x12490000 0x1000>,
|
||||
<0x12480000 0x1000>;
|
||||
@@ -261,7 +266,7 @@
|
||||
@@ -533,7 +533,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -95,35 +96,20 @@
|
||||
compatible = "qcom,i2c-qup-v1.1.1";
|
||||
reg = <0x124a0000 0x1000>;
|
||||
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@@ -326,7 +331,7 @@
|
||||
@@ -676,9 +682,6 @@
|
||||
compatible = "qcom,ipq806x-nand";
|
||||
reg = <0x1ac00000 0x800>;
|
||||
|
||||
syscon-tcsr = <&tcsr>;
|
||||
|
||||
- serial@1a240000 {
|
||||
+ gsbi5_serial: serial@1a240000 {
|
||||
compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
|
||||
reg = <0x1a240000 0x1000>,
|
||||
<0x1a200000 0x1000>;
|
||||
@@ -397,7 +402,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
- sata@29000000 {
|
||||
+ sata: sata@29000000 {
|
||||
compatible = "qcom,ipq806x-ahci", "generic-ahci";
|
||||
reg = <0x29000000 0x180>;
|
||||
|
||||
@@ -430,13 +435,35 @@
|
||||
reg = <0x00700000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
+
|
||||
+ tsens_calib: calib@400 {
|
||||
+ reg = <0x400 0xb>;
|
||||
+ };
|
||||
+ tsens_backup: backup@410 {
|
||||
+ reg = <0x410 0xb>;
|
||||
+ };
|
||||
- pinctrl-0 = <&nand_pins>;
|
||||
- pinctrl-names = "default";
|
||||
-
|
||||
clocks = <&gcc EBI2_CLK>,
|
||||
<&gcc EBI2_AON_CLK>;
|
||||
clock-names = "core", "aon";
|
||||
@@ -733,10 +736,13 @@
|
||||
tsens_calib_backup: calib_backup@410 {
|
||||
reg = <0x410 0xb>;
|
||||
};
|
||||
+ speedbin_efuse: speedbin@0c0 {
|
||||
+ reg = <0x0c0 0x4>;
|
||||
+ };
|
||||
@ -135,22 +121,53 @@
|
||||
reg = <0x00900000 0x4000>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
+ #power-domain-cells = <1>;
|
||||
@@ -768,10 +774,45 @@
|
||||
clocks = <&gcc RPM_MSG_RAM_H_CLK>;
|
||||
clock-names = "ram";
|
||||
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ tsens: thermal-sensor@900000 {
|
||||
+ compatible = "qcom,ipq8064-tsens";
|
||||
rpmcc: clock-controller {
|
||||
compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
+
|
||||
+ nvmem-cells = <&tsens_calib>, <&tsens_backup>;
|
||||
+ nvmem-cell-names = "calib", "calib_backup";
|
||||
+ interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "uplow";
|
||||
+ #thermal-sensor-cells = <1>;
|
||||
+ #qcom,sensors = <11>;
|
||||
+ regulators {
|
||||
+ compatible = "qcom,rpm-smb208-regulators";
|
||||
+
|
||||
+ smb208_s1a: s1a {
|
||||
+ regulator-min-microvolt = <1050000>;
|
||||
+ regulator-max-microvolt = <1150000>;
|
||||
+
|
||||
+ qcom,switch-mode-frequency = <1200000>;
|
||||
+ };
|
||||
+
|
||||
+ smb208_s1b: s1b {
|
||||
+ regulator-min-microvolt = <1050000>;
|
||||
+ regulator-max-microvolt = <1150000>;
|
||||
+
|
||||
+ qcom,switch-mode-frequency = <1200000>;
|
||||
+ };
|
||||
+
|
||||
+ smb208_s2a: s2a {
|
||||
+ regulator-min-microvolt = < 800000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
+
|
||||
+ qcom,switch-mode-frequency = <1200000>;
|
||||
+ };
|
||||
+
|
||||
+ smb208_s2b: s2b {
|
||||
+ regulator-min-microvolt = < 800000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
+
|
||||
+ qcom,switch-mode-frequency = <1200000>;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
tcsr: syscon@1a400000 {
|
||||
@@ -622,7 +649,7 @@
|
||||
@@ -965,7 +1006,7 @@
|
||||
|
||||
gmac0: ethernet@37000000 {
|
||||
device_type = "network";
|
||||
@ -159,7 +176,7 @@
|
||||
reg = <0x37000000 0x200000>;
|
||||
interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq";
|
||||
@@ -645,7 +672,7 @@
|
||||
@@ -989,7 +1030,7 @@
|
||||
|
||||
gmac1: ethernet@37200000 {
|
||||
device_type = "network";
|
||||
@ -168,7 +185,7 @@
|
||||
reg = <0x37200000 0x200000>;
|
||||
interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq";
|
||||
@@ -668,7 +695,7 @@
|
||||
@@ -1013,7 +1054,7 @@
|
||||
|
||||
gmac2: ethernet@37400000 {
|
||||
device_type = "network";
|
||||
@ -177,7 +194,7 @@
|
||||
reg = <0x37400000 0x200000>;
|
||||
interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq";
|
||||
@@ -691,7 +718,7 @@
|
||||
@@ -1037,7 +1078,7 @@
|
||||
|
||||
gmac3: ethernet@37600000 {
|
||||
device_type = "network";
|
||||
@ -186,24 +203,34 @@
|
||||
reg = <0x37600000 0x200000>;
|
||||
interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq";
|
||||
@@ -740,13 +767,13 @@
|
||||
qcom,ee = <0>;
|
||||
@@ -1050,8 +1050,6 @@
|
||||
clocks = <&gcc USB30_0_UTMI_CLK>;
|
||||
clock-names = "ref";
|
||||
#phy-cells = <0>;
|
||||
-
|
||||
- status = "disabled";
|
||||
};
|
||||
|
||||
- amba {
|
||||
ss_phy_0: usb3phy@100f8830 {
|
||||
@@ -1055,8 +1055,6 @@
|
||||
clocks = <&gcc USB30_0_MASTER_CLK>;
|
||||
clock-names = "ref";
|
||||
#phy-cells = <0>;
|
||||
-
|
||||
- status = "disabled";
|
||||
};
|
||||
|
||||
usb3_0: usb3@100f8800 {
|
||||
@@ -1176,7 +1217,7 @@
|
||||
};
|
||||
|
||||
amba: amba {
|
||||
- compatible = "simple-bus";
|
||||
+ amba: amba {
|
||||
+ compatible = "arm,amba-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
- sdcc@12400000 {
|
||||
+ sdcc1: sdcc@12400000 {
|
||||
status = "disabled";
|
||||
compatible = "arm,pl18x", "arm,primecell";
|
||||
arm,primecell-periphid = <0x00051180>;
|
||||
@@ -760,13 +787,12 @@
|
||||
@@ -1195,7 +1236,6 @@
|
||||
non-removable;
|
||||
cap-sd-highspeed;
|
||||
cap-mmc-highspeed;
|
||||
@ -211,10 +238,3 @@
|
||||
vmmc-supply = <&vsdcc_fixed>;
|
||||
dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
- sdcc@12180000 {
|
||||
+ sdcc3: sdcc@12180000 {
|
||||
compatible = "arm,pl18x", "arm,primecell";
|
||||
arm,primecell-periphid = <0x00051180>;
|
||||
status = "disabled";
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
||||
@@ -8,6 +8,8 @@
|
||||
@@ -10,6 +10,8 @@
|
||||
#include <dt-bindings/reset/qcom,gcc-ipq806x.h>
|
||||
#include <dt-bindings/soc/qcom,gsbi.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
/ {
|
||||
#address-cells = <1>;
|
||||
@@ -28,6 +30,16 @@
|
||||
@@ -30,6 +32,16 @@
|
||||
next-level-cache = <&L2>;
|
||||
qcom,acc = <&acc0>;
|
||||
qcom,saw = <&saw0>;
|
||||
@ -26,7 +26,7 @@
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
@@ -38,14 +50,350 @@
|
||||
@@ -40,11 +52,125 @@
|
||||
next-level-cache = <&L2>;
|
||||
qcom,acc = <&acc1>;
|
||||
qcom,saw = <&saw1>;
|
||||
@ -155,232 +155,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ thermal-zones {
|
||||
+ tsens_tz_sensor0 {
|
||||
+ polling-delay-passive = <0>;
|
||||
+ polling-delay = <0>;
|
||||
+ thermal-sensors = <&tsens 0>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu-critical {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+
|
||||
+ cpu-hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "hot";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ tsens_tz_sensor1 {
|
||||
+ polling-delay-passive = <0>;
|
||||
+ polling-delay = <0>;
|
||||
+ thermal-sensors = <&tsens 1>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu-critical {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+
|
||||
+ cpu-hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "hot";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ tsens_tz_sensor2 {
|
||||
+ polling-delay-passive = <0>;
|
||||
+ polling-delay = <0>;
|
||||
+ thermal-sensors = <&tsens 2>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu-critical {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+
|
||||
+ cpu-hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "hot";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ tsens_tz_sensor3 {
|
||||
+ polling-delay-passive = <0>;
|
||||
+ polling-delay = <0>;
|
||||
+ thermal-sensors = <&tsens 3>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu-critical {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+
|
||||
+ cpu-hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "hot";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ tsens_tz_sensor4 {
|
||||
+ polling-delay-passive = <0>;
|
||||
+ polling-delay = <0>;
|
||||
+ thermal-sensors = <&tsens 4>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu-critical {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+
|
||||
+ cpu-hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "hot";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ tsens_tz_sensor5 {
|
||||
+ polling-delay-passive = <0>;
|
||||
+ polling-delay = <0>;
|
||||
+ thermal-sensors = <&tsens 5>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu-critical {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+
|
||||
+ cpu-hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "hot";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ tsens_tz_sensor6 {
|
||||
+ polling-delay-passive = <0>;
|
||||
+ polling-delay = <0>;
|
||||
+ thermal-sensors = <&tsens 6>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu-critical {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+
|
||||
+ cpu-hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "hot";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ tsens_tz_sensor7 {
|
||||
+ polling-delay-passive = <0>;
|
||||
+ polling-delay = <0>;
|
||||
+ thermal-sensors = <&tsens 7>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu-critical {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+
|
||||
+ cpu-hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "hot";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ tsens_tz_sensor8 {
|
||||
+ polling-delay-passive = <0>;
|
||||
+ polling-delay = <0>;
|
||||
+ thermal-sensors = <&tsens 8>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu-critical {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+
|
||||
+ cpu-hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "hot";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ tsens_tz_sensor9 {
|
||||
+ polling-delay-passive = <0>;
|
||||
+ polling-delay = <0>;
|
||||
+ thermal-sensors = <&tsens 9>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu-critical {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+
|
||||
+ cpu-hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "hot";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ tsens_tz_sensor10 {
|
||||
+ polling-delay-passive = <0>;
|
||||
+ polling-delay = <0>;
|
||||
+ thermal-sensors = <&tsens 10>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu-critical {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "critical";
|
||||
+ };
|
||||
+
|
||||
+ cpu-hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "hot";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0>;
|
||||
@@ -93,6 +441,15 @@
|
||||
@@ -317,6 +443,15 @@
|
||||
};
|
||||
};
|
||||
|
||||
@ -396,86 +171,7 @@
|
||||
firmware {
|
||||
scm {
|
||||
compatible = "qcom,scm-ipq806x", "qcom,scm";
|
||||
@@ -120,6 +477,78 @@
|
||||
reg-names = "lpass-lpaif";
|
||||
};
|
||||
|
||||
+ L2: l2-cache {
|
||||
+ compatible = "qcom,krait-cache", "cache";
|
||||
+ cache-level = <2>;
|
||||
+ qcom,saw = <&saw_l2>;
|
||||
+
|
||||
+ clocks = <&kraitcc 4>;
|
||||
+ clock-names = "l2";
|
||||
+ l2-supply = <&smb208_s1a>;
|
||||
+ operating-points-v2 = <&opp_table_l2>;
|
||||
+ };
|
||||
+
|
||||
+ rpm: rpm@108000 {
|
||||
+ compatible = "qcom,rpm-ipq8064";
|
||||
+ reg = <0x108000 0x1000>;
|
||||
+ qcom,ipc = <&l2cc 0x8 2>;
|
||||
+
|
||||
+ interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "ack", "err", "wakeup";
|
||||
+
|
||||
+ clocks = <&gcc RPM_MSG_RAM_H_CLK>;
|
||||
+ clock-names = "ram";
|
||||
+
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ rpmcc: clock-controller {
|
||||
+ compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
|
||||
+ #clock-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
+ regulators {
|
||||
+ compatible = "qcom,rpm-smb208-regulators";
|
||||
+
|
||||
+ smb208_s1a: s1a {
|
||||
+ regulator-min-microvolt = <1050000>;
|
||||
+ regulator-max-microvolt = <1150000>;
|
||||
+
|
||||
+ qcom,switch-mode-frequency = <1200000>;
|
||||
+ };
|
||||
+
|
||||
+ smb208_s1b: s1b {
|
||||
+ regulator-min-microvolt = <1050000>;
|
||||
+ regulator-max-microvolt = <1150000>;
|
||||
+
|
||||
+ qcom,switch-mode-frequency = <1200000>;
|
||||
+ };
|
||||
+
|
||||
+ smb208_s2a: s2a {
|
||||
+ regulator-min-microvolt = < 800000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
+
|
||||
+ qcom,switch-mode-frequency = <1200000>;
|
||||
+ };
|
||||
+
|
||||
+ smb208_s2b: s2b {
|
||||
+ regulator-min-microvolt = < 800000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
+
|
||||
+ qcom,switch-mode-frequency = <1200000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ rng@1a500000 {
|
||||
+ compatible = "qcom,prng";
|
||||
+ reg = <0x1a500000 0x200>;
|
||||
+ clocks = <&gcc PRNG_CLK>;
|
||||
+ clock-names = "core";
|
||||
+ };
|
||||
+
|
||||
qcom_pinmux: pinmux@800000 {
|
||||
compatible = "qcom,ipq8064-pinctrl";
|
||||
reg = <0x800000 0x4000>;
|
||||
@@ -160,6 +589,15 @@
|
||||
@@ -384,6 +519,15 @@
|
||||
};
|
||||
};
|
||||
|
||||
@ -491,35 +187,10 @@
|
||||
spi_pins: spi_pins {
|
||||
mux {
|
||||
pins = "gpio18", "gpio19", "gpio21";
|
||||
@@ -169,6 +607,53 @@
|
||||
@@ -437,6 +581,27 @@
|
||||
bias-bus-hold;
|
||||
};
|
||||
};
|
||||
|
||||
+ nand_pins: nand_pins {
|
||||
+ disable {
|
||||
+ pins = "gpio34", "gpio35", "gpio36",
|
||||
+ "gpio37", "gpio38";
|
||||
+ function = "nand";
|
||||
+ drive-strength = <10>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+
|
||||
+ pullups {
|
||||
+ pins = "gpio39";
|
||||
+ function = "nand";
|
||||
+ drive-strength = <10>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ hold {
|
||||
+ pins = "gpio40", "gpio41", "gpio42",
|
||||
+ "gpio43", "gpio44", "gpio45",
|
||||
+ "gpio46", "gpio47";
|
||||
+ function = "nand";
|
||||
+ drive-strength = <10>;
|
||||
+ bias-bus-hold;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ mdio0_pins: mdio0_pins {
|
||||
+ mux {
|
||||
@ -541,29 +212,10 @@
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
leds_pins: leds_pins {
|
||||
mux {
|
||||
pins = "gpio7", "gpio8", "gpio9",
|
||||
@@ -231,6 +716,17 @@
|
||||
clock-output-names = "acpu1_aux";
|
||||
};
|
||||
|
||||
+ l2cc: clock-controller@2011000 {
|
||||
+ compatible = "qcom,kpss-gcc", "syscon";
|
||||
+ reg = <0x2011000 0x1000>;
|
||||
+ clock-output-names = "acpu_l2_aux";
|
||||
+ };
|
||||
+
|
||||
+ kraitcc: clock-controller {
|
||||
+ compatible = "qcom,krait-cc-v1";
|
||||
+ #clock-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
saw0: regulator@2089000 {
|
||||
compatible = "qcom,saw2", "qcom,apq8064-saw2-v1.1-cpu", "syscon";
|
||||
reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
|
||||
@@ -243,6 +739,52 @@
|
||||
intc: interrupt-controller@2000000 {
|
||||
@@ -513,6 +678,17 @@
|
||||
regulator;
|
||||
};
|
||||
|
||||
@ -577,46 +229,11 @@
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0x12100000 0x10000>;
|
||||
+ };
|
||||
+
|
||||
+ gsbi1: gsbi@12440000 {
|
||||
+ compatible = "qcom,gsbi-v1.0.0";
|
||||
+ cell-index = <1>;
|
||||
+ reg = <0x12440000 0x100>;
|
||||
+ clocks = <&gcc GSBI1_H_CLK>;
|
||||
+ clock-names = "iface";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges;
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ syscon-tcsr = <&tcsr>;
|
||||
+
|
||||
+ gsbi1_serial: serial@12450000 {
|
||||
+ compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
|
||||
+ reg = <0x12450000 0x100>,
|
||||
+ <0x12400000 0x03>;
|
||||
+ interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&gcc GSBI1_UART_CLK>, <&gcc GSBI1_H_CLK>;
|
||||
+ clock-names = "core", "iface";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ gsbi1_i2c: i2c@12460000 {
|
||||
+ compatible = "qcom,i2c-qup-v1.1.1";
|
||||
+ reg = <0x12460000 0x1000>;
|
||||
+ interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>;
|
||||
+ clock-names = "core", "iface";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
gsbi2: gsbi@12480000 {
|
||||
compatible = "qcom,gsbi-v1.0.0";
|
||||
cell-index = <2>;
|
||||
@@ -368,6 +910,33 @@
|
||||
@@ -568,6 +910,33 @@
|
||||
};
|
||||
};
|
||||
|
||||
@ -650,7 +267,7 @@
|
||||
gsbi7: gsbi@16600000 {
|
||||
status = "disabled";
|
||||
compatible = "qcom,gsbi-v1.0.0";
|
||||
@@ -389,6 +958,19 @@
|
||||
@@ -589,6 +958,19 @@
|
||||
clock-names = "core", "iface";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -670,7 +287,37 @@
|
||||
};
|
||||
|
||||
sata_phy: sata-phy@1b400000 {
|
||||
@@ -478,6 +1060,95 @@
|
||||
@@ -761,6 +937,17 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ L2: l2-cache {
|
||||
+ compatible = "qcom,krait-cache", "cache";
|
||||
+ cache-level = <2>;
|
||||
+ qcom,saw = <&saw_l2>;
|
||||
+
|
||||
+ clocks = <&kraitcc 4>;
|
||||
+ clock-names = "l2";
|
||||
+ l2-supply = <&smb208_s1a>;
|
||||
+ operating-points-v2 = <&opp_table_l2>;
|
||||
+ };
|
||||
+
|
||||
rpm: rpm@108000 {
|
||||
compatible = "qcom,rpm-ipq8064";
|
||||
reg = <0x108000 0x1000>;
|
||||
@@ -828,6 +1015,11 @@
|
||||
clock-output-names = "acpu_l2_aux";
|
||||
};
|
||||
|
||||
+ kraitcc: clock-controller {
|
||||
+ compatible = "qcom,krait-cc-v1";
|
||||
+ #clock-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
lcc: clock-controller@28000000 {
|
||||
compatible = "qcom,lcc-ipq8064";
|
||||
reg = <0x28000000 0x1000>;
|
||||
@@ -835,6 +1027,11 @@
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
@ -678,136 +325,14 @@
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0x01200600 0x100>;
|
||||
+ };
|
||||
+
|
||||
+ hs_phy_0: hs_phy_0 {
|
||||
+ compatible = "qcom,ipq806x-usb-phy-hs";
|
||||
+ reg = <0x110f8800 0x30>;
|
||||
+ clocks = <&gcc USB30_0_UTMI_CLK>;
|
||||
+ clock-names = "ref";
|
||||
+ #phy-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ ss_phy_0: ss_phy_0 {
|
||||
+ compatible = "qcom,ipq806x-usb-phy-ss";
|
||||
+ reg = <0x110f8830 0x30>;
|
||||
+ clocks = <&gcc USB30_0_MASTER_CLK>;
|
||||
+ clock-names = "ref";
|
||||
+ #phy-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ usb3_0: usb3@110f8800 {
|
||||
+ compatible = "qcom,dwc3", "syscon";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ reg = <0x110f8800 0x8000>;
|
||||
+ clocks = <&gcc USB30_0_MASTER_CLK>;
|
||||
+ clock-names = "core";
|
||||
+
|
||||
+ ranges;
|
||||
+
|
||||
+ resets = <&gcc USB30_0_MASTER_RESET>;
|
||||
+ reset-names = "master";
|
||||
+
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ dwc3_0: dwc3@11000000 {
|
||||
+ compatible = "snps,dwc3";
|
||||
+ reg = <0x11000000 0xcd00>;
|
||||
+ interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ phys = <&hs_phy_0>, <&ss_phy_0>;
|
||||
+ phy-names = "usb2-phy", "usb3-phy";
|
||||
+ dr_mode = "host";
|
||||
+ snps,dis_u3_susphy_quirk;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ hs_phy_1: hs_phy_1 {
|
||||
+ compatible = "qcom,ipq806x-usb-phy-hs";
|
||||
+ reg = <0x100f8800 0x30>;
|
||||
+ clocks = <&gcc USB30_1_UTMI_CLK>;
|
||||
+ clock-names = "ref";
|
||||
+ #phy-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ ss_phy_1: ss_phy_1 {
|
||||
+ compatible = "qcom,ipq806x-usb-phy-ss";
|
||||
+ reg = <0x100f8830 0x30>;
|
||||
+ clocks = <&gcc USB30_1_MASTER_CLK>;
|
||||
+ clock-names = "ref";
|
||||
+ #phy-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ usb3_1: usb3@100f8800 {
|
||||
+ compatible = "qcom,dwc3", "syscon";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ reg = <0x100f8800 0x8000>;
|
||||
+ clocks = <&gcc USB30_1_MASTER_CLK>;
|
||||
+ clock-names = "core";
|
||||
+
|
||||
+ ranges;
|
||||
+
|
||||
+ resets = <&gcc USB30_1_MASTER_RESET>;
|
||||
+ reset-names = "master";
|
||||
+
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ dwc3_1: dwc3@10000000 {
|
||||
+ compatible = "snps,dwc3";
|
||||
+ reg = <0x10000000 0xcd00>;
|
||||
+ interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ phys = <&hs_phy_1>, <&ss_phy_1>;
|
||||
+ phy-names = "usb2-phy", "usb3-phy";
|
||||
+ dr_mode = "host";
|
||||
+ snps,dis_u3_susphy_quirk;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
pcie0: pci@1b500000 {
|
||||
compatible = "qcom,pcie-ipq8064";
|
||||
reg = <0x1b500000 0x1000
|
||||
@@ -739,6 +1410,59 @@
|
||||
status = "disabled";
|
||||
@@ -1188,6 +1385,21 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ adm_dma: dma@18300000 {
|
||||
+ compatible = "qcom,adm";
|
||||
+ reg = <0x18300000 0x100000>;
|
||||
+ interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ #dma-cells = <1>;
|
||||
+
|
||||
+ clocks = <&gcc ADM0_CLK>, <&gcc ADM0_PBUS_CLK>;
|
||||
+ clock-names = "core", "iface";
|
||||
+
|
||||
+ resets = <&gcc ADM0_RESET>,
|
||||
+ <&gcc ADM0_PBUS_RESET>,
|
||||
+ <&gcc ADM0_C0_RESET>,
|
||||
+ <&gcc ADM0_C1_RESET>,
|
||||
+ <&gcc ADM0_C2_RESET>;
|
||||
+ reset-names = "clk", "pbus", "c0", "c1", "c2";
|
||||
+ qcom,ee = <0>;
|
||||
+
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ nand_controller: nand-controller@1ac00000 {
|
||||
+ compatible = "qcom,ipq806x-nand";
|
||||
+ reg = <0x1ac00000 0x800>;
|
||||
+
|
||||
+ clocks = <&gcc EBI2_CLK>,
|
||||
+ <&gcc EBI2_AON_CLK>;
|
||||
+ clock-names = "core", "aon";
|
||||
+
|
||||
+ dmas = <&adm_dma 3>;
|
||||
+ dma-names = "rxtx";
|
||||
+ qcom,cmd-crci = <15>;
|
||||
+ qcom,data-crci = <3>;
|
||||
+
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ mdio0: mdio@37000000 {
|
||||
+ #address-cells = <1>;
|
||||
@ -826,7 +351,7 @@
|
||||
vsdcc_fixed: vsdcc-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "SDCC Power";
|
||||
@@ -814,4 +1538,17 @@
|
||||
@@ -1262,4 +1474,17 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -24,7 +24,7 @@ them differently anyway.
|
||||
};
|
||||
@@ -64,64 +54,5 @@
|
||||
ports-implemented = <0x1>;
|
||||
status = "ok";
|
||||
status = "okay";
|
||||
};
|
||||
-
|
||||
- gpio_keys {
|
||||
|
@ -74,8 +74,8 @@
|
||||
mdio1: mdio-1 {
|
||||
status = "okay";
|
||||
compatible = "virtual,mdio-gpio";
|
||||
@@ -216,6 +149,68 @@
|
||||
};
|
||||
@@ -220,6 +153,68 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&mdio0 {
|
||||
|
@ -436,7 +436,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
+}
|
||||
+
|
||||
+static struct cpufreq_driver krait_cpufreq_driver = {
|
||||
+ .flags = CPUFREQ_STICKY | CPUFREQ_NEED_INITIAL_FREQ_CHECK |
|
||||
+ .flags = CPUFREQ_NEED_INITIAL_FREQ_CHECK |
|
||||
+ CPUFREQ_IS_COOLING_DEV,
|
||||
+ .verify = cpufreq_generic_frequency_table_verify,
|
||||
+ .target_index = set_target,
|
||||
|
@ -52,10 +52,10 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -460,12 +475,14 @@ struct qcom_nand_host {
|
||||
* @ecc_modes - ecc mode for NAND
|
||||
@@ -475,13 +490,15 @@ struct qcom_nand_host {
|
||||
* @is_bam - whether NAND controller is using BAM
|
||||
* @is_qpic - whether NAND CTRL is part of qpic IP
|
||||
* @qpic_v2 - flag to indicate QPIC IP version 2
|
||||
+ * @has_boot_pages - whether NAND has different ecc settings for boot pages
|
||||
* @dev_cmd_reg_start - NAND_DEV_CMD_* registers starting offset
|
||||
*/
|
||||
@ -63,6 +63,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
u32 ecc_modes;
|
||||
bool is_bam;
|
||||
bool is_qpic;
|
||||
bool qpic_v2;
|
||||
+ bool has_boot_pages;
|
||||
u32 dev_cmd_reg_start;
|
||||
};
|
||||
@ -71,8 +72,8 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
data_size1 = mtd->writesize - host->cw_size * (ecc->steps - 1);
|
||||
oob_size1 = host->bbm_size;
|
||||
|
||||
- if (cw == (ecc->steps - 1)) {
|
||||
+ if (cw == (ecc->steps - 1) && !host->boot_pages_conf) {
|
||||
- if (qcom_nandc_is_last_cw(ecc, cw)) {
|
||||
+ if (qcom_nandc_is_last_cw(ecc, cw) && !host->boot_pages_conf) {
|
||||
data_size2 = ecc->size - data_size1 -
|
||||
((ecc->steps - 1) * 4);
|
||||
oob_size2 = (ecc->steps * 4) + host->ecc_bytes_hw +
|
||||
@ -80,8 +81,8 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
}
|
||||
|
||||
for_each_set_bit(cw, &uncorrectable_cws, ecc->steps) {
|
||||
- if (cw == (ecc->steps - 1)) {
|
||||
+ if (cw == (ecc->steps - 1) && !host->boot_pages_conf) {
|
||||
- if (qcom_nandc_is_last_cw(ecc, cw)) {
|
||||
+ if (qcom_nandc_is_last_cw(ecc, cw) && !host->boot_pages_conf) {
|
||||
data_size = ecc->size - ((ecc->steps - 1) * 4);
|
||||
oob_size = (ecc->steps * 4) + host->ecc_bytes_hw;
|
||||
} else {
|
||||
@ -89,8 +90,8 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
for (i = 0; i < ecc->steps; i++) {
|
||||
int data_size, oob_size;
|
||||
|
||||
- if (i == (ecc->steps - 1)) {
|
||||
+ if (i == (ecc->steps - 1) && !host->boot_pages_conf) {
|
||||
- if (qcom_nandc_is_last_cw(ecc, i)) {
|
||||
+ if (qcom_nandc_is_last_cw(ecc, i) && !host->boot_pages_conf) {
|
||||
data_size = ecc->size - ((ecc->steps - 1) << 2);
|
||||
oob_size = (ecc->steps << 2) + host->ecc_bytes_hw +
|
||||
host->spare_bytes;
|
||||
@ -169,8 +170,8 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
for (i = 0; i < ecc->steps; i++) {
|
||||
int data_size, oob_size;
|
||||
|
||||
- if (i == (ecc->steps - 1)) {
|
||||
+ if (i == (ecc->steps - 1) && !host->boot_pages_conf) {
|
||||
- if (qcom_nandc_is_last_cw(ecc, i)) {
|
||||
+ if (qcom_nandc_is_last_cw(ecc, i) && !host->boot_pages_conf) {
|
||||
data_size = ecc->size - ((ecc->steps - 1) << 2);
|
||||
oob_size = (ecc->steps << 2) + host->ecc_bytes_hw +
|
||||
host->spare_bytes;
|
||||
@ -188,8 +189,8 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
data_size1 = mtd->writesize - host->cw_size * (ecc->steps - 1);
|
||||
oob_size1 = host->bbm_size;
|
||||
|
||||
- if (i == (ecc->steps - 1)) {
|
||||
+ if (i == (ecc->steps - 1) && !host->boot_pages_conf) {
|
||||
- if (qcom_nandc_is_last_cw(ecc, i)) {
|
||||
+ if (qcom_nandc_is_last_cw(ecc, i) && !host->boot_pages_conf) {
|
||||
data_size2 = ecc->size - data_size1 -
|
||||
((ecc->steps - 1) << 2);
|
||||
oob_size2 = (ecc->steps << 2) + host->ecc_bytes_hw +
|
||||
|
@ -9,34 +9,32 @@ read/write confituation to boots partitions.
|
||||
|
||||
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
---
|
||||
Documentation/devicetree/bindings/mtd/qcom_nandc.txt | 11 +++++++++++
|
||||
Documentation/devicetree/bindings/mtd/qcom,nandc.yaml | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
--- a/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
|
||||
+++ b/Documentation/devicetree/bindings/mtd/qcom_nandc.txt
|
||||
@@ -52,6 +52,15 @@ Optional properties:
|
||||
be used according to chip requirement and available
|
||||
OOB size.
|
||||
|
||||
+EBI2 specific properties:
|
||||
+- nand-is-boot-medium: nand contains boot partitions and different ecc configuration
|
||||
+ should be used for these partitions.
|
||||
+- qcom,boot_pages_size: should contain the size of the total boot partitions
|
||||
+ where the boot layout read/write specific configuration
|
||||
+ should be used. The boot layout is considered from the
|
||||
+ start of the nand to the value set in this binding.
|
||||
+ Only used in combination with 'nand-is-boot-medium'.
|
||||
--- a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml
|
||||
+++ b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml
|
||||
@@ -77,6 +77,14 @@ Optional properties:
|
||||
description:
|
||||
Must contain the ADM data type CRCI block instance number
|
||||
specified for the NAND controller on the given platform
|
||||
+
|
||||
Each nandcs device node may optionally contain a 'partitions' sub-node, which
|
||||
further contains sub-nodes describing the flash partition mapping. See
|
||||
partition.txt for more detail.
|
||||
@@ -80,6 +89,9 @@ nand-controller@1ac00000 {
|
||||
nand-ecc-strength = <4>;
|
||||
nand-bus-width = <8>;
|
||||
+ qcom,boot_pages_size:
|
||||
+ description:
|
||||
+ Should contain the size of the total boot partitions
|
||||
+ where the boot layout read/write specific configuration
|
||||
+ should be used. The boot layout is considered from the
|
||||
+ start of the nand to the value set in this binding.
|
||||
+ Only used in combination with 'nand-is-boot-medium'.
|
||||
|
||||
+ nand-is-boot-medium;
|
||||
+ qcom,boot_pages_size: <0x58a0000>;
|
||||
- if:
|
||||
properties:
|
||||
@@ -135,6 +135,9 @@ nand-controller@1ac00000 {
|
||||
nand-ecc-strength = <4>;
|
||||
nand-bus-width = <8>;
|
||||
|
||||
+ nand-is-boot-medium;
|
||||
+ qcom,boot_pages_size: <0x58a0000>;
|
||||
+
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
|
44
target/linux/ipq806x/patches-5.15/851-add-gsbi1-dts.patch
Normal file
44
target/linux/ipq806x/patches-5.15/851-add-gsbi1-dts.patch
Normal file
@ -0,0 +1,44 @@
|
||||
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
||||
@@ -689,6 +689,41 @@
|
||||
reg = <0x12100000 0x10000>;
|
||||
};
|
||||
|
||||
+ gsbi1: gsbi@12440000 {
|
||||
+ compatible = "qcom,gsbi-v1.0.0";
|
||||
+ cell-index = <1>;
|
||||
+ reg = <0x12440000 0x100>;
|
||||
+ clocks = <&gcc GSBI1_H_CLK>;
|
||||
+ clock-names = "iface";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges;
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ syscon-tcsr = <&tcsr>;
|
||||
+
|
||||
+ gsbi1_serial: serial@12450000 {
|
||||
+ compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
|
||||
+ reg = <0x12450000 0x100>,
|
||||
+ <0x12400000 0x03>;
|
||||
+ interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&gcc GSBI1_UART_CLK>, <&gcc GSBI1_H_CLK>;
|
||||
+ clock-names = "core", "iface";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ gsbi1_i2c: i2c@12460000 {
|
||||
+ compatible = "qcom,i2c-qup-v1.1.1";
|
||||
+ reg = <0x12460000 0x1000>;
|
||||
+ interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>;
|
||||
+ clock-names = "core", "iface";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
gsbi2: gsbi@12480000 {
|
||||
compatible = "qcom,gsbi-v1.0.0";
|
||||
cell-index = <2>;
|
@ -1,37 +0,0 @@
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -1794,6 +1794,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_MANGL
|
||||
|
||||
endchoice
|
||||
|
||||
+config CMDLINE_OVERRIDE
|
||||
+ bool "Use alternative cmdline from device tree"
|
||||
+ help
|
||||
+ Some bootloaders may have uneditable bootargs. While CMDLINE_FORCE can
|
||||
+ be used, this is not a good option for kernels that are shared across
|
||||
+ devices. This setting enables using "chosen/cmdline-override" as the
|
||||
+ cmdline if it exists in the device tree.
|
||||
+
|
||||
config CMDLINE
|
||||
string "Default kernel command string"
|
||||
default ""
|
||||
--- a/drivers/of/fdt.c
|
||||
+++ b/drivers/of/fdt.c
|
||||
@@ -1059,6 +1059,17 @@ int __init early_init_dt_scan_chosen(uns
|
||||
if (p != NULL && l > 0)
|
||||
strlcat(data, p, min_t(int, strlen(data) + (int)l, COMMAND_LINE_SIZE));
|
||||
|
||||
+ /* CONFIG_CMDLINE_OVERRIDE is used to fallback to a different
|
||||
+ * device tree option of chosen/bootargs-override. This is
|
||||
+ * helpful on boards where u-boot sets bootargs, and is unable
|
||||
+ * to be modified.
|
||||
+ */
|
||||
+#ifdef CONFIG_CMDLINE_OVERRIDE
|
||||
+ p = of_get_flat_dt_prop(node, "bootargs-override", &l);
|
||||
+ if (p != NULL && l > 0)
|
||||
+ strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE));
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* CONFIG_CMDLINE is meant to be a default in case nothing else
|
||||
* managed to set the command line, unless CONFIG_CMDLINE_FORCE
|
Loading…
Reference in New Issue
Block a user