To make the cupcakes: Preheat oven to 350 degrees. Line a standard muffin pan with 12 paper liners. Whisk both flours in a medium bowl. Beat butter in a large bowl until smooth. Add sugar; beat to blend. Beat in eggs 1 at a time, then next 3 ingredients (batter may look curdled). Beat in flour in 3 additions, alternately with buttermilk in 2 additions. Spoon scant 1/3 cup batter into each liner.
Bake cupcakes until tester inserted in center comes out clean, 20-25 minutes. Cool 10 minutes. Remove from pan; cool.
To Make the frosting: Beat all ingredients together in a medium bowl until smooth.