Commit Graph

25 Commits

Author SHA1 Message Date
Rafał Miłecki
ba5dfa2fd8 arm64: dts: broadcom: bcm4908: add I2C block
BCM4908 uses the same I2C hw as BCM63xx / BCM67xx / BCM68xx SoCs.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2022-02-15 13:52:11 -08:00
Rafał Miłecki
47513f6dd9 arm64: dts: broadcom: bcm4908: add watchdog block
BCM4908 has the same watchdog as BCM63xx devices. Use "brcm,bcm6345-wdt"
binding which matches the first SoC with that block.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2022-02-11 14:26:00 -08:00
Rafał Miłecki
72b1c5da79 arm64: dts: broadcom: bcm4908: add pinctrl binding
Describe pinmux block with its maps.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2022-01-31 16:29:46 -08:00
Rafał Miłecki
33826e9c6b arm64: dts: broadcom: bcm4908: use proper TWD binding
Block at <ff800400 0x4c> is a TWD that contains timers, watchdog and
reset. Actual timers happen to be at block beginning but they only span
across the first 0x28 registers. It means the old block description was
incorrect (size 0x3c).

Drop timers binding for now and use documented TWD binding. Timers
should be properly documented and defined as TWD subnode.

Fixes: 2961f69f15 ("arm64: dts: broadcom: add BCM4908 and Asus GT-AC5300 early DTS files")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2022-01-31 16:29:38 -08:00
Rafał Miłecki
d0e68d354f arm64: dts: broadcom: bcm4908: add DT for Netgear RAXE500
It's a home router based on BCM4908 SoC. It has: 1 GiB of RAM, 512 MiB
NAND flash, 6 Ethernet ports and 3 x BCM43684 (WiFi). One of Ethernet
ports is "2.5 G Multi-Gig port" that isn't described yet (it isn't known
how it's wired up).

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-11-15 09:52:26 -08:00
Rafał Miłecki
6c38c39ab2 arm64: dts: broadcom: bcm4908: Fix UART clock name
According to the binding the correct clock name is "refclk".

Fixes: 2961f69f15 ("arm64: dts: broadcom: add BCM4908 and Asus GT-AC5300 early DTS files")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-09-14 14:36:37 -07:00
Rafał Miłecki
6cf9f70255 arm64: dts: broadcom: bcm4908: Move reboot syscon out of bus
This fixes following error for every bcm4908 DTS file:
bus@ff800000: reboot: {'type': 'object'} is not allowed for {'compatible': ['syscon-reboot'], 'regmap': [[15]], 'offset': [[52]], 'mask': [[1]]}

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-09-14 14:36:36 -07:00
Rafał Miłecki
d0ae9c944b arm64: dts: broadcom: bcm4908: Fix NAND node name
This matches nand-controller.yaml requirements.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-09-14 14:36:36 -07:00
Rafał Miłecki
b660269cba ARM: dts: BCM5301X: Fix NAND nodes names
This matches nand-controller.yaml requirements.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-05-10 14:50:05 -07:00
Rafał Miłecki
9f01f5cdb5 arm64: dts: broadcom: bcm4908: add Ethernet MAC addr
On most BCM4908 devices MAC address can be read from the bootloader
binary section containing device settings. Use NVMEM to describe that.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-03-29 11:44:31 -07:00
Rafał Miłecki
5337af7918 arm64: dts: broadcom: bcm4908: add Ethernet TX irq
This hardware supports two interrupts, one per DMA channel (RX and TX).

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-03-17 20:43:45 -07:00
Rafał Miłecki
5ccb9f9cf0 arm64: dts: broadcom: bcm4908: set Asus GT-AC5300 port 7 PHY mode
Port 7 is connected to the external BCM53134S switch using RGMII.

