-# Raspberry Pi Model B
-$(eval $(call add_bcm2708,RaspberryPi,rpi-b,bcm2708-rpi-b))
-# Raspberry Pi Model B+
-$(eval $(call add_bcm2708,RaspberryPi,rpi-b-plus,bcm2708-rpi-b-plus))
-# Raspberry Pi 2 Model B
-$(eval $(call add_bcm2708,RaspberryPi2,rpi-2-b,bcm2709-rpi-2-b))
+### BCM2708/BCM2835 ###
+ifeq ($(SUBTARGET),bcm2708)
+ # Raspberry Pi Models B/B+/CM
+ $(eval $(call bcm27xx,RaspberryPi,rpi,bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-cm))
+endif
+
+### BCM2709/BCM2836 ###
+ifeq ($(SUBTARGET),bcm2709)
+ # Raspberry Pi 2 Model B
+ $(eval $(call bcm27xx,RaspberryPi_2,rpi-2,bcm2709-rpi-2-b))
+endif
+
+### BCM2710/BCM2837 ###
+ifeq ($(SUBTARGET),bcm2710)
+ # Raspberry Pi 3 Model B
+ $(eval $(call bcm27xx,RaspberryPi_3,rpi-3,bcm2710-rpi-3-b))
+endif