diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf
index 26cbb4b5..56ca392b 100644
--- a/meta-ti-bsp/conf/layer.conf
+++ b/meta-ti-bsp/conf/layer.conf
@@ -18,6 +18,10 @@ LAYERDEPENDS_meta-ti-bsp = " \
     meta-arm \
 "
 
+BBFILES_DYNAMIC += " \
+    clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/recipes*/*/*.bbappend \
+"
+
 SIGGEN_EXCLUDERECIPES_ABISAFE += " \
     mesa-pvr \
 "
diff --git a/meta-ti-bsp/dynamic-layers/clang-layer/recipes-graphics/mesa/mesa-pvr_%.bbappend b/meta-ti-bsp/dynamic-layers/clang-layer/recipes-graphics/mesa/mesa-pvr_%.bbappend
new file mode 100644
index 00000000..7e5c36fd
--- /dev/null
+++ b/meta-ti-bsp/dynamic-layers/clang-layer/recipes-graphics/mesa/mesa-pvr_%.bbappend
@@ -0,0 +1,14 @@
+# This is a copy of meta-clang/recipes-graphics/mesa/mesa_%.bbappend required
+# for llvmpipe when using pvr-mesa since we aren't caught by that glob.
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+LDFLAGS:append:toolchain-clang = " -latomic -lm"
+DEPENDS:append:toolchain-clang = " libatomic-ops"
+
+EXTRA_OEMASON:append:toolchain-clang:x86 = " -Dasm=false"
+EXTRA_OEMASON:append:toolchain-clang:x86-64 = " -Dasm=false"
+
+export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-config"
+
+PACKAGECONFIG[gallium-llvm] = "-Dllvm=true -Dshared-llvm=true -Ddraw-use-llvm=true,-Dllvm=false,clang clang-native elfutils"
