Try this when he's calm...

"When you start yelling me when we're talking, it makes me feel like you don't care what I think. I want to understand what you're saying and feeling, and to do so, you need to speak to me without yelling. Otherwise I won't listen to what you say."

Then the next time he starts to yell, just walk. You need to keep enforcing the boundary until he learns to act like a grown up.