diff --git a/drivers/usb/gadget/lpc32xx_udc.c b/drivers/usb/gadget/lpc32xx_udc.c
index 049ebab..842ddfc 100644
--- a/drivers/usb/gadget/lpc32xx_udc.c
+++ b/drivers/usb/gadget/lpc32xx_udc.c
@@ -2590,6 +2590,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep0",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_control = true,
 		},
 		.maxpacket	= 64,
 		.hwep_num_base	= 0,
@@ -2601,6 +2604,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep1-int",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_interrupt = true,
 		},
 		.maxpacket	= 64,
 		.hwep_num_base	= 2,
@@ -2612,6 +2618,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep2-bulk",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_bulk = true,
 		},
 		.maxpacket	= 64,
 		.hwep_num_base	= 4,
@@ -2623,6 +2632,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep3-iso",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_isochronous = true,
 		},
 		.maxpacket	= 1023,
 		.hwep_num_base	= 6,
@@ -2634,6 +2646,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep4-int",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_interrupt = true,
 		},
 		.maxpacket	= 64,
 		.hwep_num_base	= 8,
@@ -2645,6 +2660,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep5-bulk",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_bulk = true,
 		},
 		.maxpacket	= 64,
 		.hwep_num_base	= 10,
@@ -2656,6 +2674,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep6-iso",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_isochronous = true,
 		},
 		.maxpacket	= 1023,
 		.hwep_num_base	= 12,
@@ -2667,6 +2688,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep7-int",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_interrupt = true,
 		},
 		.maxpacket	= 64,
 		.hwep_num_base	= 14,
@@ -2678,6 +2702,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep8-bulk",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_bulk = true,
 		},
 		.maxpacket	= 64,
 		.hwep_num_base	= 16,
@@ -2689,6 +2716,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep9-iso",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_isochronous = true,
 		},
 		.maxpacket	= 1023,
 		.hwep_num_base	= 18,
@@ -2700,6 +2730,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep10-int",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_interrupt = true,
 		},
 		.maxpacket	= 64,
 		.hwep_num_base	= 20,
@@ -2711,6 +2744,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep11-bulk",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_bulk = true,
 		},
 		.maxpacket	= 64,
 		.hwep_num_base	= 22,
@@ -2722,6 +2758,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep12-iso",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_isochronous = true,
 		},
 		.maxpacket	= 1023,
 		.hwep_num_base	= 24,
@@ -2733,6 +2772,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep13-int",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_interrupt = true,
 		},
 		.maxpacket	= 64,
 		.hwep_num_base	= 26,
@@ -2744,6 +2786,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep14-bulk",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_bulk = true,
 		},
 		.maxpacket	= 64,
 		.hwep_num_base	= 28,
@@ -2755,6 +2800,9 @@ static const struct lpc32xx_udc controller_template = {
 		.ep = {
 			.name	= "ep15-bulk",
 			.ops	= &lpc32xx_ep_ops,
+			.has_dir_in = true,
+			.has_dir_out = true,
+			.has_bulk = true,
 		},
 		.maxpacket	= 1023,
 		.hwep_num_base	= 30,
