/*
 * Copyright (c) 2022 STMicroelectronics
 *
 * SPDX-License-Identifier: Apache-2.0
 */

&lpuart1 {
	/delete-property/ hw-flow-control;
	dmas = <&dmamux1 0 17 0x20440
		&dmamux1 1 16 0x20480>;
	dma-names = "tx", "rx";
};

&dma1 {
	status = "okay";
};

&dma2 {
	status = "okay";
};

&dmamux1 {
	status = "okay";
};
