Message ID | 20190218225834.28100-3-mail@david-bauer.net |
---|---|
State | Accepted, archived |
Delegated to: | Christian Lamparter |
Headers | show |
Series | None | expand |
On Monday, February 18, 2019 11:58:34 PM CET David Bauer wrote: > diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts > new file mode 100644 > index 0000000000..b2a33468bb > --- /dev/null > +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts > @@ -0,0 +1,305 @@ > +&pcie0 { > + status = "okay"; > + > + ranges = <0x81000000 0 0x40200000 0x40200000 > + 0 0x00100000 /* downstream I/O */ > + 0x82000000 0 0x48000000 0x48000000 > + 0 0x10000000>; /* non-prefetchable memory */ Let me dig out my MR33 (will have to wait until the Weekend) and see if this should be put into the qcom-ipq4019.dtsi as well. > + > + perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; > + wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; > + > + bridge@0,0 { > + reg = <0x00000000 0 0 0 0>; > + #address-cells = <3>; > + #size-cells = <2>; > + ranges; > + > + dsl@1,0 { > + compatible = "intel,vrx518"; > + status = "okay"; > + reg = <0x00010000 0 0 0 0>; > + }; > + }; > +};
On Wednesday, February 20, 2019 6:02:21 PM CET Christian Lamparter wrote: > On Monday, February 18, 2019 11:58:34 PM CET David Bauer wrote: > > diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts > > new file mode 100644 > > index 0000000000..b2a33468bb > > --- /dev/null > > +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts > > @@ -0,0 +1,305 @@ > > +&pcie0 { > > + status = "okay"; > > + > > + ranges = <0x81000000 0 0x40200000 0x40200000 > > + 0 0x00100000 /* downstream I/O */ > > + 0x82000000 0 0x48000000 0x48000000 > > + 0 0x10000000>; /* non-prefetchable memory */ > > Let me dig out my MR33 (will have to wait until the Weekend) and see if this > should be put into the qcom-ipq4019.dtsi as well. And it didn't work. While the pcie enumeration worked fine. The QCA9887 was no longer attaching. As soon as the driver was loaded it failed due to: [ 8.888466] ath10k_pci 0000:01:00.0: enabling device (0140 -> 0142) [ 8.934145] ath10k_pci 0000:01:00.0: failed to wake up device : -110 [ 8.935258] ath10k: failed to probe PCI : -110, retry-count: 0 [ 8.949596] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. [ 8.989503] ath10k_pci 0000:01:00.0: failed to wake up device : -110 [ 8.989899] ath10k: failed to probe PCI : -110, retry-count: 1 [ 9.005086] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. [ 9.046821] ath10k_pci 0000:01:00.0: failed to wake up device : -110 [ 9.049851] ath10k: failed to probe PCI : -110, retry-count: 2 [ 9.062448] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. [ 9.099055] ath10k_pci 0000:01:00.0: failed to wake up device : -110 [ 9.099442] ath10k: failed to probe PCI : -110, retry-count: 3 [...] [ 9.489869] ath10k: failed to probe PCI : -110, retry-count: 10 [ 9.503780] ath10k_pci: probe of 0000:01:00.0 failed with error -110 [...] But I think we can fix the problem. Because according to the old qcom-ipq40xx.dtsi I dug up: <https://github.com/gl-inet/openwrt-imagebuilder-ipq806x/blob/master/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/linux-ipq806x/linux-3.14.77/arch/arm/boot/dts/qcom-ipq40xx.dtsi#L631> The non-prefetchable memory area window size should be 0x00d00000. ranges = <0x81000000 0 0x40200000 0x40200000 0 0x00100000>, /* downstream I/O */ <0x82000000 0 0x40300000 0x40300000 0 0x00d00000>; /* non-prefetchable memory */ (yes, I'll be preparing a patch for linux-msm-arm. Can you please let me know if does indeed finally let you enumerate the device?) > > + > > + perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; > > + wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; > > + > > + bridge@0,0 { > > + reg = <0x00000000 0 0 0 0>; > > + #address-cells = <3>; > > + #size-cells = <2>; > > + ranges; > > + > > + dsl@1,0 { > > + compatible = "intel,vrx518"; > > + status = "okay"; > > + reg = <0x00010000 0 0 0 0>; > > + }; > > + }; > > +}; Regards, Christian
Hello Christian, On 25.02.19 23:10, Christian Lamparter wrote: > On Wednesday, February 20, 2019 6:02:21 PM CET Christian Lamparter wrote: >> On Monday, February 18, 2019 11:58:34 PM CET David Bauer wrote: >>> diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts >>> new file mode 100644 >>> index 0000000000..b2a33468bb >>> --- /dev/null >>> +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts >>> @@ -0,0 +1,305 @@ >>> +&pcie0 { >>> + status = "okay"; >>> + >>> + ranges = <0x81000000 0 0x40200000 0x40200000 >>> + 0 0x00100000 /* downstream I/O */ >>> + 0x82000000 0 0x48000000 0x48000000 >>> + 0 0x10000000>; /* non-prefetchable memory */ >> >> Let me dig out my MR33 (will have to wait until the Weekend) and see if this >> should be put into the qcom-ipq4019.dtsi as well. > > And it didn't work. While the pcie enumeration worked fine. > The QCA9887 was no longer attaching. As soon as the driver was > loaded it failed due to: > > [ 8.888466] ath10k_pci 0000:01:00.0: enabling device (0140 -> 0142) > [ 8.934145] ath10k_pci 0000:01:00.0: failed to wake up device : -110 > [ 8.935258] ath10k: failed to probe PCI : -110, retry-count: 0 > [ 8.949596] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. > [ 8.989503] ath10k_pci 0000:01:00.0: failed to wake up device : -110 > [ 8.989899] ath10k: failed to probe PCI : -110, retry-count: 1 > [ 9.005086] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. > [ 9.046821] ath10k_pci 0000:01:00.0: failed to wake up device : -110 > [ 9.049851] ath10k: failed to probe PCI : -110, retry-count: 2 > [ 9.062448] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. > [ 9.099055] ath10k_pci 0000:01:00.0: failed to wake up device : -110 > [ 9.099442] ath10k: failed to probe PCI : -110, retry-count: 3 > [...] > [ 9.489869] ath10k: failed to probe PCI : -110, retry-count: 10 > [ 9.503780] ath10k_pci: probe of 0000:01:00.0 failed with error -110 > [...] > > But I think we can fix the problem. Because according to the old > qcom-ipq40xx.dtsi I dug up: > > <https://github.com/gl-inet/openwrt-imagebuilder-ipq806x/blob/master/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/linux-ipq806x/linux-3.14.77/arch/arm/boot/dts/qcom-ipq40xx.dtsi#L631> > > The non-prefetchable memory area window size should be 0x00d00000. > > ranges = <0x81000000 0 0x40200000 0x40200000 0 0x00100000>, /* downstream I/O */ > <0x82000000 0 0x40300000 0x40300000 0 0x00d00000>; /* non-prefetchable memory */ > > (yes, I'll be preparing a patch for linux-msm-arm. Can you please let > me know if does indeed finally let you enumerate the device?) It seems to work with your proposed change: [ 0.042117] OF: PCI: host bridge /soc/pci@40000000 ranges: [ 0.042152] OF: PCI: IO 0x40200000..0x402fffff -> 0x40200000 [ 0.042171] OF: PCI: MEM 0x40300000..0x40ffffff -> 0x40300000 [ 0.259505] qcom-pcie 40000000.pci: link up [ 0.259649] qcom-pcie 40000000.pci: PCI host bridge to bus 0000:00 [ 0.259671] pci_bus 0000:00: root bus resource [bus 00-ff] [ 0.259687] pci_bus 0000:00: root bus resource [io 0x0000-0xfffff] (bus address [0x40200000-0x402fffff]) [ 0.259700] pci_bus 0000:00: root bus resource [mem 0x40300000-0x40ffffff] [ 0.259742] pci 0000:00:00.0: [17cb:1001] type 01 class 0x060400 [ 0.259776] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit] [ 0.259829] pci 0000:00:00.0: PME# supported from D0 D3hot [ 0.260015] PCI: bus0: Fast back to back transfers disabled [ 0.260195] pci 0000:01:00.0: [8086:09a9] type 00 class 0x028000 [ 0.260312] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x007fffff] [ 0.260790] pci 0000:01:00.0: supports D1 D2 [ 0.260797] pci 0000:01:00.0: PME# supported from D0 D1 D3hot D3cold [ 0.261043] PCI: bus1: Fast back to back transfers disabled [ 0.261095] pci 0000:00:00.0: BAR 8: assigned [mem 0x40800000-0x40ffffff] [ 0.261112] pci 0000:00:00.0: BAR 0: assigned [mem 0x40300000-0x40300fff 64bit] [ 0.261136] pci 0000:01:00.0: BAR 0: assigned [mem 0x40800000-0x40ffffff] [ 0.261164] pci 0000:00:00.0: PCI bridge to [bus 01-ff] [ 0.261180] pci 0000:00:00.0: bridge window [mem 0x40800000-0x40ffffff] [ 0.261891] pcieport 0000:00:00.0: AER enabled with IRQ 93 See https://github.com/blocktrron/openwrt/commit/cc1a94b2e1616d33698852df38ae23f72f193b74 How should we proceed on this device? Should i resend a v3 or will you remove the ranges property and backport the patch you prepare for upstream? Best wishes David > >>> + >>> + perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; >>> + wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; >>> + >>> + bridge@0,0 { >>> + reg = <0x00000000 0 0 0 0>; >>> + #address-cells = <3>; >>> + #size-cells = <2>; >>> + ranges; >>> + >>> + dsl@1,0 { >>> + compatible = "intel,vrx518"; >>> + status = "okay"; >>> + reg = <0x00010000 0 0 0 0>; >>> + }; >>> + }; >>> +}; > > > Regards, > Christian > >
Hello David, On Tuesday, February 26, 2019 12:15:41 AM CET David Bauer wrote: > On 25.02.19 23:10, Christian Lamparter wrote: > > On Wednesday, February 20, 2019 6:02:21 PM CET Christian Lamparter wrote: > >> On Monday, February 18, 2019 11:58:34 PM CET David Bauer wrote: > >>> diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts > >>> new file mode 100644 > >>> index 0000000000..b2a33468bb > >>> --- /dev/null > >>> +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts > >>> @@ -0,0 +1,305 @@ > >>> +&pcie0 { > >>> + status = "okay"; > >>> + > >>> + ranges = <0x81000000 0 0x40200000 0x40200000 > >>> + 0 0x00100000 /* downstream I/O */ > >>> + 0x82000000 0 0x48000000 0x48000000 > >>> + 0 0x10000000>; /* non-prefetchable memory */ > >> > >> Let me dig out my MR33 (will have to wait until the Weekend) and see if this > >> should be put into the qcom-ipq4019.dtsi as well. > > > > And it didn't work. While the pcie enumeration worked fine. > > The QCA9887 was no longer attaching. As soon as the driver was > > loaded it failed due to: > > > > [ 8.888466] ath10k_pci 0000:01:00.0: enabling device (0140 -> 0142) > > [ 8.934145] ath10k_pci 0000:01:00.0: failed to wake up device : -110 > > [ 8.935258] ath10k: failed to probe PCI : -110, retry-count: 0 > > [ 8.949596] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. > > [ 8.989503] ath10k_pci 0000:01:00.0: failed to wake up device : -110 > > [ 8.989899] ath10k: failed to probe PCI : -110, retry-count: 1 > > [ 9.005086] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. > > [ 9.046821] ath10k_pci 0000:01:00.0: failed to wake up device : -110 > > [ 9.049851] ath10k: failed to probe PCI : -110, retry-count: 2 > > [ 9.062448] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. > > [ 9.099055] ath10k_pci 0000:01:00.0: failed to wake up device : -110 > > [ 9.099442] ath10k: failed to probe PCI : -110, retry-count: 3 > > [...] > > [ 9.489869] ath10k: failed to probe PCI : -110, retry-count: 10 > > [ 9.503780] ath10k_pci: probe of 0000:01:00.0 failed with error -110 > > [...] > > > > But I think we can fix the problem. Because according to the old > > qcom-ipq40xx.dtsi I dug up: > > > > <https://github.com/gl-inet/openwrt-imagebuilder-ipq806x/blob/master/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/linux-ipq806x/linux-3.14.77/arch/arm/boot/dts/qcom-ipq40xx.dtsi#L631> > > > > The non-prefetchable memory area window size should be 0x00d00000. > > > > ranges = <0x81000000 0 0x40200000 0x40200000 0 0x00100000>, /* downstream I/O */ > > <0x82000000 0 0x40300000 0x40300000 0 0x00d00000>; /* non-prefetchable memory */ > > > > (yes, I'll be preparing a patch for linux-msm-arm. Can you please let > > me know if does indeed finally let you enumerate the device?) > > It seems to work with your proposed change: > > [ 0.042117] OF: PCI: host bridge /soc/pci@40000000 ranges: > [ 0.042152] OF: PCI: IO 0x40200000..0x402fffff -> 0x40200000 > [ 0.042171] OF: PCI: MEM 0x40300000..0x40ffffff -> 0x40300000 > [ 0.259505] qcom-pcie 40000000.pci: link up > [ 0.259649] qcom-pcie 40000000.pci: PCI host bridge to bus 0000:00 > [ 0.259671] pci_bus 0000:00: root bus resource [bus 00-ff] > [ 0.259687] pci_bus 0000:00: root bus resource [io 0x0000-0xfffff] > (bus address [0x40200000-0x402fffff]) > [ 0.259700] pci_bus 0000:00: root bus resource [mem > 0x40300000-0x40ffffff] > [ 0.259742] pci 0000:00:00.0: [17cb:1001] type 01 class 0x060400 > [ 0.259776] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit] > [ 0.259829] pci 0000:00:00.0: PME# supported from D0 D3hot > [ 0.260015] PCI: bus0: Fast back to back transfers disabled > [ 0.260195] pci 0000:01:00.0: [8086:09a9] type 00 class 0x028000 > [ 0.260312] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x007fffff] > [ 0.260790] pci 0000:01:00.0: supports D1 D2 > [ 0.260797] pci 0000:01:00.0: PME# supported from D0 D1 D3hot D3cold > [ 0.261043] PCI: bus1: Fast back to back transfers disabled > [ 0.261095] pci 0000:00:00.0: BAR 8: assigned [mem 0x40800000-0x40ffffff] > [ 0.261112] pci 0000:00:00.0: BAR 0: assigned [mem > 0x40300000-0x40300fff 64bit] > [ 0.261136] pci 0000:01:00.0: BAR 0: assigned [mem 0x40800000-0x40ffffff] > [ 0.261164] pci 0000:00:00.0: PCI bridge to [bus 01-ff] > [ 0.261180] pci 0000:00:00.0: bridge window [mem 0x40800000-0x40ffffff] > [ 0.261891] pcieport 0000:00:00.0: AER enabled with IRQ 93 > > See > https://github.com/blocktrron/openwrt/commit/cc1a94b2e1616d33698852df38ae23f72f193b74 > > How should we proceed on this device? Should i resend a v3 or will you > remove the ranges property and backport the patch you prepare for upstream? Sorry for the late reply, I added a rebased version on top of the latest changes) into my staging tree: https://git.openwrt.org/?p=openwrt/staging/chunkeey.git;a=commit;h=206a40911118f24c062ccdfc24dfc3fdd653c71a And it turned out that there was also a pcie msi irq fix https://git.openwrt.org/?p=openwrt/staging/chunkeey.git;a=commit;h=307f6a6ed6cfca4c0d3cb5dc4dc5493ec3f41e1c it just goes on and on and on... Regards, Christian
Hello Christian, On 26.02.19 23:17, Christian Lamparter wrote: > Hello David, > > On Tuesday, February 26, 2019 12:15:41 AM CET David Bauer wrote: >> On 25.02.19 23:10, Christian Lamparter wrote: >>> On Wednesday, February 20, 2019 6:02:21 PM CET Christian Lamparter wrote: >>>> On Monday, February 18, 2019 11:58:34 PM CET David Bauer wrote: >>>>> diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts >>>>> new file mode 100644 >>>>> index 0000000000..b2a33468bb >>>>> --- /dev/null >>>>> +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts >>>>> @@ -0,0 +1,305 @@ >>>>> +&pcie0 { >>>>> + status = "okay"; >>>>> + >>>>> + ranges = <0x81000000 0 0x40200000 0x40200000 >>>>> + 0 0x00100000 /* downstream I/O */ >>>>> + 0x82000000 0 0x48000000 0x48000000 >>>>> + 0 0x10000000>; /* non-prefetchable memory */ >>>> >>>> Let me dig out my MR33 (will have to wait until the Weekend) and see if this >>>> should be put into the qcom-ipq4019.dtsi as well. >>> >>> And it didn't work. While the pcie enumeration worked fine. >>> The QCA9887 was no longer attaching. As soon as the driver was >>> loaded it failed due to: >>> >>> [ 8.888466] ath10k_pci 0000:01:00.0: enabling device (0140 -> 0142) >>> [ 8.934145] ath10k_pci 0000:01:00.0: failed to wake up device : -110 >>> [ 8.935258] ath10k: failed to probe PCI : -110, retry-count: 0 >>> [ 8.949596] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. >>> [ 8.989503] ath10k_pci 0000:01:00.0: failed to wake up device : -110 >>> [ 8.989899] ath10k: failed to probe PCI : -110, retry-count: 1 >>> [ 9.005086] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. >>> [ 9.046821] ath10k_pci 0000:01:00.0: failed to wake up device : -110 >>> [ 9.049851] ath10k: failed to probe PCI : -110, retry-count: 2 >>> [ 9.062448] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. >>> [ 9.099055] ath10k_pci 0000:01:00.0: failed to wake up device : -110 >>> [ 9.099442] ath10k: failed to probe PCI : -110, retry-count: 3 >>> [...] >>> [ 9.489869] ath10k: failed to probe PCI : -110, retry-count: 10 >>> [ 9.503780] ath10k_pci: probe of 0000:01:00.0 failed with error -110 >>> [...] >>> >>> But I think we can fix the problem. Because according to the old >>> qcom-ipq40xx.dtsi I dug up: >>> >>> <https://github.com/gl-inet/openwrt-imagebuilder-ipq806x/blob/master/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/linux-ipq806x/linux-3.14.77/arch/arm/boot/dts/qcom-ipq40xx.dtsi#L631> >>> >>> The non-prefetchable memory area window size should be 0x00d00000. >>> >>> ranges = <0x81000000 0 0x40200000 0x40200000 0 0x00100000>, /* downstream I/O */ >>> <0x82000000 0 0x40300000 0x40300000 0 0x00d00000>; /* non-prefetchable memory */ >>> >>> (yes, I'll be preparing a patch for linux-msm-arm. Can you please let >>> me know if does indeed finally let you enumerate the device?) >> >> It seems to work with your proposed change: >> >> [ 0.042117] OF: PCI: host bridge /soc/pci@40000000 ranges: >> [ 0.042152] OF: PCI: IO 0x40200000..0x402fffff -> 0x40200000 >> [ 0.042171] OF: PCI: MEM 0x40300000..0x40ffffff -> 0x40300000 >> [ 0.259505] qcom-pcie 40000000.pci: link up >> [ 0.259649] qcom-pcie 40000000.pci: PCI host bridge to bus 0000:00 >> [ 0.259671] pci_bus 0000:00: root bus resource [bus 00-ff] >> [ 0.259687] pci_bus 0000:00: root bus resource [io 0x0000-0xfffff] >> (bus address [0x40200000-0x402fffff]) >> [ 0.259700] pci_bus 0000:00: root bus resource [mem >> 0x40300000-0x40ffffff] >> [ 0.259742] pci 0000:00:00.0: [17cb:1001] type 01 class 0x060400 >> [ 0.259776] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit] >> [ 0.259829] pci 0000:00:00.0: PME# supported from D0 D3hot >> [ 0.260015] PCI: bus0: Fast back to back transfers disabled >> [ 0.260195] pci 0000:01:00.0: [8086:09a9] type 00 class 0x028000 >> [ 0.260312] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x007fffff] >> [ 0.260790] pci 0000:01:00.0: supports D1 D2 >> [ 0.260797] pci 0000:01:00.0: PME# supported from D0 D1 D3hot D3cold >> [ 0.261043] PCI: bus1: Fast back to back transfers disabled >> [ 0.261095] pci 0000:00:00.0: BAR 8: assigned [mem 0x40800000-0x40ffffff] >> [ 0.261112] pci 0000:00:00.0: BAR 0: assigned [mem >> 0x40300000-0x40300fff 64bit] >> [ 0.261136] pci 0000:01:00.0: BAR 0: assigned [mem 0x40800000-0x40ffffff] >> [ 0.261164] pci 0000:00:00.0: PCI bridge to [bus 01-ff] >> [ 0.261180] pci 0000:00:00.0: bridge window [mem 0x40800000-0x40ffffff] >> [ 0.261891] pcieport 0000:00:00.0: AER enabled with IRQ 93 >> >> See >> https://github.com/blocktrron/openwrt/commit/cc1a94b2e1616d33698852df38ae23f72f193b74 >> >> How should we proceed on this device? Should i resend a v3 or will you >> remove the ranges property and backport the patch you prepare for upstream? > > Sorry for the late reply, I added a rebased version > on top of the latest changes) into my staging tree: > https://git.openwrt.org/?p=openwrt/staging/chunkeey.git;a=commit;h=206a40911118f24c062ccdfc24dfc3fdd653c71a > > And it turned out that there was also a pcie msi irq fix > https://git.openwrt.org/?p=openwrt/staging/chunkeey.git;a=commit;h=307f6a6ed6cfca4c0d3cb5dc4dc5493ec3f41e1c > it just goes on and on and on... > Thanks! I will test an image built from your staging tree this evening and give feedback. Best wishes David > Regards, > Christian > > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel >
Hello Christian, On 27.02.19 13:03, David Bauer wrote: > Hello Christian, > > On 26.02.19 23:17, Christian Lamparter wrote: >> Hello David, >> >> On Tuesday, February 26, 2019 12:15:41 AM CET David Bauer wrote: >>> On 25.02.19 23:10, Christian Lamparter wrote: >>>> On Wednesday, February 20, 2019 6:02:21 PM CET Christian Lamparter wrote: >>>>> On Monday, February 18, 2019 11:58:34 PM CET David Bauer wrote: >>>>>> diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts >>>>>> new file mode 100644 >>>>>> index 0000000000..b2a33468bb >>>>>> --- /dev/null >>>>>> +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts >>>>>> @@ -0,0 +1,305 @@ >>>>>> +&pcie0 { >>>>>> + status = "okay"; >>>>>> + >>>>>> + ranges = <0x81000000 0 0x40200000 0x40200000 >>>>>> + 0 0x00100000 /* downstream I/O */ >>>>>> + 0x82000000 0 0x48000000 0x48000000 >>>>>> + 0 0x10000000>; /* non-prefetchable memory */ >>>>> >>>>> Let me dig out my MR33 (will have to wait until the Weekend) and see if this >>>>> should be put into the qcom-ipq4019.dtsi as well. >>>> >>>> And it didn't work. While the pcie enumeration worked fine. >>>> The QCA9887 was no longer attaching. As soon as the driver was >>>> loaded it failed due to: >>>> >>>> [ 8.888466] ath10k_pci 0000:01:00.0: enabling device (0140 -> 0142) >>>> [ 8.934145] ath10k_pci 0000:01:00.0: failed to wake up device : -110 >>>> [ 8.935258] ath10k: failed to probe PCI : -110, retry-count: 0 >>>> [ 8.949596] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. >>>> [ 8.989503] ath10k_pci 0000:01:00.0: failed to wake up device : -110 >>>> [ 8.989899] ath10k: failed to probe PCI : -110, retry-count: 1 >>>> [ 9.005086] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. >>>> [ 9.046821] ath10k_pci 0000:01:00.0: failed to wake up device : -110 >>>> [ 9.049851] ath10k: failed to probe PCI : -110, retry-count: 2 >>>> [ 9.062448] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x50. >>>> [ 9.099055] ath10k_pci 0000:01:00.0: failed to wake up device : -110 >>>> [ 9.099442] ath10k: failed to probe PCI : -110, retry-count: 3 >>>> [...] >>>> [ 9.489869] ath10k: failed to probe PCI : -110, retry-count: 10 >>>> [ 9.503780] ath10k_pci: probe of 0000:01:00.0 failed with error -110 >>>> [...] >>>> >>>> But I think we can fix the problem. Because according to the old >>>> qcom-ipq40xx.dtsi I dug up: >>>> >>>> <https://github.com/gl-inet/openwrt-imagebuilder-ipq806x/blob/master/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/linux-ipq806x/linux-3.14.77/arch/arm/boot/dts/qcom-ipq40xx.dtsi#L631> >>>> >>>> The non-prefetchable memory area window size should be 0x00d00000. >>>> >>>> ranges = <0x81000000 0 0x40200000 0x40200000 0 0x00100000>, /* downstream I/O */ >>>> <0x82000000 0 0x40300000 0x40300000 0 0x00d00000>; /* non-prefetchable memory */ >>>> >>>> (yes, I'll be preparing a patch for linux-msm-arm. Can you please let >>>> me know if does indeed finally let you enumerate the device?) >>> >>> It seems to work with your proposed change: >>> >>> [ 0.042117] OF: PCI: host bridge /soc/pci@40000000 ranges: >>> [ 0.042152] OF: PCI: IO 0x40200000..0x402fffff -> 0x40200000 >>> [ 0.042171] OF: PCI: MEM 0x40300000..0x40ffffff -> 0x40300000 >>> [ 0.259505] qcom-pcie 40000000.pci: link up >>> [ 0.259649] qcom-pcie 40000000.pci: PCI host bridge to bus 0000:00 >>> [ 0.259671] pci_bus 0000:00: root bus resource [bus 00-ff] >>> [ 0.259687] pci_bus 0000:00: root bus resource [io 0x0000-0xfffff] >>> (bus address [0x40200000-0x402fffff]) >>> [ 0.259700] pci_bus 0000:00: root bus resource [mem >>> 0x40300000-0x40ffffff] >>> [ 0.259742] pci 0000:00:00.0: [17cb:1001] type 01 class 0x060400 >>> [ 0.259776] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit] >>> [ 0.259829] pci 0000:00:00.0: PME# supported from D0 D3hot >>> [ 0.260015] PCI: bus0: Fast back to back transfers disabled >>> [ 0.260195] pci 0000:01:00.0: [8086:09a9] type 00 class 0x028000 >>> [ 0.260312] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x007fffff] >>> [ 0.260790] pci 0000:01:00.0: supports D1 D2 >>> [ 0.260797] pci 0000:01:00.0: PME# supported from D0 D1 D3hot D3cold >>> [ 0.261043] PCI: bus1: Fast back to back transfers disabled >>> [ 0.261095] pci 0000:00:00.0: BAR 8: assigned [mem 0x40800000-0x40ffffff] >>> [ 0.261112] pci 0000:00:00.0: BAR 0: assigned [mem >>> 0x40300000-0x40300fff 64bit] >>> [ 0.261136] pci 0000:01:00.0: BAR 0: assigned [mem 0x40800000-0x40ffffff] >>> [ 0.261164] pci 0000:00:00.0: PCI bridge to [bus 01-ff] >>> [ 0.261180] pci 0000:00:00.0: bridge window [mem 0x40800000-0x40ffffff] >>> [ 0.261891] pcieport 0000:00:00.0: AER enabled with IRQ 93 >>> >>> See >>> https://github.com/blocktrron/openwrt/commit/cc1a94b2e1616d33698852df38ae23f72f193b74 >>> >>> How should we proceed on this device? Should i resend a v3 or will you >>> remove the ranges property and backport the patch you prepare for upstream? >> >> Sorry for the late reply, I added a rebased version >> on top of the latest changes) into my staging tree: >> https://git.openwrt.org/?p=openwrt/staging/chunkeey.git;a=commit;h=206a40911118f24c062ccdfc24dfc3fdd653c71a >> >> And it turned out that there was also a pcie msi irq fix >> https://git.openwrt.org/?p=openwrt/staging/chunkeey.git;a=commit;h=307f6a6ed6cfca4c0d3cb5dc4dc5493ec3f41e1c >> it just goes on and on and on... >> > > Thanks! I will test an image built from your staging tree this evening > and give feedback. I've built on commit 206a40911118f24c062ccdfc24dfc3fdd653c71a in your staging tree and the resulting image works flawlessly. Best wishes David > > Best wishes > David > >> Regards, >> Christian >> >> >> >> _______________________________________________ >> openwrt-devel mailing list >> openwrt-devel@lists.openwrt.org >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel >> > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel >
diff --git a/package/boot/uboot-fritz4040/Makefile b/package/boot/uboot-fritz4040/Makefile index 45f211527d..a53b7d010f 100644 --- a/package/boot/uboot-fritz4040/Makefile +++ b/package/boot/uboot-fritz4040/Makefile @@ -30,6 +30,11 @@ define U-Boot/fritz4040 BUILD_DEVICES:=avm_fritzbox-4040 endef +define U-Boot/fritz7530 + NAME:=FritzBox 7530 + BUILD_DEVICES:=avm_fritzbox-7530 +endef + UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes UBOOT_MAKE_FLAGS = USE_PRIVATE_LIBGCC=yes export DTC @@ -56,6 +61,6 @@ define Package/u-boot/install $(INSTALL_BIN) $(PKG_BUILD_DIR)/upload-to-f4040.sh $(1)/ endef -UBOOT_TARGETS := fritz4040 +UBOOT_TARGETS := fritz4040 fritz7530 $(eval $(call BuildPackage/U-Boot)) diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 7c9def8967..695d2f4429 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -17,7 +17,7 @@ endef # Please send a mail with your device-specific board files upstream. # You can find instructions and examples on the linux-wireless wiki: # <https://wireless.wiki.kernel.org/en/users/drivers/ath10k/boardfiles> -ALLWIFIBOARDS:=asus_map-ac2200 engenius_eap1300 linksys_ea6350v3 +ALLWIFIBOARDS:=asus_map-ac2200 engenius_eap1300 fritz7530 linksys_ea6350v3 ALLWIFIPACKAGES:=$(foreach BOARD,$(ALLWIFIBOARDS),ipq-wifi-$(BOARD)) define Package/ipq-wifi-default @@ -54,6 +54,7 @@ endef #$(eval $(call generate-ipq-wifi-package,<devicename>,<filename>,<displayname>)) $(eval $(call generate-ipq-wifi-package,asus_map-ac2200,board-map-ac2200.bin,ASUS MAP-AC2200)) $(eval $(call generate-ipq-wifi-package,engenius_eap1300,board-engenius_eap1300.bin,EnGenius EAP1300)) +$(eval $(call generate-ipq-wifi-package,fritz7530,board-fritz7530.bin,AVM FRITZ!Box 7530)) $(eval $(call generate-ipq-wifi-package,linksys_ea6350v3,board-linksys_ea6350v3.bin,Linksys EA6350v3)) $(foreach PACKAGE,$(ALLWIFIPACKAGES),$(eval $(call BuildPackage,$(PACKAGE)))) diff --git a/package/firmware/ipq-wifi/board-fritz7530.bin b/package/firmware/ipq-wifi/board-fritz7530.bin new file mode 100644 index 0000000000000000000000000000000000000000..905145f1da5ee91c481f30e6bd08b3cf8da0c2ed GIT binary patch literal 24324 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 Bh^qhq literal 0 HcmV?d00001 diff --git a/target/linux/ipq40xx/base-files/etc/board.d/01_leds b/target/linux/ipq40xx/base-files/etc/board.d/01_leds index 9105bf2452..ec8486aa95 100755 --- a/target/linux/ipq40xx/base-files/etc/board.d/01_leds +++ b/target/linux/ipq40xx/base-files/etc/board.d/01_leds @@ -22,15 +22,16 @@ avm,fritzbox-4040) ucidef_set_led_netdev "wan" "WAN" "fritz4040:green:wan" "eth1" ucidef_set_led_switch "lan" "LAN" "fritz4040:green:lan" "switch0" "0x1e" ;; +avm,fritzbox-7530 |\ +glinet,gl-b1300) + ucidef_set_led_wlan "wlan" "WLAN" "${boardname}:green:wlan" "phy0tpt" + ;; engenius,eap1300) ucidef_set_led_netdev "lan" "LAN" "${boardname}:blue:lan" "eth0" ucidef_set_led_wlan "wlan2g" "WLAN2G" "${boardname}:blue:wlan2g" "phy0tpt" ucidef_set_led_wlan "wlan5g" "WLAN5G" "${boardname}:yellow:wlan5g" "phy1tpt" ucidef_set_led_default "mesh" "MESH" "${boardname}:blue:mesh" "0" ;; -glinet,gl-b1300) - ucidef_set_led_wlan "wlan" "WLAN" "${boardname}:green:wlan" "phy0tpt" - ;; netgear,ex6100v2 |\ netgear,ex6150v2) ucidef_set_led_wlan "wlan2g" "WLAN2G" "ex61x0v2:green:router" "phy0tpt" diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network index 43be592071..2fd3d76ed0 100755 --- a/target/linux/ipq40xx/base-files/etc/board.d/02_network +++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network @@ -32,6 +32,10 @@ ipq40xx_setup_interfaces() ucidef_add_switch "switch0" \ "0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan" ;; + avm,fritzbox-7530) + ucidef_add_switch "switch0" \ + "0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan" + ;; compex,wpj428) ucidef_set_interface_lan "eth0 eth1" ;; diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 59a809e792..d9d362598d 100644 --- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -134,6 +134,10 @@ case "$FIRMWARE" in avm,fritzbox-4040) /usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config") ;; + avm,fritzbox-7530) + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") + ;; meraki,mr33) ath10kcal_ubi_extract "ART" 4096 12064 ath10kcal_is_caldata_valid "202f" || ath10kcal_extract "ART" 4096 12064 @@ -175,6 +179,10 @@ case "$FIRMWARE" in avm,fritzbox-4040) /usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config") ;; + avm,fritzbox-7530) + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \ + /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") + ;; meraki,mr33) ath10kcal_ubi_extract "ART" 20480 12064 ath10kcal_is_caldata_valid "202f" || ath10kcal_extract "ART" 20480 12064 diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh index f6bc173a76..eb1c64aa49 100644 --- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh @@ -46,7 +46,8 @@ zyxel_do_upgrade() { platform_do_upgrade() { case "$(board_name)" in - 8dev,jalapeno) + 8dev,jalapeno|\ + avm,fritzbox-7530) nand_do_upgrade "$ARGV" ;; asus,map-ac2200) diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts new file mode 100644 index 0000000000..b2a33468bb --- /dev/null +++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts @@ -0,0 +1,305 @@ +// 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/soc/qcom,tcsr.h> + +/ { + model = "AVM FRITZ!Box 7530"; + compatible = "avm,fritzbox-7530"; + + aliases { + led-boot = &power_green; + led-failsafe = &info_red; + led-running = &power_green; + led-upgrade = &info_green; + }; + + soc { + 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>; + }; + + usb3@8af8800 { + status = "okay"; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + qcom,num_gmac = <1>; + }; + }; + + keys { + compatible = "gpio-keys"; + + wlan { + label = "wlan"; + gpios = <&tlmm 42 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + + wps { + label = "wps"; + gpios = <&tlmm 41 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + + dect { + label = "dect"; + gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; + linux,code = <KEY_PHONE>; + }; + }; + + leds { + compatible = "gpio-leds"; + + info_red: info_red { + label = "fritzbox-7530:red:info"; + gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; + }; + + info_green: info { + label = "fritzbox-7530:green:info"; + gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; + }; + + wlan { + label = "fritzbox-7530:green:wlan"; + gpios = <&tlmm 34 GPIO_ACTIVE_LOW>; + }; + + fon { + label = "fritzbox-7530:green:fon"; + gpios = <&tlmm 35 GPIO_ACTIVE_LOW>; + }; + + power_green: power { + label = "fritzbox-7530:green:power"; + gpios = <&tlmm 39 GPIO_ACTIVE_LOW>; + }; + + wps { + label = "fritzbox-7530:green:wps"; + gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&tlmm { + serial_0_pins: serial_pinmux { + mux { + pins = "gpio16", "gpio17"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + nand_pins: nand_pins { + pullups { + pins = "gpio53", "gpio58", "gpio59"; + function = "qpic"; + bias-pull-up; + }; + + pulldowns { + pins = "gpio54", "gpio55", "gpio56", + "gpio57", "gpio60", "gpio61", + "gpio62", "gpio63", "gpio64", + "gpio65", "gpio66", "gpio67", + "gpio68", "gpio69"; + function = "qpic"; + bias-pull-down; + }; + }; + + usb-power { + line-name = "enable USB3 power"; + gpios = <49 GPIO_ACTIVE_HIGH>; + gpio-hog; + output-high; + }; +}; + +&nand { + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + status = "okay"; + cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; + + nand@0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "SBL1"; + reg = <0x000000 0x80000>; + read-only; + }; + + partition@80000 { + label = "MIBIB"; + reg = <0x080000 0x80000>; + read-only; + }; + + partition@100000 { + label = "QSEE"; + reg = <0x100000 0x80000>; + read-only; + }; + + partition@180000 { + label = "CDT"; + reg = <0x180000 0x40000>; + read-only; + }; + + partition@1c0000 { + label = "QSEE_B"; + reg = <0x1c0000 0x80000>; + read-only; + }; + + partition@240000 { + label = "urlader0"; + reg = <0x240000 0x40000>; + read-only; + }; + + partition@280000 { + label = "urlader1"; + reg = <0x280000 0x40000>; + read-only; + }; + + partition@2c0000 { + label = "nand-tffs"; + reg = <0x2c0000 0x840000>; + read-only; + }; + + partition@b00000 { + /* 'kernel1' in AVM firmware */ + label = "uboot0"; + reg = <0xb00000 0x400000>; + }; + + partition@f00000 { + /* 'kernel2' in AVM firmware */ + label = "uboot1"; + reg = <0xf00000 0x400000>; + }; + + partition@1300000 { + label = "ubi"; + reg = <0x1300000 0x6d00000>; + }; + }; + }; +}; + +&cryptobam { + status = "okay"; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&usb3_ss_phy { + status = "okay"; +}; + +&usb3_hs_phy { + status = "okay"; +}; + +&qpic_bam { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "AVM-FRITZBox-7530"; +}; + +&wifi1 { + status = "okay"; + qcom,ath10k-calibration-variant = "AVM-FRITZBox-7530"; +}; + +&pcie0 { + status = "okay"; + + ranges = <0x81000000 0 0x40200000 0x40200000 + 0 0x00100000 /* downstream I/O */ + 0x82000000 0 0x48000000 0x48000000 + 0 0x10000000>; /* non-prefetchable memory */ + + perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; + wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; + + bridge@0,0 { + reg = <0x00000000 0 0 0 0>; + #address-cells = <3>; + #size-cells = <2>; + ranges; + + dsl@1,0 { + compatible = "intel,vrx518"; + status = "okay"; + reg = <0x00010000 0 0 0 0>; + }; + }; +}; diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts new file mode 100644 index 0000000000..7dacf0ad90 --- /dev/null +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts @@ -0,0 +1,309 @@ +// 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/soc/qcom,tcsr.h> + +/ { + model = "AVM FRITZ!Box 7530"; + compatible = "avm,fritzbox-7530"; + + aliases { + led-boot = &power_green; + led-failsafe = &info_red; + led-running = &power_green; + led-upgrade = &info_green; + }; + + 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>; + }; + + usb3@8af8800 { + status = "okay"; + }; + + crypto@8e3a000 { + status = "okay"; + }; + + watchdog@b017000 { + status = "okay"; + }; + + ess-switch@c000000 { + status = "okay"; + }; + + edma@c080000 { + status = "okay"; + qcom,num_gmac = <1>; + }; + }; + + keys { + compatible = "gpio-keys"; + + wlan { + label = "wlan"; + gpios = <&tlmm 42 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + + wps { + label = "wps"; + gpios = <&tlmm 41 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + + dect { + label = "dect"; + gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; + linux,code = <KEY_PHONE>; + }; + }; + + leds { + compatible = "gpio-leds"; + + info_red: info_red { + label = "fritzbox-7530:red:info"; + gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; + }; + + info_green: info { + label = "fritzbox-7530:green:info"; + gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; + }; + + wlan { + label = "fritzbox-7530:green:wlan"; + gpios = <&tlmm 34 GPIO_ACTIVE_LOW>; + }; + + fon { + label = "fritzbox-7530:green:fon"; + gpios = <&tlmm 35 GPIO_ACTIVE_LOW>; + }; + + power_green: power { + label = "fritzbox-7530:green:power"; + gpios = <&tlmm 39 GPIO_ACTIVE_LOW>; + }; + + wps { + label = "fritzbox-7530:green:wps"; + gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&tlmm { + serial_0_pins: serial_pinmux { + mux { + pins = "gpio16", "gpio17"; + function = "blsp_uart0"; + bias-disable; + }; + }; + + nand_pins: nand_pins { + pullups { + pins = "gpio53", "gpio58", "gpio59"; + function = "qpic"; + bias-pull-up; + }; + + pulldowns { + pins = "gpio54", "gpio55", "gpio56", + "gpio57", "gpio60", "gpio61", + "gpio62", "gpio63", "gpio64", + "gpio65", "gpio66", "gpio67", + "gpio68", "gpio69"; + function = "qpic"; + bias-pull-down; + }; + }; + + usb-power { + line-name = "enable USB3 power"; + gpios = <49 GPIO_ACTIVE_HIGH>; + gpio-hog; + output-high; + }; +}; + +&nand { + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + status = "okay"; + cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; + + nand@0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "SBL1"; + reg = <0x000000 0x80000>; + read-only; + }; + + partition@80000 { + label = "MIBIB"; + reg = <0x080000 0x80000>; + read-only; + }; + + partition@100000 { + label = "QSEE"; + reg = <0x100000 0x80000>; + read-only; + }; + + partition@180000 { + label = "CDT"; + reg = <0x180000 0x40000>; + read-only; + }; + + partition@1c0000 { + label = "QSEE_B"; + reg = <0x1c0000 0x80000>; + read-only; + }; + + partition@240000 { + label = "urlader0"; + reg = <0x240000 0x40000>; + read-only; + }; + + partition@280000 { + label = "urlader1"; + reg = <0x280000 0x40000>; + read-only; + }; + + partition@2c0000 { + label = "nand-tffs"; + reg = <0x2c0000 0x840000>; + read-only; + }; + + partition@b00000 { + /* 'kernel1' in AVM firmware */ + label = "uboot0"; + reg = <0xb00000 0x400000>; + }; + + partition@f00000 { + /* 'kernel2' in AVM firmware */ + label = "uboot1"; + reg = <0xf00000 0x400000>; + }; + + partition@1300000 { + label = "ubi"; + reg = <0x1300000 0x6d00000>; + }; + }; + }; +}; + +&cryptobam { + status = "okay"; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp1_uart1 { + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&usb3_ss_phy { + status = "okay"; +}; + +&usb3_hs_phy { + status = "okay"; +}; + +&qpic_bam { + status = "okay"; +}; + +&wifi0 { + status = "okay"; + qcom,ath10k-calibration-variant = "AVM-FRITZBox-7530"; +}; + +&wifi1 { + status = "okay"; + qcom,ath10k-calibration-variant = "AVM-FRITZBox-7530"; +}; + +&pcie0 { + status = "okay"; + + ranges = <0x81000000 0 0x40200000 0x40200000 + 0 0x00100000 /* downstream I/O */ + 0x82000000 0 0x48000000 0x48000000 + 0 0x10000000>; /* non-prefetchable memory */ + + perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; + wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; + + bridge@0,0 { + reg = <0x00000000 0 0 0 0>; + #address-cells = <3>; + #size-cells = <2>; + ranges; + + dsl@1,0 { + compatible = "intel,vrx518"; + status = "okay"; + reg = <0x00010000 0 0 0 0>; + }; + }; +}; diff --git a/target/linux/ipq40xx/image/Makefile b/target/linux/ipq40xx/image/Makefile index 31468fd758..4b42ca1241 100644 --- a/target/linux/ipq40xx/image/Makefile +++ b/target/linux/ipq40xx/image/Makefile @@ -106,6 +106,15 @@ define Device/avm_fritzbox-4040 endef TARGET_DEVICES += avm_fritzbox-4040 +define Device/avm_fritzbox-7530 + $(call Device/FitImageLzma) + DEVICE_DTS := qcom-ipq4019-fritzbox-7530 + DEVICE_TITLE := AVM Fritz!Box 7530 + DEVICE_PACKAGES := fritz-caldata ipq-wifi-fritz7530 + IMAGES := sysupgrade.bin +endef +TARGET_DEVICES += avm_fritzbox-7530 + define Device/compex_wpj428 $(call Device/FitImage) DEVICE_DTS := qcom-ipq4028-wpj428 diff --git a/target/linux/ipq40xx/patches-4.14/901-arm-boot-add-dts-files.patch b/target/linux/ipq40xx/patches-4.14/901-arm-boot-add-dts-files.patch index 20ea3a8449..a528743b69 100644 --- a/target/linux/ipq40xx/patches-4.14/901-arm-boot-add-dts-files.patch +++ b/target/linux/ipq40xx/patches-4.14/901-arm-boot-add-dts-files.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org> --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -697,7 +697,23 @@ dtb-$(CONFIG_ARCH_QCOM) += \ +@@ -697,7 +697,24 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-apq8074-dragonboard.dtb \ qcom-apq8084-ifc6540.dtb \ qcom-apq8084-mtp.dtb \ @@ -27,6 +27,7 @@ Signed-off-by: John Crispin <john@phrozen.org> qcom-ipq4019-ap.dk01.1-c1.dtb \ + qcom-ipq4019-a62.dtb \ + qcom-ipq4019-ap.dk04.1-c1.dtb \ ++ qcom-ipq4019-fritzbox-7530.dtb \ + qcom-ipq4019-map-ac2200.dtb \ + qcom-ipq4028-wpj428.dtb \ + qcom-ipq4029-gl-b1300.dtb \ diff --git a/target/linux/ipq40xx/patches-4.19/901-arm-boot-add-dts-files.patch b/target/linux/ipq40xx/patches-4.19/901-arm-boot-add-dts-files.patch index f3472b32c0..050779e5a0 100644 --- a/target/linux/ipq40xx/patches-4.19/901-arm-boot-add-dts-files.patch +++ b/target/linux/ipq40xx/patches-4.19/901-arm-boot-add-dts-files.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org> --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -785,11 +785,26 @@ dtb-$(CONFIG_ARCH_QCOM) += \ +@@ -785,11 +785,27 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-apq8074-dragonboard.dtb \ qcom-apq8084-ifc6540.dtb \ qcom-apq8084-mtp.dtb \ @@ -30,6 +30,7 @@ Signed-off-by: John Crispin <john@phrozen.org> qcom-ipq4019-ap.dk07.1-c1.dtb \ qcom-ipq4019-ap.dk07.1-c2.dtb \ + qcom-ipq4019-a62.dtb \ ++ qcom-ipq4019-fritzbox-7530.dtb \ + qcom-ipq4019-map-ac2200.dtb \ + qcom-ipq4028-wpj428.dtb \ + qcom-ipq4029-gl-b1300.dtb \