forked from openwrt/openwrt
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bcm4008: prepare to work on kernel 6.6
Don't add KERNEL_TESTING_PATCHVER yet as there are some issues with it. On TP-Link Archer C2300 serial console seems to stop working after preinit: > Press the [f] key and hit [enter] to enter failsafe mode > Press the [1], [2], [3] or [4] key and hit [enter] to select the de� On Netgear R8000P XHCI causes external abort: [ 2.139586] Internal error: synchronous external abort: 0000000096000210 [#1] SMP [ 2.147212] Modules linked in: xhci_plat_hcd(+) xhci_hcd ohci_platform ohci_hcd fsl_mph_dr_of ehci_platform ehci_fsl ehci_hcd gpio_button_hotplug(O) usbcore nls_base usb_common crc32c_generic [ 2.164774] CPU: 0 PID: 358 Comm: kmodloader Tainted: G O 6.6.22 #0 [ 2.172658] Hardware name: Netgear R8000P (DT) [ 2.177229] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 2.184395] pc : xhci_gen_setup+0x80/0x34c [xhci_hcd] [ 2.189591] lr : xhci_gen_setup+0x74/0x34c [xhci_hcd] [ 2.194788] sp : ffffffc0815d37b0 [ 2.198194] x29: ffffffc0815d37b0 x28: ffffff8002000000 x27: ffffff8001172d88 [ 2.205540] x26: ffffff8002000000 x25: 0000000000000000 x24: ffffffc078b603c0 [ 2.212888] x23: ffffffc078b2a008 x22: ffffff8001172c10 x21: ffffff8002000000 [ 2.220235] x20: ffffff8002000000 x19: ffffff8002000250 x18: 0000000000000000 [ 2.227582] x17: 626d756e20737562 x16: 2064656e67697373 x15: ffffffffffffffff [ 2.234929] x14: ffffff80019e9915 x13: ffffff80019e9913 x12: 00000000ffffffea [ 2.242276] x11: 00000000ffffefff x10: 0000000000000062 x9 : 00000000ffffffd0 [ 2.246760] bcm63138_nand ff801800.nand-controller: timeout waiting for command 0x4 [ 2.249623] x8 : 0000000000000073 x7 : ffffffc0815d37c0 x6 : 0000000000000075 [ 2.257513] bcm63138_nand ff801800.nand-controller: intfc status c00000e0 [ 2.264855] x5 : 0000000000000081 x4 : 0000000000000000 x3 : ffffff8001b61800 [ 2.279193] x2 : ffffffc080b5d000 x1 : ffffff80020003a8 x0 : ffffff8002000398 [ 2.286540] Call trace: [ 2.289048] xhci_gen_setup+0x80/0x34c [xhci_hcd] Signed-off-by: Rafał Miłecki <[email protected]>
- Loading branch information
Rafał Miłecki
committed
Mar 28, 2024
1 parent
4aff8d0
commit c3dc52f
Showing
6 changed files
with
405 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,245 @@ | ||
CONFIG_64BIT=y | ||
CONFIG_ARCH_BCM=y | ||
CONFIG_ARCH_BCMBCA=y | ||
CONFIG_ARCH_DMA_ADDR_T_64BIT=y | ||
CONFIG_ARCH_KEEP_MEMBLOCK=y | ||
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y | ||
CONFIG_ARCH_MMAP_RND_BITS=18 | ||
CONFIG_ARCH_MMAP_RND_BITS_MAX=24 | ||
CONFIG_ARCH_MMAP_RND_BITS_MIN=18 | ||
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 | ||
CONFIG_ARCH_PROC_KCORE_TEXT=y | ||
CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
CONFIG_ARCH_STACKWALK=y | ||
CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
CONFIG_ARCH_WANTS_NO_INSTR=y | ||
CONFIG_ARM64=y | ||
CONFIG_ARM64_4K_PAGES=y | ||
CONFIG_ARM64_CRYPTO=y | ||
CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y | ||
CONFIG_ARM64_PAGE_SHIFT=12 | ||
CONFIG_ARM64_PA_BITS=48 | ||
CONFIG_ARM64_PA_BITS_48=y | ||
CONFIG_ARM64_PTR_AUTH=y | ||
CONFIG_ARM64_PTR_AUTH_KERNEL=y | ||
CONFIG_ARM64_SVE=y | ||
CONFIG_ARM64_TAGGED_ADDR_ABI=y | ||
CONFIG_ARM64_VA_BITS=39 | ||
CONFIG_ARM64_VA_BITS_39=y | ||
CONFIG_ARM_AMBA=y | ||
CONFIG_ARM_ARCH_TIMER=y | ||
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y | ||
CONFIG_ARM_GIC=y | ||
CONFIG_ARM_GIC_V3=y | ||
CONFIG_ARM_GIC_V3_ITS=y | ||
CONFIG_ARM_PSCI_FW=y | ||
CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y | ||
CONFIG_B53=y | ||
CONFIG_BCM4908_ENET=y | ||
CONFIG_BCM7038_WDT=y | ||
CONFIG_BCM7XXX_PHY=y | ||
CONFIG_BCM_NET_PHYLIB=y | ||
CONFIG_BCM_PMB=y | ||
# CONFIG_BLK_DEV_INITRD is not set | ||
CONFIG_BLK_PM=y | ||
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y | ||
CONFIG_CLK_BCM_63XX=y | ||
CONFIG_CLONE_BACKWARDS=y | ||
CONFIG_CMDLINE="earlycon=bcm63xx_uart,0xff800640 console=ttyS0,115200" | ||
CONFIG_CMDLINE_FROM_BOOTLOADER=y | ||
CONFIG_COMMON_CLK=y | ||
# CONFIG_COMPAT_32BIT_TIME is not set | ||
CONFIG_CPU_LITTLE_ENDIAN=y | ||
CONFIG_CPU_RMAP=y | ||
CONFIG_CRC16=y | ||
CONFIG_CRYPTO_AES_ARM64=y | ||
CONFIG_CRYPTO_AES_ARM64_CE=y | ||
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y | ||
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y | ||
CONFIG_CRYPTO_CRYPTD=y | ||
CONFIG_CRYPTO_DEFLATE=y | ||
CONFIG_CRYPTO_GHASH_ARM64_CE=y | ||
CONFIG_CRYPTO_HASH_INFO=y | ||
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y | ||
CONFIG_CRYPTO_LZO=y | ||
CONFIG_CRYPTO_RNG2=y | ||
CONFIG_CRYPTO_SIMD=y | ||
CONFIG_CRYPTO_ZSTD=y | ||
CONFIG_DCACHE_WORD_ACCESS=y | ||
CONFIG_DMA_DIRECT_REMAP=y | ||
CONFIG_DMA_REMAP=y | ||
CONFIG_DTC=y | ||
CONFIG_EDAC_SUPPORT=y | ||
CONFIG_FIXED_PHY=y | ||
CONFIG_FIX_EARLYCON_MEM=y | ||
CONFIG_FRAME_POINTER=y | ||
CONFIG_FWNODE_MDIO=y | ||
CONFIG_FW_LOADER_PAGED_BUF=y | ||
CONFIG_GENERIC_ALLOCATOR=y | ||
CONFIG_GENERIC_ARCH_TOPOLOGY=y | ||
CONFIG_GENERIC_BUG=y | ||
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y | ||
CONFIG_GENERIC_CLOCKEVENTS=y | ||
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y | ||
CONFIG_GENERIC_CPU_AUTOPROBE=y | ||
CONFIG_GENERIC_CPU_VULNERABILITIES=y | ||
CONFIG_GENERIC_CSUM=y | ||
CONFIG_GENERIC_EARLY_IOREMAP=y | ||
CONFIG_GENERIC_FIND_FIRST_BIT=y | ||
CONFIG_GENERIC_GETTIMEOFDAY=y | ||
CONFIG_GENERIC_IDLE_POLL_SETUP=y | ||
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y | ||
CONFIG_GENERIC_IRQ_SHOW=y | ||
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y | ||
CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y | ||
CONFIG_GENERIC_MSI_IRQ=y | ||
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y | ||
CONFIG_GENERIC_PCI_IOMAP=y | ||
CONFIG_GENERIC_PHY=y | ||
CONFIG_GENERIC_PINCONF=y | ||
CONFIG_GENERIC_PINCTRL_GROUPS=y | ||
CONFIG_GENERIC_PINMUX_FUNCTIONS=y | ||
CONFIG_GENERIC_SCHED_CLOCK=y | ||
CONFIG_GENERIC_SMP_IDLE_THREAD=y | ||
CONFIG_GENERIC_STRNCPY_FROM_USER=y | ||
CONFIG_GENERIC_STRNLEN_USER=y | ||
CONFIG_GENERIC_TIME_VSYSCALL=y | ||
CONFIG_GPIO_CDEV=y | ||
CONFIG_GPIO_GENERIC=y | ||
CONFIG_GPIO_GENERIC_PLATFORM=y | ||
CONFIG_GRO_CELLS=y | ||
CONFIG_HANDLE_DOMAIN_IRQ=y | ||
CONFIG_HARDIRQS_SW_RESEND=y | ||
CONFIG_HAS_DMA=y | ||
CONFIG_HAS_IOMEM=y | ||
CONFIG_HZ_PERIODIC=y | ||
CONFIG_I2C=y | ||
CONFIG_I2C_BOARDINFO=y | ||
CONFIG_I2C_BRCMSTB=y | ||
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 | ||
CONFIG_IRQCHIP=y | ||
CONFIG_IRQ_DOMAIN=y | ||
CONFIG_IRQ_DOMAIN_HIERARCHY=y | ||
CONFIG_IRQ_FORCED_THREADING=y | ||
CONFIG_IRQ_WORK=y | ||
CONFIG_LEDS_BCM63138=y | ||
CONFIG_LEDS_GPIO=y | ||
CONFIG_LIBFDT=y | ||
CONFIG_LOCK_DEBUGGING_SUPPORT=y | ||
CONFIG_LOCK_SPIN_ON_OWNER=y | ||
CONFIG_LZO_COMPRESS=y | ||
CONFIG_LZO_DECOMPRESS=y | ||
CONFIG_MDIO_BCM_UNIMAC=y | ||
CONFIG_MDIO_BUS=y | ||
CONFIG_MDIO_DEVICE=y | ||
CONFIG_MDIO_DEVRES=y | ||
CONFIG_MEMFD_CREATE=y | ||
CONFIG_MFD_SYSCON=y | ||
CONFIG_MIGRATION=y | ||
# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set | ||
CONFIG_MODULES_USE_ELF_RELA=y | ||
CONFIG_MTD_BRCM_U_BOOT=y | ||
CONFIG_MTD_CMDLINE_PARTS=y | ||
CONFIG_MTD_NAND_BRCMNAND=y | ||
CONFIG_MTD_NAND_BRCMNAND_BCMBCA=y | ||
CONFIG_MTD_NAND_CORE=y | ||
CONFIG_MTD_NAND_ECC=y | ||
CONFIG_MTD_NAND_ECC_SW_HAMMING=y | ||
CONFIG_MTD_OF_PARTS_BCM4908=y | ||
# CONFIG_MTD_OF_PARTS_LINKSYS_NS is not set | ||
CONFIG_MTD_RAW_NAND=y | ||
CONFIG_MTD_SPLIT_CFE_BOOTFS=y | ||
# CONFIG_MTD_SPLIT_SQUASHFS_ROOT is not set | ||
CONFIG_MTD_UBI=y | ||
CONFIG_MTD_UBI_BEB_LIMIT=20 | ||
CONFIG_MTD_UBI_BLOCK=y | ||
CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
CONFIG_MUTEX_SPIN_ON_OWNER=y | ||
CONFIG_NEED_DMA_MAP_STATE=y | ||
CONFIG_NEED_SG_DMA_LENGTH=y | ||
CONFIG_NET_DEVLINK=y | ||
CONFIG_NET_DSA=y | ||
CONFIG_NET_DSA_BCM_SF2=y | ||
CONFIG_NET_DSA_TAG_BRCM=y | ||
CONFIG_NET_DSA_TAG_BRCM_COMMON=y | ||
CONFIG_NET_DSA_TAG_BRCM_LEGACY=y | ||
CONFIG_NET_DSA_TAG_BRCM_PREPEND=y | ||
CONFIG_NET_FLOW_LIMIT=y | ||
CONFIG_NET_SELFTESTS=y | ||
CONFIG_NET_SWITCHDEV=y | ||
CONFIG_NO_IOPORT_MAP=y | ||
CONFIG_NR_CPUS=4 | ||
CONFIG_NVMEM=y | ||
CONFIG_NVMEM_SYSFS=y | ||
CONFIG_NVMEM_U_BOOT_ENV=y | ||
CONFIG_OF=y | ||
CONFIG_OF_ADDRESS=y | ||
CONFIG_OF_EARLY_FLATTREE=y | ||
CONFIG_OF_FLATTREE=y | ||
CONFIG_OF_GPIO=y | ||
CONFIG_OF_IRQ=y | ||
CONFIG_OF_KOBJ=y | ||
CONFIG_OF_MDIO=y | ||
CONFIG_PADATA=y | ||
CONFIG_PARTITION_PERCPU=y | ||
CONFIG_PGTABLE_LEVELS=3 | ||
CONFIG_PHYLIB=y | ||
CONFIG_PHYLINK=y | ||
CONFIG_PHYS_ADDR_T_64BIT=y | ||
# CONFIG_PHY_BRCM_SATA is not set | ||
CONFIG_PHY_BRCM_USB=y | ||
CONFIG_PINCTRL=y | ||
CONFIG_PINCTRL_BCM4908=y | ||
# CONFIG_PINCTRL_SINGLE is not set | ||
CONFIG_PM=y | ||
CONFIG_PM_CLK=y | ||
CONFIG_PM_GENERIC_DOMAINS=y | ||
CONFIG_PM_GENERIC_DOMAINS_OF=y | ||
CONFIG_POWER_RESET=y | ||
CONFIG_POWER_RESET_SYSCON=y | ||
CONFIG_POWER_SUPPLY=y | ||
CONFIG_PTP_1588_CLOCK_OPTIONAL=y | ||
CONFIG_QUEUED_RWLOCKS=y | ||
CONFIG_QUEUED_SPINLOCKS=y | ||
CONFIG_RATIONAL=y | ||
CONFIG_REGMAP=y | ||
CONFIG_REGMAP_MMIO=y | ||
CONFIG_RELOCATABLE=y | ||
CONFIG_RFS_ACCEL=y | ||
CONFIG_RODATA_FULL_DEFAULT_ENABLED=y | ||
CONFIG_RPS=y | ||
CONFIG_RWSEM_SPIN_ON_OWNER=y | ||
# CONFIG_SERIAL_8250 is not set | ||
CONFIG_SERIAL_BCM63XX=y | ||
CONFIG_SERIAL_BCM63XX_CONSOLE=y | ||
CONFIG_SGL_ALLOC=y | ||
CONFIG_SMP=y | ||
CONFIG_SOCK_RX_QUEUE_MAPPING=y | ||
CONFIG_SPARSEMEM=y | ||
CONFIG_SPARSEMEM_EXTREME=y | ||
CONFIG_SPARSEMEM_VMEMMAP=y | ||
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y | ||
CONFIG_SPARSE_IRQ=y | ||
CONFIG_SRCU=y | ||
CONFIG_SWIOTLB=y | ||
CONFIG_SWPHY=y | ||
CONFIG_SYSCTL_EXCEPTION_TRACE=y | ||
CONFIG_THREAD_INFO_IN_TASK=y | ||
CONFIG_TICK_CPU_ACCOUNTING=y | ||
CONFIG_TIMER_OF=y | ||
CONFIG_TIMER_PROBE=y | ||
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y | ||
CONFIG_TREE_RCU=y | ||
CONFIG_TREE_SRCU=y | ||
CONFIG_UBIFS_FS=y | ||
CONFIG_UNMAP_KERNEL_AT_EL0=y | ||
CONFIG_USB_SUPPORT=y | ||
CONFIG_VMAP_STACK=y | ||
CONFIG_WATCHDOG_CORE=y | ||
CONFIG_XPS=y | ||
CONFIG_XXHASH=y | ||
CONFIG_ZLIB_DEFLATE=y | ||
CONFIG_ZLIB_INFLATE=y | ||
CONFIG_ZONE_DMA32=y | ||
CONFIG_ZSTD_COMPRESS=y | ||
CONFIG_ZSTD_DECOMPRESS=y |
31 changes: 31 additions & 0 deletions
31
.../linux/bcm4908/patches-6.6/130-arm64-dts-broadcom-bcmbca-bcm4908-set-brcm-wp-not-co.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> | ||
Date: Thu, 28 Mar 2024 10:24:34 +0100 | ||
Subject: [PATCH] arm64: dts: broadcom: bcmbca: bcm4908: set | ||
brcm,wp-not-connected | ||
MIME-Version: 1.0 | ||
Content-Type: text/plain; charset=UTF-8 | ||
Content-Transfer-Encoding: 8bit | ||
|
||
Every described BCM4908 board has WP pin not connected. This caused | ||
problems for drivers since day 0 but there was no property to describe | ||
that properly. Projects like OpenWrt were modifying Linux driver to deal | ||
with it. | ||
|
||
It's not clear if that is hardware limitation or just reference design | ||
being copied over and over but this applies to all known / supported | ||
BCM4908 boards. Handle it by marking WP as not connected by default. | ||
|
||
Fixes: 2961f69f151c ("arm64: dts: broadcom: add BCM4908 and Asus GT-AC5300 early DTS files") | ||
Signed-off-by: Rafał Miłecki <[email protected]> | ||
--- | ||
|
||
--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||
+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||
@@ -597,6 +597,7 @@ | ||
reg-names = "nand", "nand-int-base"; | ||
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; | ||
interrupt-names = "nand_ctlrdy"; | ||
+ brcm,wp-not-connected; | ||
status = "okay"; | ||
|
||
nandcs: nand@0 { |
23 changes: 23 additions & 0 deletions
23
.../linux/bcm4908/patches-6.6/300-arm64-dts-broadcom-bcmbca-bcm4908-limit-amount-of-GP.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> | ||
Date: Mon, 15 Feb 2021 22:01:03 +0100 | ||
Subject: [PATCH] arm64: dts: broadcom: bcmbca: bcm4908: limit amount of GPIOs | ||
MIME-Version: 1.0 | ||
Content-Type: text/plain; charset=UTF-8 | ||
Content-Transfer-Encoding: 8bit | ||
|
||
Linux driver can't handle more than 64 GPIOs | ||
|
||
Signed-off-by: Rafał Miłecki <[email protected]> | ||
--- | ||
|
||
--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||
+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||
@@ -344,7 +344,7 @@ | ||
gpio0: gpio-controller@500 { | ||
compatible = "brcm,bcm6345-gpio"; | ||
reg-names = "dirout", "dat"; | ||
- reg = <0x500 0x28>, <0x528 0x28>; | ||
+ reg = <0x500 0x8>, <0x528 0x8>; | ||
|
||
#gpio-cells = <2>; | ||
gpio-controller; |
30 changes: 30 additions & 0 deletions
30
target/linux/bcm4908/patches-6.6/301-arm64-don-t-issue-HVC-on-boot.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> | ||
Date: Thu, 12 Aug 2021 11:52:42 +0200 | ||
Subject: [PATCH] arm64: don't issue HVC on boot | ||
MIME-Version: 1.0 | ||
Content-Type: text/plain; charset=UTF-8 | ||
Content-Transfer-Encoding: 8bit | ||
|
||
Broadcom's CFE loader seems to miss setting SCR_EL3.HCE which results in | ||
generating an UNDEF and kernel panic on the first HVC. | ||
|
||
HVC gets issued by kernels 5.12+ while booting, by kexec and KVM. Until | ||
someone finds a workaround we have to avoid all above. | ||
|
||
Workarounds: 0c93df9622d4 ("arm64: Initialise as nVHE before switching to VHE") | ||
Signed-off-by: Rafał Miłecki <[email protected]> | ||
--- | ||
arch/arm64/kernel/hyp-stub.S | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
--- a/arch/arm64/kernel/hyp-stub.S | ||
+++ b/arch/arm64/kernel/hyp-stub.S | ||
@@ -252,7 +252,7 @@ SYM_FUNC_START(finalise_el2) | ||
b.ne 1f | ||
|
||
mov x0, #HVC_FINALISE_EL2 | ||
- hvc #0 | ||
+// hvc #0 | ||
1: | ||
ret | ||
SYM_FUNC_END(finalise_el2) |
46 changes: 46 additions & 0 deletions
46
target/linux/bcm4908/patches-6.6/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> | ||
Date: Mon, 15 Feb 2021 23:59:26 +0100 | ||
Subject: [PATCH] net: dsa: bcm_sf2: enable GPHY for switch probing | ||
MIME-Version: 1.0 | ||
Content-Type: text/plain; charset=UTF-8 | ||
Content-Transfer-Encoding: 8bit | ||
|
||
GPHY needs to be enabled to succesfully probe & setup switch port | ||
connected to it. Otherwise hardcoding PHY OUI would be required. | ||
|
||
Before: | ||
brcm-sf2 80080000.switch lan4 (uninitialized): PHY [800c05c0.mdio--1:08] driver [Generic PHY] (irq=POLL) | ||
brcm-sf2 80080000.switch lan3 (uninitialized): PHY [800c05c0.mdio--1:09] driver [Generic PHY] (irq=POLL) | ||
brcm-sf2 80080000.switch lan2 (uninitialized): PHY [800c05c0.mdio--1:0a] driver [Generic PHY] (irq=POLL) | ||
brcm-sf2 80080000.switch lan1 (uninitialized): PHY [800c05c0.mdio--1:0b] driver [Generic PHY] (irq=POLL) | ||
brcm-sf2 80080000.switch wan (uninitialized): error -5 setting up PHY for tree 0, switch 0, port 7 | ||
|
||
After: | ||
brcm-sf2 80080000.switch lan4 (uninitialized): PHY [800c05c0.mdio--1:08] driver [Generic PHY] (irq=POLL) | ||
brcm-sf2 80080000.switch lan3 (uninitialized): PHY [800c05c0.mdio--1:09] driver [Generic PHY] (irq=POLL) | ||
brcm-sf2 80080000.switch lan2 (uninitialized): PHY [800c05c0.mdio--1:0a] driver [Generic PHY] (irq=POLL) | ||
brcm-sf2 80080000.switch lan1 (uninitialized): PHY [800c05c0.mdio--1:0b] driver [Generic PHY] (irq=POLL) | ||
brcm-sf2 80080000.switch wan (uninitialized): PHY [800c05c0.mdio--1:0c] driver [Generic PHY] (irq=POLL) | ||
|
||
Signed-off-by: Rafał Miłecki <[email protected]> | ||
--- | ||
drivers/net/dsa/bcm_sf2.c | 4 ++++ | ||
1 file changed, 4 insertions(+) | ||
|
||
--- a/drivers/net/dsa/bcm_sf2.c | ||
+++ b/drivers/net/dsa/bcm_sf2.c | ||
@@ -1522,10 +1522,14 @@ static int bcm_sf2_sw_probe(struct platf | ||
rev = reg_readl(priv, REG_PHY_REVISION); | ||
priv->hw_params.gphy_rev = rev & PHY_REVISION_MASK; | ||
|
||
+ bcm_sf2_gphy_enable_set(priv->dev->ds, true); | ||
+ | ||
ret = b53_switch_register(dev); | ||
if (ret) | ||
goto out_mdio; | ||
|
||
+ bcm_sf2_gphy_enable_set(priv->dev->ds, false); | ||
+ | ||
dev_info(&pdev->dev, | ||
"Starfighter 2 top: %x.%02x, core: %x.%02x, IRQs: %d, %d\n", | ||
priv->hw_params.top_rev >> 8, priv->hw_params.top_rev & 0xff, |
Oops, something went wrong.