The drive also must use RLL encoding (MFM is not supported).
You don't really need a RLL drive, most MFM drives should work just fine. Back in the old days I've used plenty of MFM drives with RLL controllers, which also gave you the advantage of increasing the drive's capacity by (if I remember correctly) 50%.
With MFM/RLL, the drives are relatively dumb devices anyways, the encoding is fully determined by the controller.
Just make sure you low-level format the hard disk, which you should do anyways no matter if you use a MFM or RLL drive. This can be done with some low level format utility which came with the controller, or by booting MS DOS and starting debug and then entering:
g=c800:5which should start the low level format routine built into the controller BIOS.
In addition, just be aware that the Amstrad PC1512 and PC1640 are not 100% XT compatible, which in those days caused me some issues with certain hard disk controller BIOSes.
BTW: if you want to avoid MFM alltogether then search for a Seagate ST-01 or ST-02 hard disk controller which is an ISA 8bit SCSI controller with BIOS. This allows you to use a cheap SCSI hard disk in your PC1512. The difference between ST-01 and ST-02 is that the latter also has a floppy controller but that shouldn't matter.