I have figured this out, for reference should anyone else need this:-
uint32_t read_adc()
{
lpadc_conv_result_t config;
LPADC_DoSoftwareTrigger(ADC0, 1); //trigger ADC read
while (!LPADC_GetConvResult(ADC0, &config, 0U)){}; //wait for result
return (uint32_t) config.convValue; //return data
}