0e34459e6b
This way the on nand bad block table is preserved and used. Add support for nand OOB ECC checksums as well. It should fix all reported ubi errors, which were all related to bad nand blocks and a purged on nand bad block table. The existing ubi partition will be reused, which eliminates the need to touch the caldata during initial install. The BT u-boot has support for loading a kernel from an ubi volume. It isn't necessary any longer to replace the BT u-boot with a custom compiled one to use LEDE. It is required to restore the BT Firmware and install LEDE from scratch to switch to the new partition layout. An image for restoring the BT firmware and installing LEDE is provided at https://github.com/mkresin/lede/releases. Signed-off-by: Mathias Kresin <dev@kresin.me>
290 lines
5.8 KiB
Text
290 lines
5.8 KiB
Text
/dts-v1/;
|
|
|
|
#include "vr9.dtsi"
|
|
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
model = "BTHOMEHUBV5A - BT Home Hub 5A";
|
|
|
|
chosen {
|
|
bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
|
|
};
|
|
|
|
aliases {
|
|
led-boot = &power_green;
|
|
led-failsafe = &power_red;
|
|
led-running = &power_blue;
|
|
|
|
led-internet = &broadband_blue;
|
|
led-wifi = &wireless_blue;
|
|
};
|
|
|
|
memory@0 {
|
|
reg = <0x0 0x8000000>;
|
|
};
|
|
|
|
fpi@10000000 {
|
|
localbus@0 {
|
|
nand-parts@0 {
|
|
compatible = "gen_nand", "lantiq,nand-xway";
|
|
lantiq,cs = <1>;
|
|
bank-width = <2>;
|
|
reg = <0x1 0x0 0x2000000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
nand-on-flash-bbt;
|
|
nand-ecc-strength = <3>;
|
|
nand-ecc-step-size = <256>;
|
|
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
partition@0 {
|
|
label = "u-boot";
|
|
reg = <0x0 0xa0000>;
|
|
read-only;
|
|
};
|
|
partition@a0000 {
|
|
label = "uboot-env";
|
|
reg = <0xa0000 0x20000>;
|
|
read-only;
|
|
};
|
|
partition@c0000 {
|
|
label = "unused";
|
|
reg = <0xc0000 0x40000>;
|
|
};
|
|
partition@100000 {
|
|
label = "ubi";
|
|
reg = <0x100000 0x7e80000>;
|
|
};
|
|
/*
|
|
* last 512 KiB are for the bad block table, not writable
|
|
*/
|
|
};
|
|
};
|
|
};
|
|
|
|
gpio: pinmux@E100B10 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&state_default>;
|
|
|
|
state_default: pinmux {
|
|
mdio {
|
|
lantiq,groups = "mdio";
|
|
lantiq,function = "mdio";
|
|
};
|
|
pci_rst {
|
|
lantiq,pins = "io21";
|
|
lantiq,output = <1>;
|
|
lantiq,open-drain;
|
|
};
|
|
pcie_rst {
|
|
lantiq,pins = "io38";
|
|
lantiq,pull = <0>;
|
|
lantiq,output = <1>;
|
|
lantiq,open-drain;
|
|
};
|
|
usb_vbus {
|
|
lantiq,pins = "io33";
|
|
lantiq,pull = <0>;
|
|
lantiq,open-drain = <0>;
|
|
lantiq,output = <1>;
|
|
};
|
|
nand_out {
|
|
lantiq,groups = "nand cle", "nand ale";
|
|
lantiq,function = "ebu";
|
|
lantiq,output = <1>;
|
|
lantiq,open-drain = <0>;
|
|
lantiq,pull = <0>;
|
|
};
|
|
nand_cs1 {
|
|
lantiq,groups = "nand cs1";
|
|
lantiq,function = "ebu";
|
|
lantiq,open-drain = <0>;
|
|
lantiq,pull = <0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
ifxhcd@E101000 {
|
|
status = "okay";
|
|
gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
|
|
gphy-xrx200 {
|
|
compatible = "lantiq,phy-xrx200";
|
|
firmware1 = "lantiq/vr9_phy11g_a1x.bin"; /*VR9 1.1*/
|
|
firmware2 = "lantiq/vr9_phy11g_a2x.bin"; /*VR9 1.2*/
|
|
phys = [ 00 01 ];
|
|
};
|
|
|
|
gpio-keys-polled {
|
|
compatible = "gpio-keys-polled";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
poll-interval = <100>;
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RESTART>;
|
|
};
|
|
|
|
wps {
|
|
label = "wps";
|
|
gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_WPS_BUTTON>;
|
|
};
|
|
|
|
restart {
|
|
label = "restart";
|
|
gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_POWER>;
|
|
};
|
|
};
|
|
|
|
gpio-leds {
|
|
compatible = "gpio-leds";
|
|
|
|
/* broadband-* is a single RGB led */
|
|
broadband-red {
|
|
label = "bthomehubv5a:red:broadband";
|
|
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
|
|
};
|
|
broadband-green {
|
|
label = "bthomehubv5a:green:broadband";
|
|
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
|
|
};
|
|
broadband_blue: broadband-blue {
|
|
label = "bthomehubv5a:blue:broadband";
|
|
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
/* wireless-* is a single RGB led */
|
|
wireless-red {
|
|
label = "bthomehubv5a:red:wireless";
|
|
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
|
|
};
|
|
wireless-green {
|
|
label = "bthomehubv5a:green:wireless";
|
|
gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
|
|
};
|
|
wireless_blue: wireless-blue {
|
|
label = "bthomehubv5a:blue:wireless";
|
|
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
/* power-* is a single RGB led */
|
|
power_red: power-red {
|
|
label = "bthomehubv5a:red:power";
|
|
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
|
|
};
|
|
power_green: power-green {
|
|
label = "bthomehubv5a:green:power";
|
|
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
|
|
default-state = "keep";
|
|
};
|
|
power_blue: power-blue {
|
|
label = "bthomehubv5a:blue:power";
|
|
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
dimmed {
|
|
label = "dimmed";
|
|
gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pci0 {
|
|
status = "okay";
|
|
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
|
|
|
|
wifi@168c,002d {
|
|
compatible = "pci168c,002d";
|
|
reg = <0x7000 0 0 0 0>;
|
|
qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
|
|
qca,disable-5ghz;
|
|
};
|
|
};
|
|
|
|
ð0 {
|
|
lan: interface@0 {
|
|
compatible = "lantiq,xrx200-pdi";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0>;
|
|
lantiq,switch;
|
|
|
|
ethernet@0 {
|
|
compatible = "lantiq,xrx200-pdi-port";
|
|
reg = <0>;
|
|
phy-mode = "rgmii";
|
|
phy-handle = <&phy0>;
|
|
};
|
|
ethernet@1 {
|
|
compatible = "lantiq,xrx200-pdi-port";
|
|
reg = <1>;
|
|
phy-mode = "rgmii";
|
|
phy-handle = <&phy1>;
|
|
};
|
|
ethernet@2 {
|
|
compatible = "lantiq,xrx200-pdi-port";
|
|
reg = <2>;
|
|
phy-mode = "gmii";
|
|
phy-handle = <&phy11>;
|
|
};
|
|
ethernet@4 {
|
|
compatible = "lantiq,xrx200-pdi-port";
|
|
reg = <4>;
|
|
phy-mode = "gmii";
|
|
phy-handle = <&phy13>;
|
|
};
|
|
};
|
|
|
|
wan: interface@1 {
|
|
compatible = "lantiq,xrx200-pdi";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <1>;
|
|
lantiq,wan;
|
|
|
|
ethernet@5 {
|
|
compatible = "lantiq,xrx200-pdi-port";
|
|
reg = <5>;
|
|
phy-mode = "rgmii";
|
|
phy-handle = <&phy5>;
|
|
};
|
|
};
|
|
|
|
mdio@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
compatible = "lantiq,xrx200-mdio";
|
|
|
|
phy0: ethernet-phy@0 {
|
|
reg = <0x0>;
|
|
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
|
|
};
|
|
phy1: ethernet-phy@1 {
|
|
reg = <0x1>;
|
|
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
|
|
};
|
|
phy5: ethernet-phy@5 {
|
|
reg = <0x5>;
|
|
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
|
|
};
|
|
phy11: ethernet-phy@11 {
|
|
reg = <0x11>;
|
|
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
|
|
};
|
|
phy13: ethernet-phy@13 {
|
|
reg = <0x13>;
|
|
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
|
|
};
|
|
};
|
|
};
|