For cake:
Preheat oven to 350°F.
Butter two 9-inch-diameter cake pans. Line bottom of pans with waxed paper. Butter and flour paper; tap out excess flour.
Whisk flour, baking soda, salt and cinnamon in medium bowl to blend.
Whisk sugar and oil in large bowl until well blended. Whisk in eggs 1 at a time. Add flour mixture and stir until blended.
Stir in carrots, walnuts (I leave the walnuts out, we aren't big fans) and ginger.
Divide batter between prepared pans. Bake cakes until tester inserted into center comes out clean, about 40 minutes. Cool cakes in pans 15 minutes. Turn out onto racks. Peel off waxed paper; cool cakes completely.
For icing:
Using electric mixer, beat cream cheese and butter in large bowl until light and fluffy. Add powdered sugar and beat at low speed until well blended. Beat in maple syrup. Chill until just firm enough to spread, 30 minutes.
Place 1 cake layer on platter. Spread with 3/4 cup icing. Top with second layer. Spread remaining icing over entire cake. Arrange walnut halves around top edge. (Can be made 1 day ahead. Cover with cake dome; chill. Let stand at room temperature 30 minutes before serving.
I made this cake the day before and then froze it in saran wrap. This let all the flavors get happy overnight and it made it much easier to cut into more layers for a taller more impressive looking cake slice.
After filling between the layers with frosting I put the cake in the freezer to harden it up a little bit so it would be easier to frost the outside layer.