mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-24 15:56:49 +00:00
layerscape: add Traverse LS1043-S support
The Traverse LS1043-S board is a router board based on NXP/Freescale's LS1043 SoC, with 4x1GBase-T, 1 SFP and 1 SFP+, as well as miniPCIe and M.2 LTE. Unlike the Layerscape reference boards, the LS1043-S board has NAND flash and uses the mainline U-Boot. This patch implements support for the LS1043-S board, as well as the earlier LS1043-V board. It is our intention that all boards in this family (LS1043-S and later, Five64) will boot the same binary. Not included in this patchset are the hwmon drivers not in the kernel (emc1704,pac1934) or the bootloader. Signed-off-by: Mathew McBride <matt@traverse.com.au>
This commit is contained in:
parent
481f870a02
commit
08714738d2
25
target/linux/layerscape/base-files/etc/board.d/01_led
Executable file
25
target/linux/layerscape/base-files/etc/board.d/01_led
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (C) 2015 OpenWrt.org
|
||||||
|
#
|
||||||
|
|
||||||
|
. /lib/functions/uci-defaults.sh
|
||||||
|
|
||||||
|
board_config_update
|
||||||
|
|
||||||
|
board=$(board_name)
|
||||||
|
|
||||||
|
case "$board" in
|
||||||
|
traverse,ls1043v)
|
||||||
|
ucidef_set_led_netdev "wan" "WAN LED" "ls1043v:yellow:wan" "eth4"
|
||||||
|
;;
|
||||||
|
traverse,ls1043s)
|
||||||
|
ucidef_set_led_netdev "wan" "WAN LED" "ls1043s:yellow:wan" "eth4"
|
||||||
|
ucidef_set_led_netdev "xgact" "10G Activity" "ls1043s:yellow:10gact" "eth6"
|
||||||
|
ucidef_set_led_netdev "xglink" "10G Link" "ls1043s:green:10glink" "eth6"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
board_config_flush
|
||||||
|
|
||||||
|
exit 0
|
21
target/linux/layerscape/base-files/etc/board.d/02_network
Executable file
21
target/linux/layerscape/base-files/etc/board.d/02_network
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. /lib/functions/system.sh
|
||||||
|
. /lib/functions/uci-defaults.sh
|
||||||
|
|
||||||
|
board_config_update
|
||||||
|
|
||||||
|
case "$(board_name)" in
|
||||||
|
traverse,ls1043v)
|
||||||
|
ucidef_set_interface_lan "eth0 eth1 eth2 eth3"
|
||||||
|
ucidef_set_interface_wan "eth4"
|
||||||
|
;;
|
||||||
|
traverse,ls1043s)
|
||||||
|
ucidef_set_interface_lan "eth0 eth1 eth2 eth3 eth6"
|
||||||
|
ucidef_set_interface_wan "eth4"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
board_config_flush
|
||||||
|
|
||||||
|
exit 0
|
28
target/linux/layerscape/base-files/etc/board.d/03_gpio_switches
Executable file
28
target/linux/layerscape/base-files/etc/board.d/03_gpio_switches
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (C) 2015 OpenWrt.org
|
||||||
|
#
|
||||||
|
|
||||||
|
. /lib/functions/uci-defaults.sh
|
||||||
|
|
||||||
|
board_config_update
|
||||||
|
|
||||||
|
board=$(board_name)
|
||||||
|
|
||||||
|
case "$board" in
|
||||||
|
traverse,ls1043v)
|
||||||
|
ucidef_add_gpio_switch "lte_reset" "LTE Reset" "377"
|
||||||
|
ucidef_add_gpio_switch "lte_disable" "LTE Airplane mode" "378"
|
||||||
|
;;
|
||||||
|
traverse,ls1043s)
|
||||||
|
ucidef_add_gpio_switch "tensfp_txdisable" "SFP+ TX Disable" "378"
|
||||||
|
ucidef_add_gpio_switch "gigsfp_txdisable" "SFP TX Disable" "381"
|
||||||
|
ucidef_add_gpio_switch "lte_reset" "LTE Reset" "502"
|
||||||
|
ucidef_add_gpio_switch "lte_disable" "LTE Airplane Mode" "394"
|
||||||
|
ucidef_add_gpio_switch "lte_power" "LTE Power" "395"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
board_config_flush
|
||||||
|
|
||||||
|
exit 0
|
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
reorder_layerscape_interfaces() {
|
||||||
|
if [ ! -f /tmp/sysinfo/board_name ]; then
|
||||||
|
echo "No board name found, not doing reorder_layerscape_interfaces"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
board=$(cat /tmp/sysinfo/board_name)
|
||||||
|
case "$board" in
|
||||||
|
"traverse,ls1043v" | \
|
||||||
|
"traverse,ls1043s")
|
||||||
|
|
||||||
|
# Reorder ethernet interfaces to match the physical order
|
||||||
|
ip link set eth2 name fm1-mac3
|
||||||
|
ip link set eth4 name eth2
|
||||||
|
ip link set eth3 name fm1-mac4
|
||||||
|
ip link set eth5 name eth3
|
||||||
|
ip link set fm1-mac3 name eth4
|
||||||
|
ip link set fm1-mac4 name eth5
|
||||||
|
;;
|
||||||
|
default)
|
||||||
|
echo "Unknown board $board"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
boot_hook_add preinit_main reorder_layerscape_interfaces
|
94
target/linux/layerscape/base-files/lib/upgrade/platform.sh
Normal file
94
target/linux/layerscape/base-files/lib/upgrade/platform.sh
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright 2015-2018 Traverse Technologies
|
||||||
|
#
|
||||||
|
platform_do_upgrade_traverse_nandubi() {
|
||||||
|
bootsys=$(fw_printenv bootsys | awk -F= '{{print $2}}')
|
||||||
|
newbootsys=2
|
||||||
|
if [ "$bootsys" -eq "2" ]; then
|
||||||
|
newbootsys=1
|
||||||
|
fi
|
||||||
|
mkdir -p /tmp/image
|
||||||
|
cd /tmp/image
|
||||||
|
get_image "$1" > image.tar
|
||||||
|
ls -la image.tar
|
||||||
|
files=$(tar -tf image.tar)
|
||||||
|
echo "Files in image:"
|
||||||
|
echo $files
|
||||||
|
for f in $files
|
||||||
|
do
|
||||||
|
part_name=$(echo $f | awk -F '/' '{{print $2}}')
|
||||||
|
if [ -z "$part_name" ] || [ "$part_name" = "CONTROL" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ "$part_name" = "root" ] && part_name="rootfs"
|
||||||
|
|
||||||
|
volume=$part_name
|
||||||
|
if [ "$part_name" = "kernel" ] || [ "$part_name" = "rootfs" ]; then
|
||||||
|
volume="${part_name}${newbootsys}"
|
||||||
|
fi
|
||||||
|
volume_id=$(ubinfo -d 0 --name $volume | awk '/Volume ID/ {print $3}')
|
||||||
|
file_size=$(tar -tvf image.tar $f | awk '{{print $3}}')
|
||||||
|
echo "$f size $file_size"
|
||||||
|
tar -xOf image.tar $f | ubiupdatevol -s $file_size /dev/ubi0_$volume_id -
|
||||||
|
|
||||||
|
echo "$volume upgraded"
|
||||||
|
done
|
||||||
|
fw_setenv bootsys $newbootsys
|
||||||
|
echo "Upgrade complete"
|
||||||
|
}
|
||||||
|
platform_copy_config() {
|
||||||
|
bootsys=$(fw_printenv bootsys | awk -F= '{{print $2}}')
|
||||||
|
rootvol=rootfs$bootsys
|
||||||
|
volume_id=$(ubinfo -d 0 --name $rootvol | awk '/Volume ID/ {print $3}')
|
||||||
|
mkdir -p /mnt/oldsys
|
||||||
|
mount -t ubifs -o rw,noatime /dev/ubi0_$volume_id /mnt/oldsys
|
||||||
|
cp -af "$CONF_TAR" /mnt/oldsys
|
||||||
|
umount /mnt/oldsys
|
||||||
|
}
|
||||||
|
platform_check_image() {
|
||||||
|
local board=$(board_name)
|
||||||
|
|
||||||
|
case "$board" in
|
||||||
|
traverse,ls1043v | \
|
||||||
|
traverse,ls1043s | \
|
||||||
|
traverse,five64)
|
||||||
|
local tar_file="$1"
|
||||||
|
local kernel_length=$( (tar xf $tar_file sysupgrade-traverse-five64/kernel -O | wc -c) 2> /dev/null)
|
||||||
|
local rootfs_length=$( (tar xf $tar_file sysupgrade-traverse-five64/root -O | wc -c) 2> /dev/null)
|
||||||
|
[ "$kernel_length" -eq 0 -o "$rootfs_length" -eq 0 ] && {
|
||||||
|
echo "The upgrade image is corrupt."
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Sysupgrade is not currently supported on $board"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
platform_do_upgrade() {
|
||||||
|
local board=$(board_name)
|
||||||
|
|
||||||
|
case "$board" in
|
||||||
|
traverse,ls1043v | \
|
||||||
|
traverse,ls1043s | \
|
||||||
|
traverse,five64)
|
||||||
|
platform_do_upgrade_traverse_nandubi "$ARGV"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Sysupgrade is not currently supported on $board"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
platform_pre_upgrade() {
|
||||||
|
# Force the creation of fw_printenv.lock
|
||||||
|
mkdir -p /var/lock
|
||||||
|
touch /var/lock/fw_printenv.lock
|
||||||
|
|
||||||
|
export RAMFS_COPY_BIN="/usr/sbin/fw_printenv /usr/sbin/fw_setenv /usr/sbin/ubinfo /bin/echo ${RAMFS_COPY_BIN}"
|
||||||
|
export RAMFS_COPY_DATA="/etc/fw_env.config /var/lock/fw_printenv.lock ${RAMFS_COPY_DATA}"
|
||||||
|
}
|
@ -0,0 +1,332 @@
|
|||||||
|
/*
|
||||||
|
* Device Tree Include file for Traverse LS1043S board.
|
||||||
|
*
|
||||||
|
* Copyright 2014-2015, Freescale Semiconductor
|
||||||
|
* Copyright 2017-2018, Traverse Technologies
|
||||||
|
*
|
||||||
|
* This file is dual-licensed: you can use it either under the terms
|
||||||
|
* of the GPLv2 or the X11 license, at your option. Note that this dual
|
||||||
|
* licensing only applies to this file, and not this project as a
|
||||||
|
* whole.
|
||||||
|
*
|
||||||
|
* a) This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* Or, alternatively,
|
||||||
|
*
|
||||||
|
* b) Permission is hereby granted, free of charge, to any person
|
||||||
|
* obtaining a copy of this software and associated documentation
|
||||||
|
* files (the "Software"), to deal in the Software without
|
||||||
|
* restriction, including without limitation the rights to use,
|
||||||
|
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
* sell copies of the Software, and to permit persons to whom the
|
||||||
|
* Software is furnished to do so, subject to the following
|
||||||
|
* conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be
|
||||||
|
* included in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
* OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include "fsl-ls1043a.dtsi"
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Traverse LS1043S";
|
||||||
|
compatible = "traverse,ls1043s";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
crypto = &crypto;
|
||||||
|
ethernet0 = &EMAC0;
|
||||||
|
ethernet1 = &EMAC1;
|
||||||
|
ethernet2 = &EMAC2;
|
||||||
|
ethernet3 = &EMAC3;
|
||||||
|
ethernet4 = &EMAC4;
|
||||||
|
ethernet5 = &EMAC5;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
gpio0 {
|
||||||
|
label = "ls1043s:green:user0";
|
||||||
|
gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
gpio1 {
|
||||||
|
label = "ls1043s:green:user1";
|
||||||
|
gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
/* LED D17 */
|
||||||
|
gpio2 {
|
||||||
|
label = "ls1043s:green:wan";
|
||||||
|
gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
gpio3 {
|
||||||
|
label = "ls1043s:yellow:wan";
|
||||||
|
gpios = <&gpio1 27 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
/* LED D18 */
|
||||||
|
gpio4 {
|
||||||
|
label = "ls1043s:green:mgmt";
|
||||||
|
gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
gpio5 {
|
||||||
|
label = "ls1043s:yellow:mgmt";
|
||||||
|
gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
/* LED D6 */
|
||||||
|
gpio6 {
|
||||||
|
label = "ls1043s:green:user2";
|
||||||
|
gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* SFP+ LEDs - these are for chassis
|
||||||
|
* with lightpipes only
|
||||||
|
*/
|
||||||
|
teng_act {
|
||||||
|
label = "ls1043s:yellow:10gact";
|
||||||
|
gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
teng_link {
|
||||||
|
label = "ls1043s:green:10glink";
|
||||||
|
gpios = <&gpio4 1 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-keys-polled {
|
||||||
|
compatible = "gpio-keys-polled";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
poll-interval = <1000>;
|
||||||
|
/* This button may not be loaded on all boards */
|
||||||
|
button@0 {
|
||||||
|
label = "Front button";
|
||||||
|
linux,code = <KEY_SETUP>;
|
||||||
|
gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
/* This is wired to header S3 */
|
||||||
|
button@1 {
|
||||||
|
label = "Rear button";
|
||||||
|
linux,code = <KEY_WPS_BUTTON>;
|
||||||
|
gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&esdhc {
|
||||||
|
mmc-hs200-1_8v;
|
||||||
|
sd-uhs-sdr104;
|
||||||
|
sd-uhs-sdr50;
|
||||||
|
sd-uhs-sdr25;
|
||||||
|
sd-uhs-sdr12;
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
status = "okay";
|
||||||
|
rtc@6f {
|
||||||
|
compatible = "intersil,isl1208";
|
||||||
|
reg = <0x6f>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sfp_pca9534: pca9534@24 {
|
||||||
|
compatible = "ti,tca9534", "nxp,pca9534";
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
reg = <0x24>;
|
||||||
|
gpio-base = <100>;
|
||||||
|
};
|
||||||
|
|
||||||
|
controller@50 {
|
||||||
|
compatible = "traverse,controller";
|
||||||
|
reg = <0x50>;
|
||||||
|
};
|
||||||
|
|
||||||
|
ds125df111@18 {
|
||||||
|
compatible = "ti,ds125df111";
|
||||||
|
reg = <0x18>;
|
||||||
|
};
|
||||||
|
|
||||||
|
emc1704@4c {
|
||||||
|
compatible = "microchip,emc1704";
|
||||||
|
reg = <0x4c>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pac1934@16 {
|
||||||
|
compatible = "microchip,pac1934";
|
||||||
|
reg = <0x16>;
|
||||||
|
/* Monitoring 3.3V, 5V, Vin/12V (voltage only), Vbat/RTC (voltage only) */
|
||||||
|
shunt-resistors = <4000 12000 0 0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pmic@8 {
|
||||||
|
compatible = "freescale,mc34vr500";
|
||||||
|
reg = <0x08>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* I2C Bus for SFP EEPROM and control
|
||||||
|
* These are multiplexed so
|
||||||
|
* they don't collide when loaded
|
||||||
|
*/
|
||||||
|
&i2c3 {
|
||||||
|
status = "okay";
|
||||||
|
i2c-switch@70 {
|
||||||
|
compatible = "nxp,pca9540";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0x70>;
|
||||||
|
|
||||||
|
gigsfp_i2c: i2c@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0>;
|
||||||
|
};
|
||||||
|
tensfp_i2c: i2c@1 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&ifc {
|
||||||
|
status = "okay";
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
/* Only NAND flash is used on this board */
|
||||||
|
ranges = <0x0 0x0 0x0 0x7e800000 0x00010000>;
|
||||||
|
|
||||||
|
nand@1,0 {
|
||||||
|
compatible = "fsl,ifc-nand";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
reg = <0x0 0x0 0x10000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&duart0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&duart1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "fsl-ls1043-post.dtsi"
|
||||||
|
|
||||||
|
&fman0 {
|
||||||
|
EMAC0: ethernet@e0000 {
|
||||||
|
phy-handle = <&qsgmii_phy1>;
|
||||||
|
phy-connection-type = "qsgmii";
|
||||||
|
local-mac-address = [0A 00 00 00 00 01];
|
||||||
|
};
|
||||||
|
|
||||||
|
EMAC1: ethernet@e2000 {
|
||||||
|
phy-handle = <&qsgmii_phy2>;
|
||||||
|
phy-connection-type = "qsgmii";
|
||||||
|
local-mac-address = [0A 00 00 00 00 02];
|
||||||
|
};
|
||||||
|
|
||||||
|
EMAC2: ethernet@e8000 {
|
||||||
|
phy-handle = <&qsgmii_phy3>;
|
||||||
|
phy-connection-type = "qsgmii";
|
||||||
|
local-mac-address = [0A 00 00 00 00 03];
|
||||||
|
};
|
||||||
|
|
||||||
|
EMAC3: ethernet@ea000 {
|
||||||
|
phy-handle = <&qsgmii_phy4>;
|
||||||
|
phy-connection-type = "qsgmii";
|
||||||
|
local-mac-address = [0A 00 00 00 00 04];
|
||||||
|
};
|
||||||
|
|
||||||
|
/* SFP via AR8031
|
||||||
|
* We treat this as a fixed-link as the
|
||||||
|
* AR8031 is hard-configured into
|
||||||
|
* 1000BASE-X mode
|
||||||
|
* Should MII control be desired, remove
|
||||||
|
* fixed-link and add
|
||||||
|
* phy-handle = <&rgmii_phy1>;
|
||||||
|
*/
|
||||||
|
EMAC4: ethernet@e4000 {
|
||||||
|
phy-connection-type = "rgmii";
|
||||||
|
local-mac-address = [0A 00 00 00 00 05];
|
||||||
|
fixed-link {
|
||||||
|
speed = <1000>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Connection to Expansion (M.2) slot
|
||||||
|
* Future WAN (i.e xDSL) plugin
|
||||||
|
*/
|
||||||
|
EMAC5: ethernet@e6000 {
|
||||||
|
phy-connection-type = "rgmii-id";
|
||||||
|
local-mac-address = [00 00 00 00 00 06];
|
||||||
|
fixed-link {
|
||||||
|
speed = <1000>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 10G SFP+ interface
|
||||||
|
* This can also run at 1.25 and 2.5G with
|
||||||
|
* the appropriate SerDes protocol setting in RCW
|
||||||
|
*/
|
||||||
|
TENSFP: ethernet@f0000 {
|
||||||
|
status = "okay";
|
||||||
|
phy-connection-type = "xgmii";
|
||||||
|
fixed-link {
|
||||||
|
speed = <10000>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mdio@fc000 {
|
||||||
|
rgmii_phy1: ethernet-phy@2 {
|
||||||
|
reg = <0x2>;
|
||||||
|
};
|
||||||
|
qsgmii_phy1: ethernet-phy@4 {
|
||||||
|
reg = <0x4>;
|
||||||
|
};
|
||||||
|
qsgmii_phy2: ethernet-phy@5 {
|
||||||
|
reg = <0x5>;
|
||||||
|
};
|
||||||
|
qsgmii_phy3: ethernet-phy@6 {
|
||||||
|
reg = <0x6>;
|
||||||
|
};
|
||||||
|
qsgmii_phy4: ethernet-phy@7 {
|
||||||
|
reg = <0x7>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* No QUICC engine functions on this board -
|
||||||
|
* pins are used for other functions (GPIO, I2C etc.)
|
||||||
|
*/
|
||||||
|
&uqe {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* LS1043S does not use the QorIQ AHCI
|
||||||
|
* controller.
|
||||||
|
*/
|
||||||
|
&sata {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
@ -0,0 +1,253 @@
|
|||||||
|
/*
|
||||||
|
* Device Tree Include file for Traverse LS1043V board.
|
||||||
|
*
|
||||||
|
* Copyright 2014-2015, Freescale Semiconductor
|
||||||
|
* Copyright 2017, Traverse Technologies
|
||||||
|
*
|
||||||
|
* This file is dual-licensed: you can use it either under the terms
|
||||||
|
* of the GPLv2 or the X11 license, at your option. Note that this dual
|
||||||
|
* licensing only applies to this file, and not this project as a
|
||||||
|
* whole.
|
||||||
|
*
|
||||||
|
* a) This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* Or, alternatively,
|
||||||
|
*
|
||||||
|
* b) Permission is hereby granted, free of charge, to any person
|
||||||
|
* obtaining a copy of this software and associated documentation
|
||||||
|
* files (the "Software"), to deal in the Software without
|
||||||
|
* restriction, including without limitation the rights to use,
|
||||||
|
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
* sell copies of the Software, and to permit persons to whom the
|
||||||
|
* Software is furnished to do so, subject to the following
|
||||||
|
* conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be
|
||||||
|
* included in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
* OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include "fsl-ls1043a.dtsi"
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Traverse LS1043V";
|
||||||
|
compatible = "traverse,ls1043v";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
crypto = &crypto;
|
||||||
|
ethernet0 = &EMAC0;
|
||||||
|
ethernet1 = &EMAC1;
|
||||||
|
ethernet2 = &EMAC2;
|
||||||
|
ethernet3 = &EMAC3;
|
||||||
|
ethernet4 = &EMAC4;
|
||||||
|
ethernet5 = &EMAC5;
|
||||||
|
pca9555 = &pca9555;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
gpio0 {
|
||||||
|
label = "ls1043v:green:user0";
|
||||||
|
gpios = <&pca9555 0 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
gpio1 {
|
||||||
|
label = "ls1043v:yellow:user0";
|
||||||
|
gpios = <&pca9555 1 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
gpio2 {
|
||||||
|
label = "ls1043v:green:user1";
|
||||||
|
gpios = <&pca9555 2 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
gpio3 {
|
||||||
|
label = "ls1043v:yellow:user1";
|
||||||
|
gpios = <&pca9555 3 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
gpio4 {
|
||||||
|
label = "ls1043v:green:user2";
|
||||||
|
gpios = <&pca9555 4 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
gpio5 {
|
||||||
|
label = "ls1043v:yellow:wlan";
|
||||||
|
gpios = <&pca9555 5 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
gpio6 {
|
||||||
|
label = "ls1043v:yellow:wan";
|
||||||
|
gpios = <&pca9555 6 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-keys-polled {
|
||||||
|
compatible = "gpio-keys-polled";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
poll-interval = <1000>;
|
||||||
|
button@0 {
|
||||||
|
label = "Front button";
|
||||||
|
linux,code = <KEY_SETUP>;
|
||||||
|
gpios = <&pca9555 14 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
button@1 {
|
||||||
|
label = "Rear button";
|
||||||
|
linux,code = <KEY_WPS_BUTTON>;
|
||||||
|
gpios = <&pca9555 15 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
status = "okay";
|
||||||
|
rtc@6f {
|
||||||
|
compatible = "intersil,isl1208";
|
||||||
|
reg = <0x6f>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pca9555: pca9555@20 {
|
||||||
|
compatible = "nxp,pca9555";
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
reg = <0x20>;
|
||||||
|
gpio-base = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* CPU core temp sensor and VDD (1.0V) sensor */
|
||||||
|
ltc2990@4c {
|
||||||
|
compatible = "lltc,ltc2990";
|
||||||
|
reg = <0x4C>;
|
||||||
|
lltc,meas-mode = <4 3>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 3.3V and 5V monitor (may not be loaded on some SKUs) */
|
||||||
|
ltc2990@4f {
|
||||||
|
compatible = "lltc,ltc2990";
|
||||||
|
reg = <0x4F>;
|
||||||
|
lltc,meas-mode = <6 3>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&ifc {
|
||||||
|
status = "okay";
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
/* Only NAND flash is used on this board */
|
||||||
|
ranges = <0x0 0x0 0x0 0x7e800000 0x00010000>;
|
||||||
|
|
||||||
|
nand@1,0 {
|
||||||
|
compatible = "fsl,ifc-nand";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
reg = <0x0 0x0 0x10000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&duart0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&duart1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "fsl-ls1043-post.dtsi"
|
||||||
|
|
||||||
|
&fman0 {
|
||||||
|
EMAC0: ethernet@e0000 {
|
||||||
|
phy-handle = <&qsgmii_phy1>;
|
||||||
|
phy-connection-type = "qsgmii";
|
||||||
|
local-mac-address = [0A 00 00 00 00 01];
|
||||||
|
};
|
||||||
|
|
||||||
|
EMAC1: ethernet@e2000 {
|
||||||
|
phy-handle = <&qsgmii_phy2>;
|
||||||
|
phy-connection-type = "qsgmii";
|
||||||
|
local-mac-address = [0A 00 00 00 00 02];
|
||||||
|
};
|
||||||
|
|
||||||
|
EMAC2: ethernet@e8000 {
|
||||||
|
phy-handle = <&qsgmii_phy3>;
|
||||||
|
phy-connection-type = "qsgmii";
|
||||||
|
local-mac-address = [0A 00 00 00 00 03];
|
||||||
|
};
|
||||||
|
|
||||||
|
EMAC3: ethernet@ea000 {
|
||||||
|
phy-handle = <&qsgmii_phy4>;
|
||||||
|
phy-connection-type = "qsgmii";
|
||||||
|
local-mac-address = [0A 00 00 00 00 04];
|
||||||
|
};
|
||||||
|
EMAC4: ethernet@e4000 {
|
||||||
|
phy-handle = <&rgmii_phy1>;
|
||||||
|
phy-connection-type = "rgmii";
|
||||||
|
local-mac-address = [0A 00 00 00 00 05];
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Connection to VDSL SoC */
|
||||||
|
EMAC5: ethernet@e6000 {
|
||||||
|
phy-connection-type = "rgmii-id";
|
||||||
|
local-mac-address = [00 00 00 00 00 06];
|
||||||
|
fixed-link {
|
||||||
|
speed = <1000>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 10G XFI interface - not in use on this platform */
|
||||||
|
TENSFP: ethernet@f0000 {
|
||||||
|
status = "disabled";
|
||||||
|
|
||||||
|
phy-connection-type = "sgmii";
|
||||||
|
fixed-link {
|
||||||
|
/* NB: speed = 1000 and sgmii allows forward compatibility
|
||||||
|
* with both 1G and 10G, the same is not true
|
||||||
|
* in the reverse.
|
||||||
|
*/
|
||||||
|
speed = <1000>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mdio@fc000 {
|
||||||
|
rgmii_phy1: ethernet-phy@3 {
|
||||||
|
reg = <0x3>;
|
||||||
|
};
|
||||||
|
qsgmii_phy1: ethernet-phy@4 {
|
||||||
|
reg = <0x4>;
|
||||||
|
};
|
||||||
|
qsgmii_phy2: ethernet-phy@5 {
|
||||||
|
reg = <0x5>;
|
||||||
|
};
|
||||||
|
qsgmii_phy3: ethernet-phy@6 {
|
||||||
|
reg = <0x6>;
|
||||||
|
};
|
||||||
|
qsgmii_phy4: ethernet-phy@7 {
|
||||||
|
reg = <0x7>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* No QUICC engine functions on this board */
|
||||||
|
&uqe {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* No SATA/AHCI on this board */
|
||||||
|
&sata {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
@ -7,6 +7,8 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
include $(INCLUDE_DIR)/image.mk
|
include $(INCLUDE_DIR)/image.mk
|
||||||
|
|
||||||
|
ITB_BOARDS = traverse-five64
|
||||||
|
|
||||||
define Build/append-ls-rcw
|
define Build/append-ls-rcw
|
||||||
rm -f $@
|
rm -f $@
|
||||||
dd if=$(STAGING_DIR_IMAGE)/$(1)-rcw.bin >> $@
|
dd if=$(STAGING_DIR_IMAGE)/$(1)-rcw.bin >> $@
|
||||||
@ -45,6 +47,16 @@ define Build/append-ls-dtb
|
|||||||
dd if=$(DTS_DIR)/$(1).dtb >> $@
|
dd if=$(DTS_DIR)/$(1).dtb >> $@
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Build/traverse-fit
|
||||||
|
./mkits-multiple-config.sh -o $@.its -A $(LINUX_KARCH) -v $(LINUX_VERSION) \
|
||||||
|
-k $@ -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
|
||||||
|
-C gzip -c 1 -c 2 \
|
||||||
|
-d $(DEVICE_DTS_DIR)/freescale/traverse-ls1043s.dtb -D "Traverse_LS1043S" -n "ls1043s" -a $(FDT_LOADADDR) -c 1 \
|
||||||
|
-d $(DEVICE_DTS_DIR)/freescale/traverse-ls1043v.dtb -D "Traverse_LS1043V" -n "ls1043v" -a $(FDT_LOADADDR) -c 2
|
||||||
|
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new
|
||||||
|
@mv -f $@.new $@
|
||||||
|
endef
|
||||||
|
|
||||||
define Device/Default
|
define Device/Default
|
||||||
PROFILES = Default
|
PROFILES = Default
|
||||||
FILESYSTEMS := squashfs
|
FILESYSTEMS := squashfs
|
||||||
@ -62,6 +74,7 @@ ifeq ($(SUBTARGET),armv8_32b)
|
|||||||
KERNEL_LOADADDR = 0x80008000
|
KERNEL_LOADADDR = 0x80008000
|
||||||
KERNEL_ENTRY_POINT = 0x80008000
|
KERNEL_ENTRY_POINT = 0x80008000
|
||||||
endif
|
endif
|
||||||
|
FDT_LOADADDR = 0x90000000
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Device/ls1043ardb
|
define Device/ls1043ardb
|
||||||
@ -182,4 +195,28 @@ endef
|
|||||||
TARGET_DEVICES += ls2088ardb
|
TARGET_DEVICES += ls2088ardb
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
define Device/traverse-five64
|
||||||
|
KERNEL_NAME := Image
|
||||||
|
KERNEL_SUFFIX := -kernel.itb
|
||||||
|
KERNEL_INSTALL := 1
|
||||||
|
FILESYSTEMS := ubifs
|
||||||
|
DEVICE_TITLE := Traverse LS1043 Boards (Five64, LS1043S)
|
||||||
|
DEVICE_PACKAGES += fman-layerscape-ls1043ardb kmod-i2c-core kmod-rtc-isl1208 uboot-envtools \
|
||||||
|
uboot-traverse-ls1043v uboot-traverse-ls1043v-sdcard \
|
||||||
|
kmod-hwmon-core kmod-hwmon-ltc2990 kmod-gpio-pca953x kmod-input-gpio-keys-polled \
|
||||||
|
kmod-i2c-mux-pca954x kmod-hwmon-pac1934 kmod-hwmon-emc17xx
|
||||||
|
DEVICE_DESCRIPTION = Build images for Traverse LS1043 boards. This generates a single image \
|
||||||
|
capable of booting on any of the boards in this family.
|
||||||
|
DEVICE_DTS = freescale/traverse-ls1043s
|
||||||
|
DEVICE_DTS_DIR = $(LINUX_DIR)/arch/arm64/boot/dts
|
||||||
|
DEVICE_DTS_CONFIG = ls1043s
|
||||||
|
KERNEL := kernel-bin | gzip | traverse-fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb $$(FDT_LOADADDR)
|
||||||
|
KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb $$(FDT_LOADADDR)
|
||||||
|
IMAGES = root sysupgrade.tar
|
||||||
|
IMAGE/root = append-rootfs
|
||||||
|
IMAGE/sysupgrade.tar = sysupgrade-tar
|
||||||
|
UBIFS_OPTS := -m 2048 -e 124KiB -c 4096
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += traverse-five64
|
||||||
|
|
||||||
$(eval $(call BuildImage))
|
$(eval $(call BuildImage))
|
||||||
|
@ -0,0 +1,89 @@
|
|||||||
|
From c0612164b379ebc8964da6bc6f6ced9736dce488 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mathew McBride <matt@traverse.com.au>
|
||||||
|
Date: Tue, 17 Apr 2018 10:01:03 +1000
|
||||||
|
Subject: [PATCH] add DTS for Traverse LS1043 Boards
|
||||||
|
|
||||||
|
Signed-off-by: Mathew McBride <matt@traverse.com.au>
|
||||||
|
---
|
||||||
|
arch/arm64/boot/dts/freescale/Makefile | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
create mode 100644 arch/arm64/boot/dts/freescale/traverse-ls1043v.dts
|
||||||
|
|
||||||
|
--- a/arch/arm64/boot/dts/freescale/Makefile
|
||||||
|
+++ b/arch/arm64/boot/dts/freescale/Makefile
|
||||||
|
@@ -20,7 +20,10 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2
|
||||||
|
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-simu.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-qds.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-rdb.dtb
|
||||||
|
-
|
||||||
|
+
|
||||||
|
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += traverse-ls1043v.dtb
|
||||||
|
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += traverse-ls1043s.dtb
|
||||||
|
+
|
||||||
|
always := $(dtb-y)
|
||||||
|
subdir-y := $(dts-dirs)
|
||||||
|
clean-files := *.dtb
|
||||||
|
--- a/arch/arm64/boot/dts/freescale/traverse-ls1043s.dts
|
||||||
|
+++ b/arch/arm64/boot/dts/freescale/traverse-ls1043s.dts
|
||||||
|
@@ -337,3 +337,29 @@
|
||||||
|
&sata {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
+
|
||||||
|
+/* Additions for Layerscape SDK (4.4/4.9) Kernel only
|
||||||
|
+ * These kernels need additional setup for FMan/QMan DMA shared memory
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+&bman_fbpr {
|
||||||
|
+ compatible = "fsl,bman-fbpr";
|
||||||
|
+ alloc-ranges = <0 0 0x10000 0>;
|
||||||
|
+};
|
||||||
|
+&qman_fqd {
|
||||||
|
+ compatible = "fsl,qman-fqd";
|
||||||
|
+ alloc-ranges = <0 0 0x10000 0>;
|
||||||
|
+};
|
||||||
|
+&qman_pfdr {
|
||||||
|
+ compatible = "fsl,qman-pfdr";
|
||||||
|
+ alloc-ranges = <0 0 0x10000 0>;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&soc {
|
||||||
|
+#include "qoriq-dpaa-eth.dtsi"
|
||||||
|
+#include "qoriq-fman3-0-6oh.dtsi"
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&fman0 {
|
||||||
|
+ compatible = "fsl,fman", "simple-bus";
|
||||||
|
+};
|
||||||
|
--- a/arch/arm64/boot/dts/freescale/traverse-ls1043v.dts
|
||||||
|
+++ b/arch/arm64/boot/dts/freescale/traverse-ls1043v.dts
|
||||||
|
@@ -313,3 +313,29 @@
|
||||||
|
&sata {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
+
|
||||||
|
+/* Additions for Layerscape SDK (4.4/4.9) Kernel only
|
||||||
|
+ * These kernels need additional setup for FMan/QMan DMA shared memory
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+&bman_fbpr {
|
||||||
|
+ compatible = "fsl,bman-fbpr";
|
||||||
|
+ alloc-ranges = <0 0 0x10000 0>;
|
||||||
|
+};
|
||||||
|
+&qman_fqd {
|
||||||
|
+ compatible = "fsl,qman-fqd";
|
||||||
|
+ alloc-ranges = <0 0 0x10000 0>;
|
||||||
|
+};
|
||||||
|
+&qman_pfdr {
|
||||||
|
+ compatible = "fsl,qman-pfdr";
|
||||||
|
+ alloc-ranges = <0 0 0x10000 0>;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&soc {
|
||||||
|
+#include "qoriq-dpaa-eth.dtsi"
|
||||||
|
+#include "qoriq-fman3-0-6oh.dtsi"
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&fman0 {
|
||||||
|
+ compatible = "fsl,fman", "simple-bus";
|
||||||
|
+};
|
@ -5,8 +5,8 @@ Subject: [PATCH] Recognize when an RGMII Link is set as fixed (in the device
|
|||||||
tree) and set up the MAC accordingly
|
tree) and set up the MAC accordingly
|
||||||
|
|
||||||
---
|
---
|
||||||
drivers/net/ethernet/freescale/sdk_dpaa/mac.c | 1 +
|
drivers/net/ethernet/freescale/sdk_dpaa/mac.c | 1
|
||||||
.../ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac.c | 13 +++++++++++++
|
drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac.c | 13 ++++++++++
|
||||||
2 files changed, 14 insertions(+)
|
2 files changed, 14 insertions(+)
|
||||||
|
|
||||||
--- a/drivers/net/ethernet/freescale/sdk_dpaa/mac.c
|
--- a/drivers/net/ethernet/freescale/sdk_dpaa/mac.c
|
||||||
@ -52,7 +52,7 @@ Subject: [PATCH] Recognize when an RGMII Link is set as fixed (in the device
|
|||||||
|
|
||||||
+ if (ENET_INTERFACE_FROM_MODE(p_Memac->enetMode) == e_ENET_IF_RGMII) {
|
+ if (ENET_INTERFACE_FROM_MODE(p_Memac->enetMode) == e_ENET_IF_RGMII) {
|
||||||
+ if (mac_dev->fixed_link) {
|
+ if (mac_dev->fixed_link) {
|
||||||
+ printk("This is a fixed-link, forcing speed %d duplex %d\n",mac_dev->fixed_link->speed,mac_dev->fixed_link->duplex);
|
+ printk(KERN_INFO "This is a fixed-link, forcing speed %d duplex %d\n",mac_dev->fixed_link->speed,mac_dev->fixed_link->duplex);
|
||||||
+ MemacAdjustLink(h_Memac,mac_dev->fixed_link->speed,mac_dev->fixed_link->duplex);
|
+ MemacAdjustLink(h_Memac,mac_dev->fixed_link->speed,mac_dev->fixed_link->duplex);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
|
@ -0,0 +1,10 @@
|
|||||||
|
--- a/drivers/mmc/host/sdhci-of-esdhc.c
|
||||||
|
+++ b/drivers/mmc/host/sdhci-of-esdhc.c
|
||||||
|
@@ -619,6 +619,7 @@ static void esdhc_reset(struct sdhci_hos
|
||||||
|
static const struct of_device_id scfg_device_ids[] = {
|
||||||
|
{ .compatible = "fsl,t1040-scfg", },
|
||||||
|
{ .compatible = "fsl,ls1012a-scfg", },
|
||||||
|
+ { .compatible = "fsl,ls1043a-scfg", },
|
||||||
|
{ .compatible = "fsl,ls1046a-scfg", },
|
||||||
|
{}
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user