Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
meta-elphel393
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
meta-elphel393
Commits
432c583f
Commit
432c583f
authored
Sep 17, 2016
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Plain Diff
synced with master - device tree and patches
parents
662d5bd8
7c48d48d
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
15 additions
and
206 deletions
+15
-206
bootargs-mmc.dtsi
conf/machine/boards/elphel393_alt/bootargs-mmc.dtsi
+0
-0
bootargs-nand.dtsi
conf/machine/boards/elphel393_alt/bootargs-nand.dtsi
+0
-0
bootargs-ram.dtsi
conf/machine/boards/elphel393_alt/bootargs-ram.dtsi
+0
-0
elphel393.dts
conf/machine/boards/elphel393_alt/elphel393.dts
+0
-0
zynq-base.dtsi
conf/machine/boards/elphel393_alt/zynq-base.dtsi
+0
-0
device-tree.bbappend
recipes-bsp/device-tree/device-tree.bbappend
+14
-2
ahci.patch
recipes-kernel/linux/linux-xlnx/ahci.patch
+0
-10
drivers-elphel.patch
recipes-kernel/linux/linux-xlnx/drivers-elphel.patch
+0
-20
libahci.patch
recipes-kernel/linux/linux-xlnx/libahci.patch
+0
-19
si5338_vsc330x.patch
recipes-kernel/linux/linux-xlnx/si5338_vsc330x.patch
+0
-67
xilinx_emacps.c.patch
recipes-kernel/linux/linux-xlnx/xilinx_emacps.c.patch
+0
-73
xilinx_uartps.c.patch
recipes-kernel/linux/linux-xlnx/xilinx_uartps.c.patch
+0
-13
linux-xlnx_4.0.bbappend
recipes-kernel/linux/linux-xlnx_4.0.bbappend
+1
-2
No files found.
conf/machine/boards/elphel393/bootargs-mmc.dtsi
→
conf/machine/boards/elphel393
_alt
/bootargs-mmc.dtsi
View file @
432c583f
File moved
conf/machine/boards/elphel393/bootargs-nand.dtsi
→
conf/machine/boards/elphel393
_alt
/bootargs-nand.dtsi
View file @
432c583f
File moved
conf/machine/boards/elphel393/bootargs-ram.dtsi
→
conf/machine/boards/elphel393
_alt
/bootargs-ram.dtsi
View file @
432c583f
File moved
conf/machine/boards/elphel393/elphel393.dts
→
conf/machine/boards/elphel393
_alt
/elphel393.dts
View file @
432c583f
File moved
conf/machine/boards/elphel393/zynq-base.dtsi
→
conf/machine/boards/elphel393
_alt
/zynq-base.dtsi
View file @
432c583f
File moved
recipes-bsp/device-tree/device-tree.bbappend
View file @
432c583f
# add dtsi's
# add dtsi's
SRC_URI += "file://*.dtsi"
FILESEXTRAPATHS_append := "${TOPDIR}/../../linux-elphel/src/arch/arm/boot/dts:"
SRC_URI += "file://elphel393.dts \
file://elphel393-zynq-base.dtsi \
file://elphel393-bootargs-mmc.dtsi \
file://elphel393-bootargs-nand.dtsi \
file://elphel393-bootargs-ram.dtsi \
"
MACHINE_DEVICETREE := "\
elphel393.dts \
"
do_deploy(){
do_deploy(){
for DTS_FILE in ${DEVICETREE}; do
for DTS_FILE in ${DEVICETREE}; do
...
@@ -42,7 +54,7 @@ do_compile() {
...
@@ -42,7 +54,7 @@ do_compile() {
for DTS_FILE in ${DEVICETREE}; do
for DTS_FILE in ${DEVICETREE}; do
DTS_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
DTS_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
for RLOC in ${PRODUCTION_ROOT_LOCATION}; do
for RLOC in ${PRODUCTION_ROOT_LOCATION}; do
ln -sf ${WORKDIR}/devicetree/
bootargs-${RLOC}.dtsi ${WORKDIR}/devicetree/
bootargs.dtsi
ln -sf ${WORKDIR}/devicetree/
elphel393-bootargs-${RLOC}.dtsi ${WORKDIR}/devicetree/elphel393-
bootargs.dtsi
dtc -I dts -O dtb ${DEVICETREE_FLAGS} -o ${DTS_NAME}_${RLOC}.dtb ${DTS_FILE}
dtc -I dts -O dtb ${DEVICETREE_FLAGS} -o ${DTS_NAME}_${RLOC}.dtb ${DTS_FILE}
done
done
done
done
...
...
recipes-kernel/linux/linux-xlnx/ahci.patch
deleted
100644 → 0
View file @
662d5bd8
--- a/drivers/ata/ahci.h 2016-09-13 17:18:35.579259846 -0600
+++ b/drivers/ata/ahci.h 2016-08-01 11:57:06.306630339 -0600
@@ -396,6 +396,7 @@ void ahci_print_info(struct ata_host *ho
int ahci_host_activate(struct ata_host *host, int irq,
struct scsi_host_template *sht);
void ahci_error_handler(struct ata_port *ap);
+irqreturn_t ahci_single_irq_intr(int irq, void *dev_instance);
static inline void __iomem *__ahci_port_base(struct ata_host *host,
unsigned int port_no)
recipes-kernel/linux/linux-xlnx/drivers-elphel.patch
deleted
100644 → 0
View file @
662d5bd8
diff -Naur a/drivers/Kconfig b/drivers/Kconfig
--- a/drivers/Kconfig 2016-01-25 18:31:43.309779723 -0700
+++ b/drivers/Kconfig 2016-01-25 18:48:17.521798388 -0700
@@ -182,4 +182,6 @@
source "drivers/android/Kconfig"
+source "drivers/elphel/Kconfig"
+
endmenu
diff -Naur a/drivers/Makefile b/drivers/Makefile
--- a/drivers/Makefile 2016-01-25 18:31:43.309779723 -0700
+++ b/drivers/Makefile 2016-01-25 18:50:39.545801055 -0700
@@ -165,3 +165,6 @@
obj-$(CONFIG_THUNDERBOLT) += thunderbolt/
obj-$(CONFIG_CORESIGHT) += coresight/
obj-$(CONFIG_ANDROID) += android/
+
+obj-$(CONFIG_ELPHEL393) += elphel/
+obj-$(CONFIG_ELPHELDRVONMICROZED) += elphel/
recipes-kernel/linux/linux-xlnx/libahci.patch
deleted
100644 → 0
View file @
662d5bd8
--- a/drivers/ata/libahci.c 2016-09-13 17:18:35.579259846 -0600
+++ b/drivers/ata/libahci.c 2016-07-27 20:25:34.217095567 -0600
@@ -1826,7 +1826,7 @@ static irqreturn_t ahci_multi_irqs_intr(
return IRQ_WAKE_THREAD;
}
-static irqreturn_t ahci_single_irq_intr(int irq, void *dev_instance)
+irqreturn_t ahci_single_irq_intr(int irq, void *dev_instance)
{
struct ata_host *host = dev_instance;
struct ahci_host_priv *hpriv;
@@ -1885,6 +1885,7 @@ static irqreturn_t ahci_single_irq_intr(
return IRQ_RETVAL(handled);
}
+EXPORT_SYMBOL_GPL(ahci_single_irq_intr);
unsigned int ahci_qc_issue(struct ata_queued_cmd *qc)
{
recipes-kernel/linux/linux-xlnx/si5338_vsc330x.patch
deleted
100644 → 0
View file @
662d5bd8
diff -Naur a/drivers/clk/Kconfig b/drivers/clk/Kconfig
--- a/drivers/clk/Kconfig 2016-01-25 18:31:43.413779725 -0700
+++ b/drivers/clk/Kconfig 2016-01-25 19:09:12.833821955 -0700
@@ -59,6 +59,16 @@
clocked at 32KHz each. Clkout1 is always on, Clkout2 can off
by control register.
+config COMMON_CLK_SI5338
+ tristate "Support Silicon Laboratories SI5338 Quad Clock Generator"
+ depends on I2C
+ select REGMAP_I2C
+ select RATIONAL
+ help
+ Say Y here if you have a SI5338 Quad Clock Generator IC on the I2C bus.
+ To compile this driver as a module, choose M here: the
+ module will be called si5338.
+
config COMMON_CLK_SI5351
tristate "Clock driver for SiLabs 5351A/B/C"
depends on I2C
diff -Naur a/drivers/clk/Makefile b/drivers/clk/Makefile
--- a/drivers/clk/Makefile 2016-01-25 18:31:43.413779725 -0700
+++ b/drivers/clk/Makefile 2016-01-25 19:09:46.217822582 -0700
@@ -35,6 +35,7 @@
obj-$(CONFIG_CLK_QORIQ) += clk-qoriq.o
obj-$(CONFIG_COMMON_CLK_RK808) += clk-rk808.o
obj-$(CONFIG_COMMON_CLK_S2MPS11) += clk-s2mps11.o
+obj-$(CONFIG_COMMON_CLK_SI5338) += clk-si5338.o
obj-$(CONFIG_COMMON_CLK_SI5351) += clk-si5351.o
obj-$(CONFIG_COMMON_CLK_SI570) += clk-si570.o
obj-$(CONFIG_CLK_TWL6040) += clk-twl6040.o
diff -Naur a/drivers/misc/Kconfig b/drivers/misc/Kconfig
--- a/drivers/misc/Kconfig 2016-01-28 19:14:34.610694113 -0700
+++ b/drivers/misc/Kconfig 2016-01-28 19:42:44.730725843 -0700
@@ -515,6 +515,23 @@
bus. System Configuration interface is one of the possible means
of generating transactions on this bus.
+config VSC330X
+ tristate "Support VSC330X crosspoint switch"
+ help
+ Say Y here if you have a VSC30X crosspoint switch IC on the I2C bus.
+ To compile this driver as a module, choose M here: the
+ module will be called vsc330x.
+
+config LTC3589
+ tristate "Support LTC3589 voltage regulator"
+ help
+ Say Y here if you have a LTC3589 voltage regulator IC on the I2C bus.
+ To compile this driver as a module, choose M here: the
+ module will be called ltc3589.
+ Developed by Elphel, Inc..
+ The default driver is found at drivers/regulator/ltc3589.c and
+ enabled with CONFIG_REGULATOR_LTC3589=y
+
config XILINX_TRAFGEN
tristate "Xilinx Traffic Generator"
depends on MICROBLAZE || ARCH_ZYNQ
diff -Naur a/drivers/misc/Makefile b/drivers/misc/Makefile
--- a/drivers/misc/Makefile 2016-01-28 19:14:34.610694113 -0700
+++ b/drivers/misc/Makefile 2016-01-28 19:19:56.638700159 -0700
@@ -58,3 +58,5 @@
obj-$(CONFIG_ECHO) += echo/
obj-$(CONFIG_VEXPRESS_SYSCFG) += vexpress-syscfg.o
obj-$(CONFIG_CXL_BASE) += cxl/
+obj-$(CONFIG_VSC330X) += vsc330x.o
+obj-$(CONFIG_LTC3589) += ltc3589.o
recipes-kernel/linux/linux-xlnx/xilinx_emacps.c.patch
deleted
100644 → 0
View file @
662d5bd8
diff -Naur a/drivers/net/ethernet/xilinx/xilinx_emacps.c b/drivers/net/ethernet/xilinx/xilinx_emacps.c
--- a/drivers/net/ethernet/xilinx/xilinx_emacps.c 2016-01-25 18:34:24.065782741 -0700
+++ b/drivers/net/ethernet/xilinx/xilinx_emacps.c 2016-01-25 19:03:50.781815909 -0700
@@ -479,6 +479,10 @@
#define XEMACPS_PTP_CC_MULT (1 << 31)
#endif
+/* Elphel */
+#define AT803X_PHY_ID 0x004dd072 /*Particular one, AR8035 but we'll use a broad mask */
+#define AT803X_PHY_ID_MASK 0xffffffe0
+
#define xemacps_read(base, reg) \
readl_relaxed(((void __iomem *)(base)) + (reg))
#define xemacps_write(base, reg, val) \
@@ -871,6 +875,49 @@
return 0;
}
+/* http://www.spinics.net/lists/devicetree/msg06322.html */
+static int ar8035_phy_fixup(struct phy_device *dev)
+{
+ u16 val;
+ struct net_local *lp = dev->bus->priv;
+ dev_dbg(&lp->pdev->dev,"fixup start");
+
+ /* Ar803x phy SmartEEE feature cause link status generates glitch,
+ * which cause ethernet link down/up issue, so disable SmartEEE
+ */
+ phy_write(dev, 0xd, 0x3);
+ phy_write(dev, 0xe, 0x805d);
+ phy_write(dev, 0xd, 0x4003);
+
+ val = phy_read(dev, 0xe);
+ phy_write(dev, 0xe, val & ~(1 << 8));
+ /*Enable if needed */
+#if 0
+ /* To enable AR8031 output a 125MHz clk from CLK_25M */
+ phy_write(dev, 0xd, 0x7);
+ phy_write(dev, 0xe, 0x8016);
+ phy_write(dev, 0xd, 0x4007);
+
+ val = phy_read(dev, 0xe);
+ val &= 0xffe3;
+ val |= 0x18;
+ phy_write(dev, 0xe, val);
+#endif
+/* Next one what is really needed for Elphel 393 */
+ /* introduce tx clock delay */
+ phy_write(dev, 0x1d, 0x5);
+ val = phy_read(dev, 0x1e);
+ val |= 0x0100;
+ phy_write(dev, 0x1e, val);
+
+ /*check phy power*/
+ val = phy_read(dev, 0x0);
+ if (val & BMCR_PDOWN)
+ phy_write(dev, 0x0, val & ~BMCR_PDOWN);
+ dev_dbg(&lp->pdev->dev,"fixup end");
+ return 0;
+}
+
/**
* xemacps_mii_init - Initialize and register mii bus to network device
* @lp: local device instance pointer
@@ -883,6 +930,8 @@
struct device_node *np = of_get_parent(lp->phy_node);
struct device_node *npp;
+ phy_register_fixup_for_uid(AT803X_PHY_ID, AT803X_PHY_ID_MASK, ar8035_phy_fixup);
+
lp->mii_bus = of_mdio_find_bus(np);
if (!lp->has_mdio && lp->mii_bus)
return 0;
recipes-kernel/linux/linux-xlnx/xilinx_uartps.c.patch
deleted
100644 → 0
View file @
662d5bd8
diff -Naur a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c
--- a/drivers/tty/serial/xilinx_uartps.c 2016-02-19 13:41:58.380680377 -0700
+++ b/drivers/tty/serial/xilinx_uartps.c 2016-02-19 13:47:50.776674338 -0700
@@ -704,6 +704,9 @@
ctrl_reg |= CDNS_UART_CR_TXRST | CDNS_UART_CR_RXRST;
cdns_uart_writel(ctrl_reg, CDNS_UART_CR_OFFSET);
+ while (cdns_uart_readl(CDNS_UART_CR_OFFSET) &
+ (CDNS_UART_CR_TXRST | CDNS_UART_CR_RXRST))
+ cpu_relax();
/*
* Clear the RX disable and TX disable bits and then set the TX enable
* bit and RX enable bit to enable the transmitter and receiver.
recipes-kernel/linux/linux-xlnx_4.0.bbappend
View file @
432c583f
FILESEXTRAPATHS_append := "${T
HISDIR}/linux-xlnx
:"
FILESEXTRAPATHS_append := "${T
OPDIR}/../../linux-elphel/src/patches
:"
FILESEXTRAPATHS_prepend := "${THISDIR}/config:"
FILESEXTRAPATHS_prepend := "${THISDIR}/config:"
SRC_URI_append += " file://xilinx_emacps.c.patch"
SRC_URI_append += " file://xilinx_emacps.c.patch"
...
@@ -168,4 +168,3 @@ sysroot_stage_all_append() {
...
@@ -168,4 +168,3 @@ sysroot_stage_all_append() {
## And you'd then use -I=/usr/myheaders/include to reference the sysroot
## And you'd then use -I=/usr/myheaders/include to reference the sysroot
## copy of those headers.
## copy of those headers.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment