diff --git a/device/device-htc-ville/APKBUILD b/device/device-htc-ville/APKBUILD
index 3c4bfad43aaf80fc6ff454a017d9891d40f4e456..7706f676460c94e5c9d215a4400235f9d293eb82 100644
--- a/device/device-htc-ville/APKBUILD
+++ b/device/device-htc-ville/APKBUILD
@@ -9,6 +9,7 @@ arch="armhf"
 options="!check !archcheck"
 depends="postmarketos-base linux-htc-ville mkbootimg mesa-dri-swrast msm-fb-refresher"
 makedepends="devicepkg-dev"
+subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
 source="deviceinfo"
 
 build() {
@@ -19,5 +20,11 @@ package() {
 	devicepkg_package $startdir $pkgname
 }
 
+nonfree_firmware() {
+        pkgdesc="All non-free firmwares from a device image. Includes firmware for wifi, modem and camera among others."
+        depends="firmware-htc-ville"
+        mkdir "$subpkgdir"
+}
+
 
-sha512sums="eae3c4526dc64279882977c1cc0fa7b28fe7dae3fac2ac069b3b5ce04b93503cb19a073a8c40413b49e5eb0ab55f87bd2d61007840ffa500425e6f9fd5838d5b  deviceinfo"
+sha512sums="287101068defb7417227ec564eecd9b708c84369edc9002d87d4e4910517853e88e2024d6d6dfe72d3a6e93a8cefe087967d1f818d7daa9296bbcbfeb491d437  deviceinfo"
diff --git a/firmware/firmware-htc-ville/APKBUILD b/firmware/firmware-htc-ville/APKBUILD
new file mode 100644
index 0000000000000000000000000000000000000000..5b49f219c32c9e7bcf62e94679e039f1a40100e9
--- /dev/null
+++ b/firmware/firmware-htc-ville/APKBUILD
@@ -0,0 +1,24 @@
+pkgname=firmware-htc-ville
+pkgver=1
+pkgrel=0
+pkgdesc="Firmware files for HTC One S (htc-ville)"
+url="https://postmarketos.org"
+arch="armhf"
+license="proprietary"
+depends="wcnss-wlan"
+options="!check !strip !archcheck"
+
+# source
+_commit="264fdb3e9e01c85baa487b057b149262e2df9310"
+_repo="android_vendor_htc_ville"
+_url="https://github.com/UISS-Dev-Team"
+source="$pkgname-$_commit.tar.gz::$_url/$_repo/archive/${_commit}.tar.gz"
+
+package() {
+	cd "$srcdir/$_repo-$_commit/proprietary/etc/firmware"
+	find -type f |
+	while read _i; do
+		install -D -m644 "$_i" "$pkgdir/lib/firmware/postmarketos/$_i"
+	done
+}
+sha512sums="0b03cea2effcdaa1b230e909152ea8fbe79ed3e25f70e22ec7d8797147ff2276958b328f438e49a66c07128f063477d1069e00f90a8fadd7946c58da6838d919  firmware-htc-ville-264fdb3e9e01c85baa487b057b149262e2df9310.tar.gz"