TORCH is a novel time-of-flight detector, designed to provide $\pi$/K particle identification up to 10 GeV/$c$ momentum over a 10 m flight path. Based on the DIRC principle, Cherenkov photons are produced in a quartz plate of 10 mm thickness, where they propagate to the periphery of the plate by total-internal reflection. There the photons are focused onto an array of micro-channel plate photomultipliers (MCP-PMTs) which measure their arrival times and spatial positions. A time resolution of 70 ps per detected Cherenkov photon is expected, which results in a time-of-flight resolution of 15 ps, given typically 30 detected photons per track. To demonstrate the principle, a half-scale ($660\times1250\times10$ mm$^3$) TORCH prototype module has been tested in a 5 GeV/$c$ mixed proton-pion beam at the CERN PS. Customised $53\times53$ mm$^2$ MCP-PMTs of effective granularity $128\times8$ pixels have been employed, which have been developed in collaboration with an industrial partner. The single-photon timing performance and photon yields have been measured and are close to specification, demonstrating the TORCH concept. For a future application, a full-scale TORCH detector has been proposed for the LHCb Phase II Upgrade, which comprises 18 modules with 198 MCP-PMTs. Results will be reported on the simulated performance of the detector for high luminosity LHCb running in terms of $\pi$/K/p discrimination.