diff --git a/recipes-kernel/linux/linux-xilinx.inc b/recipes-kernel/linux/linux-xilinx.inc
new file mode 100644
index 0000000..0b92d0e
--- /dev/null
+++ b/recipes-kernel/linux/linux-xilinx.inc
@@ -0,0 +1,16 @@
+DESCRIPTION = "Linux kernel for Xilinx platforms"
+SECTION = "kernel"
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
+PROVIDES += "virtual/kernel"
+
+KBRANCH ?= "master"
+
+# Pick up shared functions
+require recipes-kernel/linux/linux-dtb.inc
+
+S = "${WORKDIR}/git"
+
+# extra tasks
diff --git a/recipes-kernel/linux/linux-xilinx_git.bb b/recipes-kernel/linux/linux-xilinx_git.bb
index 845a1b3..0f53de7 100644
--- a/recipes-kernel/linux/linux-xilinx_git.bb
+++ b/recipes-kernel/linux/linux-xilinx_git.bb
@@ -1,20 +1,21 @@
 inherit kernel xilinx-kernel xilinx-utils
-require recipes-kernel/linux/linux-dtb.inc
+require recipes-kernel/linux/linux-xilinx.inc
 
-DESCRIPTION = "Linux kernel for Xilinx platforms"
-COMPATIBLE_MACHINE = "(virtex4|virtex5|virtex5mb|spartan6-sp605|spartan6-lx9mb)"
+DEFAULT_PREFERENCE = "1"
+
+KBRANCH = "master"
 
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+LINUX_VERSION ?= "3.3.0"
+SRCREV_pn-${PN} = "ed63a4d76efadcb68f5776e4244766ffea226cc4"
 
-PR = "r16"
-LINUX_VERSION = "2.6.37.1"
-PV = "${LINUX_VERSION}+git${SRCPV}"
-SRC_URI = "git://git.xilinx.com/linux-xlnx.git;protocol=git \
+PR = "r17"
+PV = "${LINUX_VERSION}+git-${SRCREV}"
+
+SRC_URI = "git://git.xilinx.com/linux-xlnx.git;protocol=git;branch=${KBRANCH} \
            file://defconfig"
 
 XILINX_BOARD ?= "${@find_board(bb.data.getVar('XILINX_BSP_PATH', d, 1), d)}"
 KERNEL_DEVICETREE = "${@device_tree(bb.data.getVar('TARGET_ARCH', d, 1), d)}"
 KERNEL_DEVICETREE_microblazeel = "${@device_tree(bb.data.getVar('TARGET_CPU', d, 1), d)}"
 
-S = "${WORKDIR}/git"
+COMPATIBLE_MACHINE = "(virtex4|virtex5|virtex5mb|spartan6-sp605|spartan6-lx9mb)"