Fixes: 527a3ac9bd ("arm64: dts: broadcom: bcm4908: describe internal switch")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-03-13 09:49:57 -08:00
Rafał Miłecki
6a30934a54 arm64: dts: broadcom: bcm4908: add TP-Link Archer C2300 V1
Archer C2300 V1 is a home router based on the BCM4906 (2 CPU cores). It
has 512 MiB of RAM, NAND flash, USB 2.0 and USB 3.0 ports, 4 LAN ports,
1 WAN port.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-03-13 09:49:50 -08:00
Rafał Miłecki
a348ff97ff arm64: dts: broadcom: bcm4908: fix switch parent node name
Ethernet switch and MDIO are grouped using "simple-bus". It's not
allowed to use "ethernet-switch" node name as it isn't a switch. Replace
it with "bus".

Fixes: 527a3ac9bd ("arm64: dts: broadcom: bcm4908: describe internal switch")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-03-10 11:10:39 -08:00
Rafał Miłecki
cbaca2c467 arm64: dts: broadcom: bcm4908: describe firmware partitions
BCM4908 bootloader supports multiple firmware partitions and has its own
bindings defined for them.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-03-10 11:10:39 -08:00
Rafał Miłecki
6224415c03 arm64: dts: broadcom: bcm4908: add remaining Netgear R8000P LEDs
There are a few more GPIO connected LEDs there didn't get described
initially.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-03-10 11:10:39 -08:00
Rafał Miłecki
406e98afff arm64: dts: broadcom: bcm4908: describe Netgear R8000P switch
R8000P model has 4 LAN ports and 1 WAN port.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-03-09 15:06:31 -08:00
Rafał Miłecki
b1bbe48eec arm64: dts: broadcom: bcm4908: describe Ethernet controller
BCM4908 SoCs have an integrated Ethernet controller.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-03-09 15:06:31 -08:00
Rafał Miłecki
3c321ba794 arm64: dts: broadcom: bcm4908: describe USB PHY
BCM4908 uses slightly modified STB family USB PHY. It handles OHCI/EHCI
and XHCI. It requires powering up using the PMB.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-03-09 15:06:30 -08:00
Rafał Miłecki
7a31889ef0 arm64: dts: broadcom: bcm4908: describe PMB block
PMB (Power Management Bus) controls powering connected devices (e.g.
PCIe, USB, SATA). In BCM4908 it's a part of the PROCMON block.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-01-26 16:26:33 -08:00
Rafał Miłecki
527a3ac9bd arm64: dts: broadcom: bcm4908: describe internal switch
BCM4908 has internal switch with 5 GPHYs. Ports 0 - 3 are always
connected to the internal PHYs. Remaining ports depend on device setup.

Asus GT-AC5300 has an extra switch with its PHYs accessible using the
internal MDIO.

CPU port and Ethernet interface remain to be documented.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-01-26 16:26:30 -08:00
Rafał Miłecki
1b88c6ed26 arm64: dts: broadcom: bcm4908: describe PCIe reset controller
This reset controller is a single register in the Broadcom's MISC block.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-12-28 14:05:10 -08:00
Rafał Miłecki
56098be85d arm64: dts: broadcom: bcm4908: use proper NAND binding
BCM4908 has controller that needs different IRQ handling just like the
BCM63138. Describe it properly.

On Linux this change fixes:
brcmstb_nand ff801800.nand: timeout waiting for command 0x9
brcmstb_nand ff801800.nand: intfc status d0000000

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-12-28 14:05:09 -08:00
Rafał Miłecki
c8b404fb05 arm64: dts: broadcom: bcm4908: add BCM4906 Netgear R8000P DTS files
Netgear R8000P is home router based on BCM4906 that is a cheaper variant
of BCM4908 (e.g. 2 cores instead of 4).

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-12-28 14:05:09 -08:00
Rafał Miłecki
2961f69f15 arm64: dts: broadcom: add BCM4908 and Asus GT-AC5300 early DTS files
They don't descibe hardware fully yet but it's enough to boot a system.

Some missing blocks:
1. PMC (Power Management Controller?)
2. Ethernet
3. Crypto
4. Thermal

Asus DTS is missing defining full NAND partitions layout and buttons.

Further changes will fill those gaps as soon as required bindings will
be found / tested / added.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-25 09:07:49 -08:00